agentleFS
karim-bhalwanikarim-bhalwani/agentic-harness/skills/concise-planning/SKILL.md

concise-planning

Skill0 starsChanged 4 months agoMITView on GitHub

PIPELINE POSITION: sequence (step 3 of 4: brainstorming → architect → concise-planning → implementer). Produce an atomic, ordered checklist that turns an approved design into executable steps. Use AFTER intent is aligned (brainstorming) and AFTER the spec exists (architect, when applicable), or directly when the change is small and the approach is obvious. Output is a verb-first checklist with verification steps. DO NOT USE FOR: exploring whether or what to build (use brainstorming), designing module boundaries or API contracts (use architect), writing the code (use implementer), or delegating tasks across multiple subagents (use subagent-execution).

5 other projects use a version of this, 5 of them edited.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

25 rules. 3 are common, 18 are distinctive, and 4 are very specific to this project.

  • 3

    Common

    Most of the 5 edited versions we read keep these.

  • 18

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run all phases in this sequence.

    line 31
  2. Distinctive:

    Plan Self-Review: - verify all four checks before presenting.

    line 36
  3. Common:

    Read README.md, docs, and relevant code files.

    line 43
  4. Common:

    Ask at most 1–2 questions and only if truly blocking.

    line 48
  5. Common:

    Use the following structure:

    line 53
  6. Distinctive:

    Enforcement: Before finalizing the plan, scan every action item for these patterns.

    line 108
  7. Distinctive:

    Before generating action items, answer these two questions:

    line 112
  8. Distinctive:

    Does this plan span multiple independent subsystems?: If yes, flag it: "This work spans N subsystems.

    line 114
  9. Distinctive:

    Is the scope well-understood?: If key unknowns exist (missing spec, no schema, ambiguous acceptance criteria), surface them as Open …

    line 115
  10. Distinctive:

    If the request is too underspecified to produce any action items even after surfacing 1-2 questions, output only the Open Questions section …

    line 117
  11. Distinctive:

    Before handing off or presenting the plan, verify:

    line 121
  12. Distinctive:

    Type consistency: - Do the deliverables of step N match the inputs expected by step N+1?

    line 125
  13. Distinctive:

    If any check fails, fix the plan before presenting it.

    line 128
  14. Distinctive:

    When generating action items, classify each step's dependency type:

    line 132
  15. Distinctive:

    [SEQ]: Must wait for the previous step to complete (strict dependency).

    line 134
  16. Distinctive:

    If 3+ items are [PAR], add a note directly after the Action Items section: "Parallel execution recommended: steps [list] can run …

    line 139
  17. Distinctive:

    Always include an aggregation step: after parallel work, a single agent reviews and integrates all outputs.

    line 147
  18. Distinctive:

    Never parallelize tool-heavy work: if a sub-task needs 5+ tool calls, keep it in a single agent to preserve context budget.

    line 148
  19. Very specific:

    When a .copilot/state/ directory exists in the target project, create a machine-readable progress tracker alongside the plan.

    line 165
  20. Distinctive:

    When to create: After the plan is finalized and approved.

    line 167
  21. Very specific:

    Only modify status, started, completed, and notes on individual tasks.

    line 179
  22. Very specific:

    Never rewrite title, id, or depends_on (owned by the planner).

    line 183
  23. Very specific:

    Skip signal: If .copilot/state/ does not exist and the task is a quick fix or one-off, skip tracker creation.

    line 185
  24. Distinctive:

    Technical Constraints: Do not implement code in this step.

    line 204
  25. Distinctive:

    Assuming All Context: Not reading existing code/docs leads to redundant or conflicting plans.

    line 215

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

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Concise Planning

Version: 9.0 | Updated: 01-July-2026 | Architect: Karim Bhalwani | Deps: thinker

Pipeline position: sequence (3 of 4) - brainstorming -> architect -> concise-planning -> implementer. This skill produces a verb-first checklist. It runs AFTER design is approved and BEFORE code is written.

Dependencies

Load the following via read_file before using this skill. Skills marked ★ have disable-model-invocation: true and cannot self-invoke - they must be loaded explicitly.

  • ~/.copilot/skills/thinker/SKILL.md ★ - structured reasoning scaffold; confirms scope is well-understood before planning begins

Goal

Turn a user request into a single, actionable plan with atomic steps.

Execution Order

