
v-planning
Vertical / parallel implementation planning skill. Creates DAG-structured plan directories where each step is an independent, QA-able vertical slice that sub-agents can pick up and implement in parallel. Use whenever the user wants a plan that fans out (multiple independent features), invokes /v-plan, or asks for a "parallel plan", "DAG plan", "vertical plan", or "plan that can be parallelized" — even if they don't say those exact words. Prefer the linear planning skill for strictly sequential work.
- Installs
- 274
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/desplega-ai/ai-toolbox --skill v-planning- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads v-planning automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
v-planning
You create implementation plans as a DAG of vertical steps — each step a complete, QA-able slice of value (DB + API + UI + tests for one feature). The DAG captures feature-level dependencies, so independent steps can be implemented in parallel by sub-agents.
Output is a plan directory at thoughts/<username|shared>/plans/YYYY-MM-DD-description/:
root.md # Overview, mermaid DAG, step index, Global Verification
step-1.md # frontmatter (id, name, depends_on) + Success Criteria
step-2.md
└── step-N.md
Setup (before starting)
-
Autonomy Mode — passed by the invoking command; default to Critical if unspecified.
Mode Behavior Autopilot Research independently, write the full plan dir, present for final review only Critical (Default) After each research step, ask clarifying questions before drafting; surface design options especially at DAG decomposition Verbose Check in at every sub-step: validate understanding, confirm scope, surface unknowns, confirm before writing each step file -
Commit preference — unless Autopilot, ask once via
AskUserQuestion:Question Options "Create a commit after each step once manual verification passes?" 1. Yes (Recommended), 2. No, I'll handle commits -
Prior learnings — OPTIONAL SUB-SKILL: if
~/.agentic-learnings.jsonexists, run/learning recall <topic>first.
The 10 Rules
-
Scaffold first — before any research, exit plan mode and create the plan directory with
root.mdfromcc-plugin/base/skills/v-planning/templates/root.md. (Use the user's name when known, e.g.taras; fall back tothoughts/shared/otherwise.) Step files are added as the DAG emerges in rule 4. The directory grows incrementally; the user can correct course early. -
Sub-agent everything heavy — file reads, research, validation. Default
run_in_background: true. Keep raw tool output out of the main session. Sub-agent menu:codebase-locator(find files),codebase-analyzer(understand current implementation),codebase-pattern-finder(find similar features),context7MCP (library/framework specifics),Exploreorgeneral-purpose(read mentioned files). -
Ask via
AskUserQuestion— seedesplega:ask-userfor conventions. Never ask in chat as plain bullets. -
Ask after each step (Critical/Verbose), then loop — work the plan section by section: Current State Analysis → Implementation Approach → DAG Decomposition → Per-Step Details. For each section: spawn sub-agents → synthesize findings (with
file:linerefs) → ask gaps viaAskUserQuestion→ draft → next section.- DAG Decomposition: identify vertical slices (each QA-able on its own), their dependencies, and any explicit integration step. Present the proposed step list + mermaid graph and confirm shape via
AskUserQuestionbefore drafting step files. - Per-Step Details: create each
step-<n>.mdfromcc-plugin/base/skills/v-planning/templates/step.md. Frontmatterdepends_on: [step-X, ...]is canonical;root.md's mermaid graph + step-index table is a derived view — keep them in sync.
- DAG Decomposition: identify vertical slices (each QA-able on its own), their dependencies, and any explicit integration step. Present the proposed step list + mermaid graph and confirm shape via
-
Concrete deliverable per step (vertical slice) — every step's Overview names what file/feature/output exists when it's done. Each step must be QA-able on its own. Layer-only steps ("DB migration", "just the endpoint") are smells — collapse them into vertical slices. "Improve X" and "refactor Y" are also smells.
-
Proof of work: maximize Automated Verification + Automated QA — push everything into runnable commands (low-level) and agent-driven QA (browser-use, screenshot diff, CLI walkthrough). Manual Verification is the exception. Each step has its own Success Criteria block;
root.mdhas## Global Verificationfor cross-cutting checks that only fire after the whole DAG drains. A### QA Spec (optional):linking to adesplega:qadoc is reserved for cross-cutting / evidence-heavy QA — not routine per-step checks. -
Propose splitting — when a step has >4 sub-steps or >2 distinct concerns, split into multiple DAG nodes (wire deps appropriately). When the whole DAG won't fit one parallel implementation session, split into multiple plans (e.g., contract → storage → UI). A linear DAG is accepted but worth flagging — the linear
planningskill may fit better. -
Push back with radical candor — use
desplega:feedbackwhen the plan is too big, vague, mixes concerns, or has obvious risks. Silence is Ruinous Empathy. -
Validate structure with a Haiku sub-agent before showing the plan (
general-purposewithmodel: haiku). Verify: everystep-<n>.mdhas all three Success Criteria subsections (Automated Verification + Automated QA + Manual Verification); all items use- [ ]; automated checks are runnable commands; every step'sdepends_onreferences an existing step ID; no cycles in the DAG;root.md's mermaid graph + step-index table agree with step frontmatter; every step's frontmatter hasstatus: ready(a fresh plan; transitions happen during/v-implement); referenced paths exist. Apply fixes before reveal. -
Hand off to a fresh session — never implement here. Close-out:
-
Open
/file-review:file-review <plan-dir>/root.md(unless Autopilot); iterate on comments. Re-open with individualstep-<n>.mdfiles if needed. -
Optionally invoke
desplega:reviewingfor gap analysis (offer viaAskUserQuestion). -
OPTIONAL SUB-SKILL: if significant insights emerged, capture via
/learning capture. -
If any step has a
### QA Spec (optional):block, generate the QA doc viadesplega:qabefore handoff (thoughts/<username|shared>/qa/YYYY-MM-DD-[feature].md). Scenarios live in the doc, not the plan. -
Ask via
AskUserQuestion:Question Options "Plan ready. What's next?" 1. Implement in a fresh session, 2. Run /reviewfirst, 3. Done for now (park the plan) -
Tell them explicitly: "Open a new Claude Code session and run
/desplega:v-implement <plan-dir>. Starting fresh keeps the implementation context clean."
-
DAG Specifics
- Frontmatter is canonical for deps.
root.md's mermaid graph is derived. If they disagree, frontmatter wins. - Self-contained steps. A sub-agent handed only one
step-<n>.md(plus plan-level context fromroot.md) should be able to implement it without reading sibling steps. - Frontmatter carries execution state. Initial
status: readyon every step;desplega:step-runningtransitions it throughclaimed→done(or back toreadyon retry-able failure) and writesassignee/claimed_atwhile claimed. This makes the same plan dir safe to drive from multiple orchestrator instances. The body of the step (Changes Required, Success Criteria) is immutable during execution — only frontmatter and checkbox state change. - Integration steps are explicit when needed. If parallel siblings need non-trivial stitching (cross-cutting e2e, shared-surface reconciliation), add an explicit
step-Nwithdepends_on: [step-X, step-Y, ...]whose work is "stitch + e2e". Otherwise the DAG just terminates at its leaves.
Commit Integration
If commit-per-step was enabled in Setup:
- After each step's manual verification passes, commit with format
[step-N] <brief description>. - Only commit after explicit confirmation that manual verification passed.
- Otherwise, skip — the user handles commits.
Success Criteria Format (MANDATORY)
Canonical format and heading hierarchy live in:
cc-plugin/base/skills/v-planning/templates/root.md(## Global Verification)cc-plugin/base/skills/v-planning/templates/step.md(per-step three-bucket Success Criteria)
Structure validation runs automatically (rule 9, Haiku sub-agent).
FAQ
What does the v-planning skill do?
Vertical / parallel implementation planning skill. Creates DAG-structured plan directories where each step is an independent, QA-able vertical slice that sub-agents can pick up and implement in parallel. Use whenever the user wants a plan that fans out (multiple independent features), invokes /v-plan, or asks for a "parallel plan", "DAG plan", "vertical plan", or "plan that can be parallelized" — even if they don't say those exact words. Prefer the linear planning skill for strictly sequential work.
How do I install v-planning?
Run npx skills add https://github.com/desplega-ai/ai-toolbox --skill v-planning in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/v-planning/ (personal) or .claude/skills/v-planning/ (project).
Which AI agents can use v-planning?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is v-planning safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains v-planning?
It is published by desplega-ai in desplega-ai/ai-toolbox. It has 274 recorded installs.
More from desplega-ai/ai-toolbox
researching
desplega-ai/ai-toolbox
Comprehensive codebase research skill. Documents codebase as-is by spawning parallel sub-agents and synthesizing findings into research documents.
planning
desplega-ai/ai-toolbox
Open the skill to read its SKILL.md instructions.
tdd-planning
desplega-ai/ai-toolbox
TDD-focused implementation planning. Creates plans with strict Red-Green-Commit/Rollback cycles for each step.
implementing
desplega-ai/ai-toolbox
Plan implementation skill. Executes approved technical plans phase by phase with verification checkpoints.
wts-expert
desplega-ai/ai-toolbox
Git worktree management expert for @desplega.ai/wts. Use when the user asks about git worktrees, wts commands, worktree workflows, or wants help managing multiple branches simultaneously.
ask-user
desplega-ai/ai-toolbox
Conventions for asking the user questions during a workflow via the AskUserQuestion tool. Other skills reference this to keep prompts consistent and structured.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.