planning-workflow
Skill1 starsChanged 4 months agoMITView on GitHub
Use when the user asks to plan a project, roadmap, migration, refactor, release, investigation, multi-step implementation, risky change, or execution sequence and needs phases, dependencies, risks, validation gates, rollback, owners, or next actions.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- pfeff/claude-skillstheir own version, first seen Nov 1, 2026
- DITlieD/ELAI-archivetheir own version, first seen Sep 5, 2026
- Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrationstheir own version, first seen Jun 19, 2026
- indubitably-ai/indubitably-skillstheir own version, first seen Apr 17, 2026
- HyunKN/harness-kittheir own version, first seen Apr 7, 2026
- LazyWorkshopCreate/agent-based-workflowtheir own version, first seen Mar 25, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- Dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations★ 73same name
- DITlieD/ELAI-archive★ 24same name
- LazyWorkshopCreate/agent-based-workflow★ 9same name
- pfeff/claude-skills★ 3same name
- indubitably-ai/indubitably-skills★ 1same name
- HyunKN/harness-kit★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-config-referenceSkill
- agent-security-guardSkill
- code-review-workflowSkill
- cross-model-verificationSkill
- git-workflow-for-agentsSkill
- incident-retro-workflowSkill
- observability-workflowSkill
- requirements-clarifierSkill
- skill-authoring-workflowSkill
- skill-pipeline-orchestratorSkill
- skill-review-workflowSkill
- systematic-debuggingSkill
- test-design-workflowSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 10 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
10
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 95
No evidence -> add a discovery phase with explicit output.
- Distinctive: line 97
Test surface is missing -> plan verification before implementation.
- Distinctive: line 141
Use discovery phase for unknowns that would change architecture or scope.
- Distinctive: line 142
Put irreversible work after a checkpoint.
- Distinctive: line 143
Keep each phase shippable, reversible, or marked not shippable.
- Distinctive: line 144
Do not mix unrelated outcomes in one phase.
- Distinctive: line 155
Every risky plan needs proof and an undo/stop path.
- Distinctive: line 163
Check: data loss, schema drift, auth/tenant leak, secrets, shell/destructive command, downtime, performance, compatibility, flaky tests, …
- Distinctive: line 195
Write or identify tests before implementation when behavior changes.
- Distinctive: line 209
Run self-review before claiming readiness.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Planning Workflow
Overview
A good plan reduces risk without ceremony. Convert a goal into scope, phases, tasks, dependencies, gates, rollback, and next action.
When to Use
| Use When | Don't Use When |
| The user says "plan", "roadmap", "implementation plan", "migration plan", "release plan", or "break this down" | One-step edit with no sequencing or rollback risk |
| Work spans multiple files, systems, sessions, days, data stores, or deploy stages | Requirements are too vague; use requirements-clarifier first |
| A risky change needs validation gates, rollback points, owner handoffs, or rollout | The user asks to debug a concrete failure now; use systematic-debugging |
| The user wants phases, dependencies, task ordering, or an execution checklist | The user only asks for code review findings; use code-review-workflow |
| A migration, refactor, release, investigation, or roadmap must be executable before work starts | The user explicitly asks to skip planning and accepts unmanaged risk |
Phase 0 Benchmark Decision
Type: Technique with planning judgment. Adopt Superpowers writing-plans: exact paths, bite-sized tasks, commands with expected output, no placeholders, self-review against the spec. Adopt GStack habits: challenge scope, identify architecture/test/performance/security gaps, keep unresolved decisions visible, and require gates for risky work. Omit save-to-doc, telemetry, browser, and commit rules.
Planning Gate
No clear goal/scope -> use requirements-clarifier.
No evidence/work surface -> add discovery before implementation.
No gate -> no "ready to execute" claim.
No rollback for risky work -> mark blocked or discovery-first.
Sensitive/destructive boundary -> load agent-security-guard.The Process
goal -> evidence -> risk -> phases -> gates -> tasks -> review -> handoffStep 1: Establish the Planning Frame
Expected Output: objective=<one sentence>, scope=<in>, non_goals=<out>, constraints=<list>, unknowns=<blocking|assumed|deferred>
Define what the plan may solve. Pull from the request, requirements, issue, design doc, diff, logs, or release goal.
git status --short
git rev-parse --show-toplevel
rg -n "requirement|acceptance|scope|non-goal|TODO|FIXME|migration|release|rollback|flag" .Frame format:
Objective:
In scope:
Non-goals:
Constraints:
Known unknowns:If fails:
- Objective or scope is unclear -> use
requirements-clarifier. - Scope covers unrelated systems -> split into separate plans.
- One-step edit -> produce a short checklist, not a phased plan.
Step 2: Inventory Evidence and Work Surface
Expected Output: artifacts=<paths>, work_surface=<files|systems>, dependencies=<internal|external>, test_surfaces=<commands|manual>
Plan from evidence. Identify what exists, what changes, what depends on it, and how success is observed.
git diff --name-status
git diff --stat
rg --files
rg -n "describe\\(|it\\(|test\\(|pytest|playwright|cypress|go test|cargo test|health|metric|alert" .Evidence table:
| Area | Evidence | Plan impact |
|------|----------|-------------|
| <module/system> | <file/log/doc> | <task/risk/gate> |If fails:
- No evidence -> add a discovery phase with explicit output.
- Too much surface -> narrow to affected paths, APIs, data, and tests.
- Test surface is missing -> plan verification before implementation.
Step 3: Classify Plan Shape and Risk
Expected Output: plan_type=<implementation|migration|refactor|release|investigation|roadmap>, risk=<low|medium|high>, mode=<checklist|phased|discovery>
Choose the smallest plan shape that controls risk.
| Signal | Plan shape |
| Single safe change | Checklist |
| Multiple files/dependencies | Phased implementation |
| Unknown root cause | Investigation plan |
| Data, schema, compatibility, rollout | Migration/release |
| Product scope or timeline | Roadmap with decision gates |
| Security, secrets, tenant, payment, shell, destructive action | Safety-gated |
Risk scale:
| Risk | Meaning |
| Low | Local, reversible, covered by fast checks |
| Medium | Cross-module, user-visible, or test gaps exist |
| High | Data loss, security, money, downtime, migration, external dependency, irreversible action |
If fails:
- Risk is high and rollback is unknown -> add discovery and rollback design first.
- Plan type is mixed -> split by independent outcomes.
- Security boundary appears -> load
agent-security-guard.
Step 4: Decompose into Phases with Entry and Exit Criteria
Expected Output: phases=<ordered table>, entry=<criteria>, exit=<criteria>, gate=<verification>
A phase is not a topic. It needs a start reason and done proof.
| Phase | Goal | Entry criteria | Work | Exit criteria | Gate |
|-------|------|----------------|------|---------------|------|
| 0 Discovery | <unknown resolved> | <needed context> | <reads/probes/spike> | <decision/evidence> | <review/check> |
| 1 Build | <behavior> | <contract ready> | <tasks> | <tests pass> | <command> |Rules:
- Use discovery phase for unknowns that would change architecture or scope.
- Put irreversible work after a checkpoint.
- Keep each phase shippable, reversible, or marked not shippable.
- Do not mix unrelated outcomes in one phase.
If fails:
- Phase has no exit criteria -> add status, test, artifact, decision, or visible proof.
- Phase depends on a later phase -> reorder or split.
- Exit criteria require unavailable signals -> use
observability-workflow.
Step 5: Map Dependencies, Risks, Gates, and Rollback
Expected Output: risk_table=<risk/mitigation/gate>, validation=<commands>, rollback=<points>
Every risky plan needs proof and an undo/stop path.
| Risk | Trigger | Mitigation | Gate | Rollback |
|------|---------|------------|------|----------|
| <risk> | <when it appears> | <prevention> | <proof> | <undo/stop> |Check: data loss, schema drift, auth/tenant leak, secrets, shell/destructive command, downtime, performance, compatibility, flaky tests, external service, migration order, manual steps, stale assumptions.
Validation gates must name exact evidence:
Gate: `python -m pytest tests/path -q` -> selected tests pass.
Gate: staging health check returns 200 for `/health`.
Gate: migration dry run reports `0 destructive changes`.If fails:
- Risk lacks mitigation -> add task or reduce scope.
- Gate says "verify manually" -> specify what to click, inspect, or observe.
- Rollback impossible -> mark high risk and require approval before execution.
Step 6: Define Concrete Tasks and Sequencing
Expected Output: tasks=<ordered checklist>, parallel=<yes|no>, commands=<with expected output>, owner=<agent|user|external>
Tasks are execution units. They must name files, action, expected result, and verification.
Task format:
- [ ] P1.T1 <imperative task title>
- Files: <exact paths or "discover in P0.T1">
- Do: <specific change or investigation>
- Verify: `<command>` -> <expected output>
- Depends on: <task id|none>Sequencing rules:
- Write or identify tests before implementation when behavior changes.
- For migrations, stage expand -> backfill -> switch -> contract unless local pattern differs.
- Group tasks by dependency, not by file type.
- Mark parallel lanes only when they share no write targets or ordering dependency.
If fails:
- Task says "handle edge cases" or "add tests" -> replace with exact cases or test files.
- File path is unknown -> make discovery a task, not a guess.
- Two tasks can conflict on the same file -> sequence them or merge them.
Step 7: Review the Plan Before Execution
Expected Output: review=<pass|revise|blocked>, gaps=<list>, confidence=<low|medium|high>
Run self-review before claiming readiness.
Review checks:
- Coverage: every requirement maps to a phase/task/gate.
- Placeholder scan: no
TBD,TODO, "later", "appropriate", "etc.", "similar to". - Consistency: task names, paths, APIs, and types agree across phases.
- Tests: success, failure, boundary, regression, and security cases exist when relevant.
- Risk: high-risk actions have rollback and gate.
- Staleness: plan matches current branch, diff, and artifact state.
rg -n "TBD|TODO|later|appropriate|etc\\.|similar to|handle edge|add tests" .
git status --shortIf fails:
- Missing coverage -> add or revise tasks.
- Placeholder remains -> replace with exact action, file, command, or decision.
- Confidence is low on high-risk work -> use
cross-model-verification.
Step 8: Handoff Execution and Update Loop
Expected Output: ready=<yes|with-assumptions|blocked>, next_action=<task id>, update_rule=<when plan changes>, residual=<risks>
End with an executable, updateable plan.
Objective:
Scope/non-goals:
Assumptions:
Phases:
Tasks:
Gates:
Rollback:
Open decisions:
Next action:
Status: ready=<yes|with-assumptions|blocked>Update rule:
After each gate, update: completed, evidence, changed assumptions, new risks, next action.
If a gate fails, stop execution and revise the plan before continuing.If fails:
- Next action is vague -> pick the first task id and exact command/action.
ready=yeshas open blockers -> change toready=blocked.- Work is ready for code changes -> use
git-workflow-for-agents.
Bad/Good Planning Patterns
Pattern 1: Milestone Without Exit Criteria
Bad:
Phase 1: Build backend.Good:
Phase 1 exits when `POST /reports` returns 201, persists one row, and `pytest tests/reports -q` passes.Pattern 2: Risk Without Rollback
Bad:
Run migration in production after tests pass.Good:
Run dry-run, snapshot tables, deploy expand-only schema, verify old/new callers, then switch reads.Pattern 3: Task Without Verification
Bad:
- [ ] Add validation and update UI.Good:
- [ ] P2.T3 Add duplicate-name validation in `src/forms/project.ts`.
- Verify: `npm test -- project-form.test.ts` -> duplicate name shows field error and submit is blocked.Rationalization Table
| Rationalization | Why it fails |
| "The plan can be high level" | High-level plans hide files, tests, dependencies, and rollback. |
| "We'll figure tests out later" | Test design changes sequencing and sometimes architecture. |
| "It's just a refactor" | Refactors still break behavior, data shape, performance, and imports. |
| "Rollback is obvious" | Rollback is real only when named and possible after each gate. |
| "Discovery is not progress" | Discovery prevents committing to the wrong architecture or scope. |
| "Parallel work is faster" | Parallel tasks sharing files or assumptions conflict. |
Red Flags
- You are planning before objective, scope, and non-goals are explicit.
- A phase has no entry criteria, exit criteria, or validation gate.
- A task lacks exact files, action, verification, or dependency.
- Plan contains
TBD,TODO, "later", "appropriate", "etc.", or "similar". - High-risk work has no rollback point.
- Migration work lacks expand/backfill/switch/contract thinking.
- Tests are deferred until after implementation without reason.
- Manual verification lacks specific observable steps.
- Plan says ready while blockers or unresolved decisions remain.
Common Pitfalls
| Symptom | Root cause | Fix |
| Plan is long but not executable | It describes themes, not tasks | Convert themes to task id, files, action, verify, dependency |
| Work starts then scope changes | Requirements were not clarified | Use requirements-clarifier before sequencing |
| Phase never finishes | Exit criteria are subjective | Add observable artifact, test, status, metric, or decision |
| Risk appears during execution | Dependencies and failure modes were not mapped | Add risk table before tasks |
| Rollback fails | Undo path was assumed | Define checkpoint, dry run, backup, feature flag, or revert point |
| Parallel tasks collide | Shared files or assumptions were ignored | Sequence conflicting tasks or assign one owner |
| Review rejects plan | Placeholders and unverified assumptions remain | Run Step 7 review and fix gaps before handoff |
Verification Checklist
- Description triggers on project, roadmap, migration, refactor, release, investigation, multi-step implementation, and risky change planning.
- Objective, scope, non-goals, constraints, and unknowns are explicit.
- Evidence and work surface are inspected before sequencing.
- Plan shape and risk level are named.
- Phases have entry criteria, exit criteria, dependencies, and gates.
- Risks include mitigation, validation, and rollback.
- Tasks include exact files or discovery tasks, action, verification, and dependencies.
- Commands include expected output or manual checks name evidence.
- Placeholder scan and coverage review are complete.
- Handoff includes
ready=yes,ready=with-assumptions, orready=blockedand a concrete next action.
Interaction with Other Skills
| Related Skill | Trigger | Handoff |
| requirements-clarifier | Goal, scope, criteria, or constraints are vague | Get build-ready contract before planning |
| test-design-workflow | Behavior changes need test strategy | Provide criteria, phases, risks, test surfaces |
| systematic-debugging | Investigation plan starts from an unreproduced failure | Reproduce and isolate before implementation tasks |
| observability-workflow | Gates need logs, metrics, traces, alerts, or health checks | Define signals as gates |
| agent-security-guard | Secrets, auth, tenant, shell, payment, privacy, or destructive actions appear | Add safety gate before execution |
| cross-model-verification | Plan is high-risk, disputed, or low-confidence | Request independent review of gaps and assumptions |
| git-workflow-for-agents | Plan execution changes files | Manage branch, staging, commits, sync, PR hygiene |
| code-review-workflow | Plan/implementation is ready for review | Use criteria, tasks, gates as review baseline |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

