plan-work

Plan work before coding: do repo research, analyze options/risks, and ask clarifying questions before proposing an implementation plan. Use when the user asks for a plan, design/approach, scope breakdown, or implementation steps.

$ 安裝

git clone https://github.com/jMerta/codex-skills /tmp/codex-skills && cp -r /tmp/codex-skills/plan-work ~/.claude/skills/codex-skills

// tip: Run this command in your terminal to install the skill


name: plan-work description: "Plan work before coding: do repo research, analyze options/risks, and ask clarifying questions before proposing an implementation plan. Use when the user asks for a plan, design/approach, scope breakdown, or implementation steps."

Plan work

Goal

Produce a plan that is:

  • grounded in repo reality (research)
  • explicit about decisions and risks (analysis)
  • blocked on zero unknowns (Q&A before implementation steps)

Inputs to ask for (if missing)

  • Outcome/acceptance criteria (what "done" means).
  • Constraints: time, backwards compatibility, performance, security, data migration.
  • Target environment(s): local/stage/prod; any feature flags or rollout requirements.
  • Non-goals (what not to do).

Workflow (research -> analysis -> Q&A -> implementation)

  1. Research (current state)
    • Read repo guidance first: AGENTS.md, README.md, docs/ (only if needed).
    • Identify entrypoints and owners (backend/frontend/infra).
    • Find relevant code paths and patterns:
      • rg for symbols, endpoints, config keys, error strings
      • git log -p / git blame for history and intent when uncertain
    • If the plan depends on external behavior (framework/library/tooling), consult official docs, release notes or context7 (and call out versions/assumptions).
    • Capture findings as short bullets with file paths.
  2. Analysis (what to change and why)
    • Restate requirements and assumptions.
    • List options (1-3) with tradeoffs; pick one and justify.
    • Identify risks/edge cases and what tests cover them.
    • Collect open questions.
  3. Q&A gate (do not skip)
    • If there are open questions, ask them and stop.
    • Do not propose implementation steps until the user answers (or explicitly accepts assumptions).
    • First pass: ask 1-5 questions that eliminate whole branches of work.
    • Do not limit yourself to just 1-5 questions overall; continue asking until everything needed for a proper implementation plan is clarified.
    • Make questions scannable: numbered, short, multiple-choice when possible.
    • Include defaults/recommendations and a fast-path response (e.g., reply "defaults").
      • Do not label any option as the default within the option list; if needed, state defaults in a separate note.
    • Provide a low-friction "not sure" option when helpful.
    • You may add brief bracketed insights after options when there's a major upside or downside.
    • Separate "Need to know" from "Nice to know" when it reduces friction.
    • Structure options for compact replies (e.g., "1b 2a 3c") and restate selections in plain language.
    • Pause before acting until must-have answers arrive:
      • Do not run commands, edit files, or produce a plan that depends on unknowns.
      • Low-risk discovery is allowed if it does not commit to a direction (read-only, non-committing).
    • After answers, restate requirements in 1-3 sentences (constraints + success criteria), then proceed.
  4. Implementation plan (only after Q&A)
    • Break into small steps in a sensible order.
    • Name likely files/dirs to change.
    • Include the tests to run (unit/integration/build) to validate the change.
    • If the change spans modules, include coordination steps (contract changes, client regen, versioning).

Q&A template (short, feature plan)

Before I start, I need: (1) question (2) question (3) question. This is a starting set; I will continue with follow-up questions until everything needed for a proper implementation plan is clarified.

Need to know 1) a) b) c) 2) a) b) c) 3) C a) b) c) d)

Nice to know 4) a) b) c)

Reply with: "1a 2b 3c 4a" (or "propose" to have me choose and confirm).

Deliverable

Use references/plan-template.md and fill it in.