src/autoskillit/skills_extended/planner-generate-phases/SKILL.md
Generate high-level phases from project analysis (Pass 1 entry point)
npx skillsauth add talont-org/autoskillit planner-generate-phasesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Pass 1 entry point. Read the analysis file (and optionally domain knowledge) and produce
phase definitions in a single session. The number of phases is determined entirely by the
task — each phase is an independently verifiable checkpoint. Write all phase results and
a fully-done phase_manifest.json in one shot.
planner-analyze (and optionally planner-extract-domain) have completedanalysis.json produced by planner-analyzedomain_knowledge.md produced by planner-extract-domainNEVER:
$(dirname $1)/phases/$(dirname $1) or the project's git-tracked source tree$(dirname $1) (e.g., ls $(dirname $1)/..){{AUTOSKILLIT_TEMP}} artifacts from other planner runs or pipeline steps$3 is empty or the file does not exist, STOP immediately and report failure. Do not attempt to infer the task from the codebase, GitHub issues, or any other source.ALWAYS:
$(dirname $1)/phases/{phase_id}_result.json for every phase$(dirname $1)/phases/phase_manifest.json with every item status=doneordering values starting at 1phase_manifest_path = <absolute path to phase_manifest.json>; also emit phase_count and phase_idsRead the task description from the file at $3. This is the user's statement of what
they want planned. Every generated phase MUST serve this task.
Do not generate phases for work not described in the task. If the task asks for specific
deliverables (e.g., "split research.yaml into 4 sub-recipes"), the phases should decompose
that work — not decompose the codebase into architectural layers.
Read analysis.json from argument $1. If $2 is provided and the file exists, read
domain_knowledge.md from $2. Use the domain vocabulary and patterns to inform phase naming
and scope.
Decompose the implementation work into phases. A phase is an independently verifiable checkpoint — a coherent set of features whose functionality can be fully tested once implemented. Draw phase boundaries wherever you can stop and validate that everything up to that point works.
Phases should be:
The number of phases is determined by the task:
Do NOT provide yourself with concrete domain examples of phase decomposition. Concrete examples anchor the decomposition pattern regardless of the actual task (pink elephant effect). Derive phase names and boundaries from the task description and codebase analysis.
For each phase, generate:
id: Sequential P{N} identifier (P1, P2, ...)name: Short, descriptive phase namegoal: One-sentence statement of what the phase achievesscope: Array of domain areas or component names coveredordering: Integer sequence position (1-based)relationship_notes: Description of dependencies on prior phases ("Foundation phase — no prior dependencies" for P1)assignments_preview: Array of 2–5 short strings naming likely assignments within this phaseFor each phase, write to $(dirname $1)/phases/{phase_id}_result.json:
{
"id": "P1",
"name": "<descriptive phase name derived from task>",
"goal": "<one-sentence statement of what this phase achieves>",
"scope": ["<component-a>", "<component-b>"],
"ordering": 1,
"relationship_notes": "Foundation phase — no prior dependencies",
"assignments_preview": ["<assignment-1>", "<assignment-2>", "<assignment-3>"]
}
The backend derives two additional fields at load time — do not write them:
phase_number (integer): derived from orderingname_slug (string): derived by slugifying name (e.g., "Component Setup" → "component-setup")Write $(dirname $1)/phases/phase_manifest.json. Set every item's status to
done (Pass 1 is coarse-grained enough to resolve in one shot; the elaborate loop exists
only as a fallback). Set result_path to the absolute path of the corresponding result file.
Manifest structure:
{
"pass_name": "phases",
"created_at": "<ISO8601 timestamp>",
"items": [
{
"id": "P1",
"name": "<phase name>",
"status": "done",
"result_path": "<absolute_path>/phases/P1_result.json",
"metadata": {"ordering": 1}
}
]
}
phase_manifest_path = <absolute path to phase_manifest.json>
phase_count = <N>
phase_ids = <comma-separated list of phase IDs, e.g. P1,P2,P3>
development
Generate YAML recipes for .autoskillit/recipes/. Use when user says "make script skill", "generate script", "script a workflow", "write a script", "create a script", "new recipe", "write a pipeline", or when loaded by other skills for script formatting.
data-ai
Create Uncertainty Representation visualization planning spec showing error bar definitions, distribution-aware alternatives, and multi-seed variance protocols. Statistical lens answering "How is uncertainty honestly represented?"
data-ai
Create Temporal Dynamics visualization planning spec showing axis scaling (linear vs log), smoothing disclosure, epoch/step alignment, run aggregation (mean + variance bands), early-stopping markers, and wall-clock vs step-count x-axis. Temporal lens answering "Are training dynamics shown clearly and honestly?"
data-ai
Create Narrative Story Arc visualization planning spec showing visual consistency across the report (same color = same model everywhere), logical figure progression, redundant figure detection, and narrative dependency between figures. Narrative lens answering "Do the figures tell a coherent story across the report?"