Create Plan
Goal
Turn a user prompt (or spec) into a single actionable plan the user can execute against, with:
- clear scope boundaries
- ordered, atomic steps
- explicit validation commands
- known risks and open questions
The output should be executable without additional interpretation.
Non-negotiables
- Operate in read-only mode: do not write or update files.
- Ask at most 1–2 clarifying questions only if truly blocking.
- If unsure but not blocked, state assumptions and proceed.
- Prefer repo-local truth over guesses (docs, config, profile).
- Do not invent commands. Use profile values, discovered tooling, or mark as
unknown.
Inputs
- User request / spec / acceptance criteria (if provided)
- Repo context (README, ARCHITECTURE, AGENTS, CALIBRATION, ROADMAP if present)
- Repo profile (authoritative if present):
<repo>/REPO_PROFILE.json
- Global reference profile (fallback reference only):
~/.codex/repo_profile.json
Outputs
- A single plan document following the required format exactly.
Profile resolution order
- If
<repo>/REPO_PROFILE.json exists: treat it as authoritative for:
- stack shape
- paths (frontend_root/backend_root)
- commands (lint/typecheck/test/build)
- quality bar (required_checks)
- Else if
~/.codex/repo_profile.json exists: treat it as a reference template for defaults only.
- Else: proceed with minimal assumptions and record unknowns explicitly.
Never silently merge profiles. If they conflict, prefer repo-local and record the conflict as a risk.
Minimal workflow
1) Scan context quickly (read-only)
- Read README and obvious docs:
- README, docs/, CONTRIBUTING, ARCHITECTURE, AGENTS, CALIBRATION, ROADMAP
- Identify likely touched areas/files.
- Determine stack shape (frontend/backend/monorepo) from repo structure and/or profile.
- Determine canonical validation commands:
- Prefer
<repo>/REPO_PROFILE.json commands if present.
- If missing, infer only if trivial (e.g., package.json scripts present).
- Otherwise mark validation commands as
unknown and list as Open questions.
- Identify constraints:
- language/framework, deployment shape, CI gates, risk posture
If <repo>/REPO_PROFILE.json exists, treat its commands and paths as authoritative.
2) Plan the work
- Keep steps atomic and ordered: discovery → changes → validation → rollout.
- 6–10 action items by default.
- Verb-first actions: Add…, Refactor…, Verify…, Ship….
- Include at least one tests/validation step.
- Include at least one edge case/risk step when applicable.
- When useful, annotate steps with the relevant skill name in parentheses:
- Example:
[ ] Add endpoint contract (api/contract-update)
- Keep this lightweight; do not turn the plan into a registry dump.
If a repo profile exists, prefer steps that respect its boundaries and conventions.
3) Document unknowns
- If unknowns remain, keep them in Open questions (max 3).
- If unknowns are truly blocking, ask 1–2 clarifying questions (max).
- If commands are unknown, do not guess. Record the missing command as an Open question.
Validation requirements
Validation section must contain:
- runnable commands from
<repo>/REPO_PROFILE.json when present, OR
- explicit placeholders:
unknown (needs repo command) if missing
none (repo does not use this) if not applicable
Prefer including at least:
- one fast check (lint/typecheck)
- one correctness check (tests)
Output (follow exactly)
Plan
<1–3 sentences: what we’re doing, why, and the high-level approach.>
Scope
Action items
[ ] <Step 1>
[ ] <Step 2>
[ ] <Step 3>
[ ] <Step 4>
[ ] <Step 5>
[ ] <Step 6>
Validation
- <Command or validation step 1>
- <Command or validation step 2>
Edge cases / risks
Open questions
- <Question 1>
- <Question 2>
- <Question 3>
1---2name: create-plan3description: Create a concise, executable plan for a coding task. Use when the user explicitly asks for a plan or when work is clearly multi-step.4---56# Create Plan78## Goal9Turn a user prompt (or spec) into a single actionable plan the user can execute against, with:10- clear scope boundaries11- ordered, atomic steps12- explicit validation commands13- known risks and open questions1415The output should be executable without additional interpretation.1617---1819## Non-negotiables20- Operate in read-only mode: do not write or update files.21- Ask at most 1–2 clarifying questions only if truly blocking.22- If unsure but not blocked, state assumptions and proceed.23- Prefer repo-local truth over guesses (docs, config, profile).24- Do not invent commands. Use profile values, discovered tooling, or mark as `unknown`.2526---2728## Inputs29- User request / spec / acceptance criteria (if provided)30- Repo context (README, ARCHITECTURE, AGENTS, CALIBRATION, ROADMAP if present)31- Repo profile (authoritative if present): `<repo>/REPO_PROFILE.json`32- Global reference profile (fallback reference only): `~/.codex/repo_profile.json`3334---3536## Outputs37- A single plan document following the required format exactly.3839---4041## Profile resolution order421) If `<repo>/REPO_PROFILE.json` exists: treat it as authoritative for:43 - stack shape44 - paths (frontend_root/backend_root)45 - commands (lint/typecheck/test/build)46 - quality bar (required_checks)472) Else if `~/.codex/repo_profile.json` exists: treat it as a reference template for defaults only.483) Else: proceed with minimal assumptions and record unknowns explicitly.4950Never silently merge profiles. If they conflict, prefer repo-local and record the conflict as a risk.5152---5354## Minimal workflow5556### 1) Scan context quickly (read-only)57- Read README and obvious docs:58 - README, docs/, CONTRIBUTING, ARCHITECTURE, AGENTS, CALIBRATION, ROADMAP59- Identify likely touched areas/files.60- Determine stack shape (frontend/backend/monorepo) from repo structure and/or profile.61- Determine canonical validation commands:62 - Prefer `<repo>/REPO_PROFILE.json` commands if present.63 - If missing, infer only if trivial (e.g., package.json scripts present).64 - Otherwise mark validation commands as `unknown` and list as Open questions.65- Identify constraints:66 - language/framework, deployment shape, CI gates, risk posture6768If `<repo>/REPO_PROFILE.json` exists, treat its commands and paths as authoritative.6970---7172### 2) Plan the work73- Keep steps atomic and ordered: discovery → changes → validation → rollout.74- 6–10 action items by default.75- Verb-first actions: Add…, Refactor…, Verify…, Ship….76- Include at least one tests/validation step.77- Include at least one edge case/risk step when applicable.78- When useful, annotate steps with the relevant skill name in parentheses:79 - Example: `[ ] Add endpoint contract (api/contract-update)`80 - Keep this lightweight; do not turn the plan into a registry dump.8182If a repo profile exists, prefer steps that respect its boundaries and conventions.8384---8586### 3) Document unknowns87- If unknowns remain, keep them in Open questions (max 3).88- If unknowns are truly blocking, ask 1–2 clarifying questions (max).89- If commands are unknown, do not guess. Record the missing command as an Open question.9091---9293## Validation requirements94Validation section must contain:95- runnable commands from `<repo>/REPO_PROFILE.json` when present, OR96- explicit placeholders:97 - `unknown (needs repo command)` if missing98 - `none (repo does not use this)` if not applicable99100Prefer including at least:101- one fast check (lint/typecheck)102- one correctness check (tests)103104---105106## Output (follow exactly)107108# Plan109110<1–3 sentences: what we’re doing, why, and the high-level approach.>111112## Scope113- In:114- Out:115116## Action items117[ ] <Step 1>118[ ] <Step 2>119[ ] <Step 3>120[ ] <Step 4>121[ ] <Step 5>122[ ] <Step 6>123124## Validation125- <Command or validation step 1>126- <Command or validation step 2>127128## Edge cases / risks129- <Risk 1>130- <Risk 2>131132## Open questions133- <Question 1>134- <Question 2>135- <Question 3>