Run all phases in this sequence. Do not skip or reorder.

  1. Scope Check - evaluate scope breadth and completeness before writing anything.
  2. Generate Plan - produce the plan using the template below.
  3. Annotate - label each action item [SEQ] or [PAR].
  4. Plan Self-Review - verify all four checks before presenting.
  5. Feature Progress Tracker (opt-in) - create only if .copilot/state/ exists and plan is approved.

Workflow

1. Scan Context

  • Read README.md, docs, and relevant code files.
  • Identify constraints (language, frameworks, tests).

2. Minimal Interaction

  • Ask at most 1–2 questions and only if truly blocking.
  • Make reasonable assumptions for non-blocking unknowns.

3. Generate Plan

Use the following structure:

  • Approach: 1-3 sentences on what and why.
  • Scope: Bullet points for "In" and "Out".
  • Action Items: A list of 6-10 atomic, ordered tasks (Verb-first). The plan template below shows the minimum 6-step structure; expand up to 10 steps as needed.
  • Validation: At least one item for testing.

Plan Template

# Plan

<High-level approach>

## Scope

- In:
- Out:

## Action Items

[ ] <Step 1: Discovery>
[ ] <Step 2: Implementation>
[ ] <Step 3: Implementation>
[ ] <Step 4: Implementation>
[ ] <Step 5: Validation/Testing>
[ ] <Step 6: Rollout/Commit>

## Open Questions

- <Question 1 (max 3)>

Checklist Guidelines

  • Atomic: Each step should be a single logical unit of work.
  • Verb-first: "Add...", "Refactor...", "Verify...".
  • Concrete: Name specific files or modules when possible.

No Placeholders - Iron Law

Every action item must be immediately executable by the implementer without further clarification.

The following patterns are forbidden anywhere in a plan:

Forbidden PatternWhyReplace With
TBD / TODODeferred decision, not a plan stepResolve now or add to Open Questions
implement the functionNo file path, no signatureAdd \calculate_total()` to `src/billing/totals.py``
similar to Task NRelies on copy-paste reasoningRepeat the exact spec inline
add appropriate error handlingVague, untestableRaise \ValidationError` if input is None or empty`
handle edge casesWhich cases?List each edge case explicitly as its own step
update testsWhat tests? Which behavior?Add test for empty cart in \tests/test_checkout.py``
refactor as neededNot a stepEither commit to specific refactor or remove

Enforcement: Before finalizing the plan, scan every action item for these patterns. If any are found, the plan is not ready to hand off.

Scope Check (Run Before Writing the Plan)

Before generating action items, answer these two questions:

  1. Does this plan span multiple independent subsystems? If yes, flag it: "This work spans N subsystems. Recommend decomposing into N sub-plans for clarity." Proceed only if the user confirms a single combined plan.
  2. Is the scope well-understood? If key unknowns exist (missing spec, no schema, ambiguous acceptance criteria), surface them as Open Questions before writing steps. Do not write speculative steps.

If the request is too underspecified to produce any action items even after surfacing 1-2 questions, output only the Open Questions section and a single line: "Planning blocked: resolve the above questions before a plan can be generated." Do not produce a partial plan.

Plan Self-Review (Run After Writing the Plan)

Before handing off or presenting the plan, verify:

  1. Spec coverage - Does every requirement in the spec/request map to at least one action item?
  2. Placeholder scan - Re-read every action item against the No Placeholders table above.
  3. Type consistency - Do the deliverables of step N match the inputs expected by step N+1?
  4. Validation present - Is there at least one testing/verification step?

If any check fails, fix the plan before presenting it.

Parallel Decomposition

When generating action items, classify each step's dependency type:

  • [SEQ]: Must wait for the previous step to complete (strict dependency).
  • [PAR]: Can execute independently alongside other [PAR] items.

When to Parallelize

  • If 3+ items are [PAR], add a note directly after the Action Items section: "Parallel execution recommended: steps [list] can run concurrently via subagents; add an aggregation step at the end."
  • Parallelizable tasks (independent research, separate module implementations, multi-file test writing) benefit from decomposition.
  • Sequential tasks (multi-step reasoning chains, state-dependent pipelines) MUST NOT be parallelized. Splitting sequential context across agents degrades performance by 39-70%.

Decomposition Rules

  1. Identify the dependency graph: which steps produce outputs consumed by later steps?
  2. Group independent steps: steps with no shared dependencies can run in parallel.
  3. Always include an aggregation step: after parallel work, a single agent reviews and integrates all outputs.
  4. Never parallelize tool-heavy work: if a sub-task needs 5+ tool calls, keep it in a single agent to preserve context budget.

