src/autoskillit/skills_extended/planner-consolidate-wps/SKILL.md
Analyze WP complexity per phase and emit consolidation group manifests for trivial WP merging (L1+L0 pattern)
npx skillsauth add talont-org/autoskillit planner-consolidate-wpsInstall 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.
L1 session that analyzes WP complexity per phase and proposes consolidation groups
for trivial work packages. Dispatches one L0 subagent per phase in parallel. Each
L0 evaluates per-WP complexity, groups trivial WPs that share the same assignment
and have sequential ordering or a direct dependency chain, and writes a
{phase_id}_consolidation.json manifest. The L1 validates each response and writes
the manifest files to {planner_dir}/work_packages/consolidation/.
This is an analysis-only step: even if all L0s fail, the downstream
consolidate_wps_merge callable performs a no-op passthrough (no manifests = no
merging).
refine_wps, before consolidate_wps_mergerefined_wps.json (full WP set) and the planner run directory{phase_id}_consolidation.json filesrefined_wps.json (PlanDocument with work_packages: list[WPElaborated]){{AUTOSKILLIT_TEMP}}/planner/run-YYYYMMDD-HHMMSS)NEVER:
merged_id that is not one of the source_wp_ids$2/work_packages/consolidation/run_in_background: true is prohibited)ALWAYS:
$2/work_packages/consolidation/ before dispatching L0sconsolidation_manifest_dir = {planner_dir}/work_packages/consolidationRead $1 (refined_wps.json). Parse as a PlanDocument. Extract all WP entries from
work_packages[]. Fail immediately if the file is malformed:
FATAL: failed to parse {path}: {error_detail}
Group WPs by phase_id (always populated; read directly from the field).
Build a map phase_id → [WPElaborated, ...].
mkdir -p "$2/work_packages/consolidation"
For each phase, assemble a context packet containing:
phase_id — the phase being analyzedwps — the full list of WP objects in this phase (id, name, goal, technical_steps,
files_touched, deliverables, acceptance_criteria, depends_on, estimated_files, scope)all_wp_ids — WP IDs from every phase (for cross-phase dep awareness)If phase count ≤ 6: spawn all in one parallel batch. If phase count > 6: spawn sequential batches of 6.
Each L0 receives the phase context packet and must return structured text in this exact format:
phase_id = P1
groups = [
{
"merged_id": "P1-A1-WP1",
"source_wp_ids": ["P1-A1-WP1", "P1-A1-WP2"],
"merge_order": ["P1-A1-WP1", "P1-A1-WP2"],
"name": null,
"goal": null
},
{
"merged_id": "P1-A1-WP3",
"source_wp_ids": ["P1-A1-WP3"],
"merge_order": ["P1-A1-WP3"],
"name": null,
"goal": null
}
]
L0 grouping rules:
merged_id MUST be the lowest-numbered WP ID in the group (primary WP).merge_order defines the technical_steps concatenation order; typically
[primary, ...others_by_id_order].name and goal may be null (inherit from primary) or a short override string when
the merged purpose is clearly distinct from the primary WP's name.For each L0 response:
phase_id must be present and match the expected phase IDgroups must be a valid JSON arraysource_wp_idsmerged_id must be one of the source_wp_idsOn phase_id mismatch:
WARNING: L0 response phase_id mismatch — expected {expected}, got {actual} — skipping
On validation failure:
WARNING: L0 response for {phase_id} failed validation — skipping
On complete L0 failure:
CRITICAL: L0 for {phase_id} failed — no manifest written for this phase
For each validated L0 response, write the manifest file:
$2/work_packages/consolidation/{phase_id}_consolidation.json
Manifest format:
{
"phase_id": "P1",
"groups": [
{
"merged_id": "P1-A1-WP1",
"source_wp_ids": ["P1-A1-WP1", "P1-A1-WP2"],
"merge_order": ["P1-A1-WP1", "P1-A1-WP2"],
"name": null,
"goal": null
}
]
}
consolidation_manifest_dir = $2/work_packages/consolidation
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?"