MCPInstall

planning

Implementation planning skill. Creates detailed technical plans through interactive research and iteration.

Installs
317
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 planning
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads planning automatically when relevant.

  3. 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.

Planning

You create detailed implementation plans through an interactive, iterative process. Be skeptical, thorough, collaborative.

Setup (before starting)

  1. Autonomy Mode — passed by the invoking command; default to Critical if unspecified.

    ModeBehavior
    AutopilotResearch independently, write the full plan, present for final review only
    Critical (Default)After each research step, ask clarifying questions before drafting; surface design options at decision points
    VerboseCheck in at every sub-step: validate understanding, confirm scope, surface unknowns, confirm before each phase
  2. Commit preference & orchestration — unless Autopilot, ask once via AskUserQuestion (bundle both questions in one call; drop the second when the Workflow tool is not available in the session):

    QuestionOptions
    "Create a commit after each phase once manual verification passes?"1. Yes (Recommended), 2. No, I'll handle commits
    "Run the research spikes as Workflow scripts? (more parallel agents, higher token use)"1. Yes — Workflow fan-out, 2. No — plain sub-agents (Default)

    A "yes" on the second question is the explicit opt-in the Workflow tool requires. In Autopilot (no questions asked), default to plain sub-agents.

  3. Prior learnings — OPTIONAL SUB-SKILL: if ~/.agentic-learnings.json exists, run /learning recall <topic> first.

  4. Design docs (read-and-abide) — if a design doc exists for the touched system (thoughts/*/design-docs/<system-slug>.md), read it before researching: use its Glossary terms in the plan, don't violate its Invariants or Boundaries, and flag conflicts to the user as explicit decisions instead of silently planning around them. If the plan intentionally changes the design, updating the doc (Decision log + Amendment log) is a plan step. See desplega:design-docs.

The 10 Rules

  1. Scaffold first — before any research, exit plan mode and create thoughts/<username|shared>/plans/YYYY-MM-DD-description.md from cc-plugin/base/skills/planning/template.md. (Use the user's name when known, e.g. taras; fall back to thoughts/shared/ otherwise.) The file grows incrementally; the user can correct course early.

  2. Sub-agent everything heavy — file reads, research, validation. Default to 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), context7 MCP (library/framework specifics), Explore or general-purpose (read mentioned files). Executor routing: if desplega:delegate-work is available, pick each sub-agent's model per its matrix (locate → Haiku, analyze → Sonnet) instead of spawning on defaults. If Workflow fan-out was opted in during Setup, run each section's research spike as a Workflow script (model/effort/agentType opts per the same matrix) — the plan drafting itself always stays in the main session.

  3. Ask via AskUserQuestion — see desplega:ask-user for conventions. Never ask in chat as plain bullets.

  4. Ask after each step (Critical/Verbose), then loop — work the plan section by section: Current State Analysis → Implementation Approach → Phase Outline → Phase Details. For each section: spawn sub-agents → synthesize findings (with file:line refs) → ask gaps via AskUserQuestion → draft → next section. Assumed inputs are the #1 source of bad plans.

  5. Concrete deliverable per phase — every phase Overview names what file/feature/output exists when it's done. "Improve X", "refactor Y" are smells.

  6. 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. A separate ### QA Spec (optional): linking to a desplega:qa doc is reserved for cross-cutting or evidence-heavy QA — not for routine per-phase checks.

  7. Propose splitting — when a phase has >4 sub-steps or >2 distinct concerns, split it. When the plan won't fit one implementation session, split it into multiple smaller plans (e.g., contract → storage → UI). The inverse also holds: if the whole task fits in ~1–3 phases inside one subsystem, suggest /one-shot (desplega:one-shot) instead of a full plan.

  8. Push back with radical candor — use desplega:feedback when the plan is too big, vague, mixes concerns, or has obvious risks. Over-engineering counts: run proposed abstractions, layers, and new dependencies against desplega:engineering-standards (deletion test, two-adapters rule, new-dependency test) and challenge failures per its Pushback protocol — concretely, with the simpler alternative sketched. Silence is Ruinous Empathy.

  9. Validate structure with a Haiku sub-agent before showing the plan (general-purpose with model: haiku). Verify: every phase has all three Success Criteria subsections, all items use - [ ], automated checks are runnable commands, referenced paths exist. Apply fixes before reveal.

  10. Hand off to a fresh session — never implement here. Close-out sequence:

    1. Open /file-review:file-review <plan-path> (unless Autopilot); iterate on comments.

    2. Optionally invoke desplega:reviewing for gap analysis (offer via AskUserQuestion).

    3. OPTIONAL SUB-SKILL: if significant insights emerged, capture via /learning capture.

    4. If any phase has a ### QA Spec (optional): block, generate the QA doc via desplega:qa before handoff (thoughts/<username|shared>/qa/YYYY-MM-DD-[feature].md). Scenarios live in the doc, not the plan.

    5. Ask the user via AskUserQuestion:

      QuestionOptions
      "Plan ready. What's next?"1. Implement in a fresh session, 2. Run /review first, 3. Done for now (park the plan)
    6. Tell them explicitly: "Open a new Claude Code session and run /desplega:implement-plan <path>. Starting fresh keeps the implementation context clean."

Commit Integration

If commit-per-phase was enabled in Setup:

  • After each phase's manual verification passes, commit with format [phase 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 lives in cc-plugin/base/skills/planning/template.md. Structure validation runs automatically (rule 9, Haiku sub-agent).

FAQ

What does the planning skill do?

Implementation planning skill. Creates detailed technical plans through interactive research and iteration.

How do I install planning?

Run npx skills add https://github.com/desplega-ai/ai-toolbox --skill 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/planning/ (personal) or .claude/skills/planning/ (project).

Which AI agents can use 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 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 planning?

It is published by desplega-ai in desplega-ai/ai-toolbox. It has 317 recorded installs.

More from desplega-ai/ai-toolbox

View all →

researching

desplega-ai/ai-toolbox

Comprehensive codebase research skill. Documents codebase as-is by spawning parallel sub-agents and synthesizing findings into research documents.

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.

AI & Agents284 installs

qa

desplega-ai/ai-toolbox

Functional validation skill. Captures test evidence (screenshots, recordings, links) and produces QA reports in thoughts//qa/.

Testing & QA281 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

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.