Example

## Action Items

[SEQ] 1. Define API schema and data models
[PAR] 2a. Implement user endpoint (depends on: 1)
[PAR] 2b. Implement product endpoint (depends on: 1)
[PAR] 2c. Write shared test fixtures (depends on: 1)
[SEQ] 3. Integration test all endpoints (depends on: 2a, 2b, 2c)
[SEQ] 4. Run linter and type checker

Feature Progress Tracker (Opt-In)

When a .copilot/state/ directory exists in the target project, create a machine-readable progress tracker alongside the plan. This enables agents to update task status as they work, and retrospectives to measure velocity.

When to create: After the plan is finalized and approved. Generate one tracker per feature/plan.

Procedure:

  1. Load the feature_progress.json template.
  2. Populate feature from the plan title, branch from current Git branch (or leave empty).
  3. Map each Action Item to a tasks[] entry: title from the step text, id from step number, depends_on from [SEQ]/[PAR] annotations.
  4. Set status to "planning" and compute summary counts.
  5. Write to .copilot/state/FEATURE_PROGRESS.json.

Field rules (for any agent updating the tracker):

  • Only modify status, started, completed, and notes on individual tasks.
  • Recompute summary counts and updated date after every change.
  • Valid task statuses: not-started, in-progress, completed, blocked.
  • Valid top-level statuses: planning, in-progress, review, completed.
  • Never rewrite title, id, or depends_on (owned by the planner).

Skip signal: If .copilot/state/ does not exist and the task is a quick fix or one-off, skip tracker creation. Mention: "Feature tracker skipped (no .copilot/state/ directory)."

Outputs & Deliverables

  • Primary Output: A single plan.md following the Plan Template
  • Secondary Output: Open questions and assumptions list; FEATURE_PROGRESS.json (if opt-in)
  • Success Criteria: Plan has atomic action items and at most 3 blocking questions
  • Quality Gate: Plan reviewed and approved by requester or implementer

Definition of Done

  • Plan follows the template: Approach, Scope (In/Out), Action Items, Open Questions
  • Action items are atomic, verb-first, and reference specific files/modules
  • At least one validation/testing step is included
  • Open questions limited to 3 or fewer blocking items
  • Plan reviewed and approved by requester

Constraints

  • Technical Constraints: Do not implement code in this step; produce a plan only.
  • Scope Constraints: Plans should be limited to the requested scope; avoid speculative features.
  • Governance Constraints: Align plan with project-context.md and SPEC.md if present.

Common Pitfalls

  • Over-Planning: Creating 30+ atomic steps when 6-10 suffice. Keep it concise; details emerge during execution.
  • Vague Action Items: "Implement feature" isn't actionable. "Add payment processing to checkout flow" is specific.
  • Missing Validation Steps: A plan without testing/verification sets up for rework. Always include a validation checkpoint.
  • Ignoring Dependencies: Listing steps in random order instead of respecting precedence. Steps must be executable in sequence.
  • Scope Creep: Including "nice-to-haves" in the main plan. Use "Out of Scope" section to acknowledge but exclude them.
  • Assuming All Context: Not reading existing code/docs leads to redundant or conflicting plans. Always scan context first.

Integration Points

PhaseInput FromOutput ToContext
InputUser request + contextPlan generationScan code, README, and constraints
Design Specsarchitect specificationsImplementation stepsUse SPEC.md to guide atomic tasks
ExecutionApproved planimplementerHand off actionable checklist
MonitoringProgress updatesStatus trackingAdjust if blockers emerge

References

Load these to calibrate plan structure and output format:

Reference Documents

  • plan_template.md - Reusable planning checklist template. Load at the start of every planning task to ensure the output follows the correct atomic-step format.
  • feature-plan.md - Worked feature plan example. Load when unsure of appropriate granularity or when the user needs a concrete example to validate the plan structure.
  • feature_progress.json - Feature progress tracker template. Load when creating a progress tracker for a plan (opt-in, when .copilot/state/ exists).

Scripts

  • format_checklist.py - Checklist formatter and validator. Converts a plain list of tasks into a structured, verb-led planning checklist with effort estimate, hygiene warnings (non-verb items, overly broad tasks), and Markdown output ready for user review.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.