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.
Content & Writing
102 Stars
7 Forks
Updated Jan 3, 2026, 12:54 AM
Why Use This
This skill provides specialized capabilities for jMerta's codebase.
Use Cases
Developing new features in the jMerta repository
Refactoring existing code to follow jMerta standards
Understanding and working with jMerta's codebase structure
---
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.