Create Issue Card + ExecPlan
Purpose
Draft an issue card and (when non-trivial) an ExecPlan that a complete novice can implement end-to-end with no ambiguity, no missing steps, and minimal regression risk. Optimize for correctness, maintainability, and low blast radius.
Inputs (required)
- A brief describing the work (bug/feature/refactor), including desired user-visible outcome.
If the brief is missing critical details, ask only the minimum clarifying questions needed to eliminate ambiguity (see “Minimum clarifying questions”).
Minimum clarifying questions (ask only if needed)
- What is the exact user-visible outcome (one sentence), and how do we see it working?
- What is broken/missing today (current behavior), and how do we reproduce/observe it (URLs, API routes, inputs)?
- Any hard constraints (must not change X, must keep contract Y, deadline/risk sensitivity)?
If the user cannot answer (or for speed), resolve by investigating the repo and recording evidence in the card.
Procedure
- Read repo rules and templates:
AGENTS.md
PLANS.md
issues/README.md
issues/ISSUE_CARD_TEMPLATE.md
- Pick filenames (keep consistent with repo conventions):
- Issue card (preferred once numbered):
issues/open/<number>-<type>-<kebab-summary>.md
- ExecPlan:
issues/execPlans/<number>-<type>-<kebab-summary>_execplan.md
- If blocked on a number, use
issues/open/draft-<type>-<kebab-summary>.md and issues/execPlans/draft-<type>-<kebab-summary>_execplan.md, and note in both files that a rename is required after gh md-issues push.
- Investigate prior art (do not guess):
- Search
issues/** for similar work.
- Identify the likely module(s) and exact file paths.
- Capture concrete evidence (errors, logs, stack traces, screenshots, failing test output) as text in the issue card.
- Draft the issue card (authoritative spec):
- Start from
issues/ISSUE_CARD_TEMPLATE.md; keep headings intact.
- Fill every section; use “None.” instead of leaving blanks.
- Include exact strings/contracts when they matter (route paths, error messages, queue names, status values).
- Make blast radius explicit in
Expected Files/Areas and call out high-risk files (e.g., Program.cs) with rationale.
- Set
## Status to Proposed. and keep YAML frontmatter accurate (title, labels, state).
- Reference the ExecPlan path at the top (
ExecPlan: issues/execPlans/<slug>_execplan.md).
- Decide whether an ExecPlan is required:
- Required when the change is complex, cross-cutting, risky, or spans multiple modules (default to “yes” if unsure).
- For tiny/local changes, the card can stand alone; explicitly justify why an ExecPlan is unnecessary.
- Draft the ExecPlan (novice-executable spec):
- Follow
PLANS.md strictly.
- The ExecPlan file should contain only the plan (no outer triple-backtick fence).
- Never use nested triple-backtick fences inside the plan; use indented snippets for commands/transcripts/code.
- Define every non-obvious term in
Context and Orientation (if you can’t define it, don’t use it).
- Make TDD explicit: name the exact test file(s), test name(s), and the red/green transition.
- Include explicit file paths and insertion points (type/method/component/template names).
- When adding/changing interfaces/contracts, include an
Interfaces and Dependencies section with explicit signatures and dependencies.
- Prefer the simplest design that meets requirements; when multiple approaches exist, pick the best maintainability-to-risk ratio and record the rationale in
Decision Log.
- Reuse repo patterns and centralize shared literals (queue names, log templates, status codes, error strings) in the module-appropriate location instead of duplicating strings.
- Include short indented snippets for the most error-prone bits (contracts, signatures, route strings, example test cases, expected outputs).
- Include concrete commands and expected outputs (short transcripts) for build/tests.
- Include rollback/recovery and idempotence guidance.
- Junior-proof quality gate (before finalizing files):
- Remove any “TBD”, “should”, “maybe”, “etc.” where it hides a decision.
- Ensure every requirement maps to an acceptance criterion and a verification step.
- Ensure no hidden knowledge: a new engineer can run the listed commands and recognize success/failure.
- Ensure the plan does not smuggle implementation via “follow existing patterns” without pointing to the exact pattern file(s).
Output
- Create/update a new issue card under
issues/open/ (preferred once an issue number exists) or a draft path when blocked on numbering.
- Create/update the ExecPlan under
issues/execPlans/.
Use the templates in:
references/issue_card_skeleton.md
references/execplan_skeleton.md
references/junior_proof_gate.md
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: create-issue-card-execplan3description: Create a new junior-proof issue card plus ExecPlan in this repo, aligned with AGENTS.md, PLANS.md, and issues/ISSUE_CARD_TEMPLATE.md. Use when asked to draft/spec a bugfix/feature/refactor with explicit requirements, file paths, concrete steps, tests (red-green), acceptance criteria, verification, risks, and rollback. Use when this capability is needed.4---56# Create Issue Card + ExecPlan78## Purpose910Draft an issue card and (when non-trivial) an ExecPlan that a complete novice can implement end-to-end with no ambiguity, no missing steps, and minimal regression risk. Optimize for correctness, maintainability, and low blast radius.1112## Inputs (required)1314- A brief describing the work (bug/feature/refactor), including desired user-visible outcome.1516If the brief is missing critical details, ask only the minimum clarifying questions needed to eliminate ambiguity (see “Minimum clarifying questions”).1718## Minimum clarifying questions (ask only if needed)19201. What is the exact user-visible outcome (one sentence), and how do we see it working?212. What is broken/missing today (current behavior), and how do we reproduce/observe it (URLs, API routes, inputs)?223. Any hard constraints (must not change X, must keep contract Y, deadline/risk sensitivity)?2324If the user cannot answer (or for speed), resolve by investigating the repo and recording evidence in the card.2526## Procedure27281. Read repo rules and templates:29 - `AGENTS.md`30 - `PLANS.md`31 - `issues/README.md`32 - `issues/ISSUE_CARD_TEMPLATE.md`332. Pick filenames (keep consistent with repo conventions):34 - Issue card (preferred once numbered): `issues/open/<number>-<type>-<kebab-summary>.md`35 - ExecPlan: `issues/execPlans/<number>-<type>-<kebab-summary>_execplan.md`36 - If blocked on a number, use `issues/open/draft-<type>-<kebab-summary>.md` and `issues/execPlans/draft-<type>-<kebab-summary>_execplan.md`, and note in both files that a rename is required after `gh md-issues push`.373. Investigate prior art (do not guess):38 - Search `issues/**` for similar work.39 - Identify the likely module(s) and exact file paths.40 - Capture concrete evidence (errors, logs, stack traces, screenshots, failing test output) as text in the issue card.414. Draft the issue card (authoritative spec):42 - Start from `issues/ISSUE_CARD_TEMPLATE.md`; keep headings intact.43 - Fill every section; use “None.” instead of leaving blanks.44 - Include exact strings/contracts when they matter (route paths, error messages, queue names, status values).45 - Make blast radius explicit in `Expected Files/Areas` and call out high-risk files (e.g., `Program.cs`) with rationale.46 - Set `## Status` to `Proposed.` and keep YAML frontmatter accurate (`title`, `labels`, `state`).47 - Reference the ExecPlan path at the top (`ExecPlan: issues/execPlans/<slug>_execplan.md`).485. Decide whether an ExecPlan is required:49 - Required when the change is complex, cross-cutting, risky, or spans multiple modules (default to “yes” if unsure).50 - For tiny/local changes, the card can stand alone; explicitly justify why an ExecPlan is unnecessary.516. Draft the ExecPlan (novice-executable spec):52 - Follow `PLANS.md` strictly.53 - The ExecPlan file should contain only the plan (no outer triple-backtick fence).54 - Never use nested triple-backtick fences inside the plan; use indented snippets for commands/transcripts/code.55 - Define every non-obvious term in `Context and Orientation` (if you can’t define it, don’t use it).56 - Make TDD explicit: name the exact test file(s), test name(s), and the red/green transition.57 - Include explicit file paths and insertion points (type/method/component/template names).58 - When adding/changing interfaces/contracts, include an `Interfaces and Dependencies` section with explicit signatures and dependencies.59 - Prefer the simplest design that meets requirements; when multiple approaches exist, pick the best maintainability-to-risk ratio and record the rationale in `Decision Log`.60 - Reuse repo patterns and centralize shared literals (queue names, log templates, status codes, error strings) in the module-appropriate location instead of duplicating strings.61 - Include short indented snippets for the most error-prone bits (contracts, signatures, route strings, example test cases, expected outputs).62 - Include concrete commands and expected outputs (short transcripts) for build/tests.63 - Include rollback/recovery and idempotence guidance.647. Junior-proof quality gate (before finalizing files):65 - Remove any “TBD”, “should”, “maybe”, “etc.” where it hides a decision.66 - Ensure every requirement maps to an acceptance criterion and a verification step.67 - Ensure no hidden knowledge: a new engineer can run the listed commands and recognize success/failure.68 - Ensure the plan does not smuggle implementation via “follow existing patterns” without pointing to the exact pattern file(s).6970## Output7172- Create/update a new issue card under `issues/open/` (preferred once an issue number exists) or a draft path when blocked on numbering.73- Create/update the ExecPlan under `issues/execPlans/`.7475Use the templates in:76- `references/issue_card_skeleton.md`77- `references/execplan_skeleton.md`78- `references/junior_proof_gate.md`7980---81> Converted and distributed by [TomeVault](https://tomevault.io/claim/eestevanell) — claim your Tome and manage your conversions.82<!-- tomevault:4.0:skill_md:2026-04-14 -->