home / skills / jmerta / codex-skills / plan-work
npx playbooks add skill jmerta/codex-skills --skill plan-workReview the files below or copy the command above to add this skill to your agents.
---
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.