"Plan meta-orchestrator. Runs productReview + archReview + planDesignReview + planDevexReview + cso(plan) in parallel via subagents and consolidates findings with cross-lens tension surfacing."
Install
npx skillscat add jthorare/agentic-workflow/autoplan Install via the SkillsCat registry.
Autoplan — Plan Meta-Orchestrator
Fans out five review lenses in parallel against a plan document, then consolidates findings into a single decision-ready report.
Before anything else: read $HOME/.agentic-workflow/toolkit/skills/_preamble.md and follow it (skill index, provider capability map, bootstrap check, session context). Run its Session Close section when this skill finishes.
Overview
Dispatches five subagents in parallel — product, architecture, design, devex, security — each writing its own review file directly into the feature dir. After all return, consolidates: dedupes findings into one normalized severity table, surfaces cross-lens tensions (e.g., "product wants X but security blocks Y"), derives an overall verdict, recommends top 3 next actions. One command for full plan vetting.
Inputs
- Plan doc path (arg), OR auto-discover per
_shared/plan-discovery.md:
Resolve files inside the plan dir perSHARED_DIR="$HOME/.agentic-workflow/toolkit/skills/_shared" source "$SHARED_DIR/repo-slug.sh" PLAN_DIR=$(ls -1dt "$AW_DIR/plans/"*/ 2>/dev/null | head -1)_shared/plan-layout.md. If nothing is found, stop and ask the user for the plan path. --mode mvp|growth|scale|pivot(optional) — forwarded verbatim toproductReview(its default ismvp, which under-reviews growth/scale-stage plans).--slim(optional) — forwarded verbatim to every lens: write compact reviews (tables and verdict only, minimal prose).
Steps
Resolve the plan doc path via the Inputs block above. Derive
<feature>as the parent dir name of the plan.md. Compute the absolute feature dir path:$AW_DIR/plans/<feature>/.Dispatch in parallel 5 subagents per
_shared/parallel-dispatch.md(all five launched together — one batch, never sequential). Every agent receives the absolute plan.md path and an explicit--outputpath inside the feature dir — no agent invents its own output location, and nothing needs moving afterward. Append--slimto every invocation when given.productReviewagent → "Invoke theproductReviewskill with--plan <plan-path> --output <feature-dir>/product-review.md" — append--mode <mode>when--modewas given.archReviewagent → "Invoke thearchReviewskill with--plan <plan-path> --output <feature-dir>/arch-review.md."planDesignReviewagent → "Invoke theplanDesignReviewskill with--plan <plan-path> --output <feature-dir>/design-review.md."planDevexReviewagent → "Invoke theplanDevexReviewskill with--plan <plan-path> --output <feature-dir>/devex-review.md."cso --planagent → "Invoke thecsoskill with--plan <plan-path> --output <feature-dir>/security-review.md."
Existence-check before consolidation (per
_shared/parallel-dispatch.md). After all 5 agents return, verify each expected output exists and is non-empty:SHARED_DIR="$HOME/.agentic-workflow/toolkit/skills/_shared" source "$SHARED_DIR/repo-slug.sh" FEATURE_DIR="$AW_DIR/plans/<feature>" for f in product-review arch-review design-review devex-review security-review; do [ -s "$FEATURE_DIR/$f.md" ] && echo "OK: $f.md" || echo "MISSING OUTPUT: $f.md" doneA missing or empty output is a named failure: record it in the Lens status table and in the summary. Never fill in findings from memory for a lens whose file is missing.
Read every present review file. Fill the Lens status table from the Step 3 check output plus each file's own
verdict:line — never from memory.Consolidate: produce
plans/<feature>/consolidated-review.md:# Consolidated Plan Review — <feature> **Plan:** <relative path> **Reviewed:** <ISO date> **Lenses applied:** product · arch · design · devex · security ## Normalized findings <Schema per `_shared/severity.md`. Map each lens's vocabulary via its legacy table (P0→CRITICAL, P1→HIGH, etc.). Dedupe overlapping findings across lenses: keep one row, list every raising lens in the lens column. Empty ⇒ literal `None.`> | id | severity | lens | location | finding | recommended fix | |---|---|---|---|---|---| ## Top tensions (cross-lens) <Numbered list. Each item: short title, the lenses in tension, the two finding ids in tension, the trade-off, recommended resolution. Floor: at least 1 tension for every pair of lenses that both produced HIGH-or-worse findings. If a HIGH-producing pair genuinely has no tension, state it explicitly: "No tension between <lens A> and <lens B>: <reason>." An empty section without these statements is invalid.> ## Per-lens highlights ### Product - Top wins: <bullets> - Top gaps: <bullets> - File: `plans/<feature>/product-review.md` ### Architecture / Design / Devex / Security <same shape each> ## Recommended next actions 1. <action> — <why> — <which lens raised it> 2. <action> — <why> — <which lens raised it> 3. <action> — <why> — <which lens raised it> ## Lens status | Lens | File | Status | |---|---|---| | Product | product-review.md | ✓ / partial / MISSING — from Step 3 output | | Architecture | arch-review.md | … | | Design | design-review.md | … | | Devex | devex-review.md | … | | Security | security-review.md | … | ## Overall verdict <Rule-derived per `_shared/severity.md` (CD9) from the Normalized findings table — never judgment-called: any CRITICAL ⇒ BLOCKED; any HIGH ⇒ NEEDS_WORK; only MEDIUM/LOW or lenses skipped-with-reason ⇒ PASS. A MISSING lens caps the verdict at NEEDS_WORK. One sentence citing the driving finding ids, then end the file with the literal final line:> verdict: <PASS|NEEDS_WORK|BLOCKED>Print a short summary to stdout (5-line lens status table + overall verdict + top 3 next actions) so the user sees the result without opening the file.
Outputs
All under ~/.agentic-workflow/<repo-slug>/plans/<feature>/: product-review.md · arch-review.md · design-review.md · devex-review.md · security-review.md · consolidated-review.md
Next steps
- If the overall verdict is not BLOCKED —
/specToProvenPR <feature-dir>/plan.md— hand the vetted plan to staged implementation; the consolidated review and lens files ride along in the feature dir - If BLOCKED — address the CRITICAL findings (edit the plan or re-run
/officeHours), then re-run/autoplan /design-shotgun— if visual exploration is recommended by the design lens