plan-critique
Critique the user's plan from plan.md and write critique.md. Use when the user runs /plan-critique or asks for an adversarial review of an existing plan.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Critique the user's plan from plan.md and write critique.md. Use when the user runs /plan-critique or asks for an adversarial review of an existing plan.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create a new plan folder with a plan.md template
Archive a completed or abandoned plan for future reference. Use when the user runs /plan-archive or asks to archive a finished plan.
Create a new plan folder with a plan.md template. Use when the user asks to start, create or open a new plan, or runs /plan-create.
Execute the user's plan that has been iteratively refined, step by step, with resume on failure. Use when the user runs /plan-execute or asks to execute an existing plan.
Critique the user's plan from plan.md
Execute the user's plan that has been iteratively refined
| name | plan-critique |
| description | Critique the user's plan from plan.md and write critique.md. Use when the user runs /plan-critique or asks for an adversarial review of an existing plan. |
| license | MIT |
| disable-model-invocation | true |
You are performing an iterative review of the user's execution plan. Critique the plan, code, architecture, system design, and design patterns.
Fixed rules:
Read the working agreement at working-agreement.md before step 1 and follow it
for the whole run. If that path does not resolve, look for working-agreement.md in the project root, then in
.github/. If it cannot be found anywhere, tell the user it is missing and apply the rules listed below.
These rules bind this phase and override any step below that conflicts with them:
file:line reference, a command output, or a failing test. Never assert
a plausible but unverified conclusion, and never present a guess as a fact.plan.md during this phase. This phase writes critique.md only. The user
decides what moves into the plan.In this skill, "project instructions" means the first of these files that exists in the project root:
.github/copilot-instructions.md, AGENTS.md, or CLAUDE.md.
To do this, follow these steps precisely:
Read .copilot/plan-critique-config.json, get plansFolder path from settings. If that file does not exist,
read .claude/plan-critique-config.json instead. If neither file exists or plansFolder is not set:
Respond with "No plans folder configured. Run /plan-create first to set up."
Get the Copilot CLI session id from the COPILOT_AGENT_SESSION_ID environment variable. Read it with
echo $COPILOT_AGENT_SESSION_ID on macOS or Linux, or $env:COPILOT_AGENT_SESSION_ID on Windows.
If the variable is empty, use the literal value default instead. Store this as sessionId.
Clean up stale sessions: scan [plansFolder]/.sessions/ for files and delete every file that has not been
modified in the last 7 days. This is non-blocking cleanup, never abort the run because of it.
Read the current session's plan from [plansFolder]/.sessions/[sessionId] if it exists. Store as sessionPlan.
Scan [plansFolder]/ for subdirectories (each subdirectory is a plan). Exclude archived/ and .sessions/
folders and any files, only list plan directories.
If no plan folders exist: Respond with "No plans found. Create one with /plan-create".
Select the plan to critique:
sessionPlan exists and matches a plan folder, auto-select it. Inform the user:
"Using current session plan: [sessionPlan]"Available plans:
1. add-user-authentication
2. refactor-database-layer
3. implement-caching
Which plan would you like to critique? [1-3]
Update the session file [plansFolder]/.sessions/[sessionId] with the selected plan slug (create if needed).
Read the plan file at [plansFolder]/[selected-plan]/plan.md
Check for errors:
plan.md is empty: Respond with "Plan file is empty. Edit [plansFolder]/[selected-plan]/plan.md".github/copilot-instructions.md file in the
root of your project."Detect project languages and check for code intelligence support:
tsconfig.json, *.ts, or *.tsx files in the projectcomposer.json or *.php, go.mod,
pyproject.toml, pom.xml/lsp command."Read the existing "Iteration: [number]" at [plansFolder]/[selected-plan]/critique.md (if it exists) and
determine the current iteration number. If no critique exists, this is iteration 1.
If the plan references files that are in the [plansFolder]/[selected-plan]/ folder, review those as well and
add them to the context of the critique.
Perform a thorough critique of the plan considering:
Evaluate whether the plan can be split into independent tasks. If the plan contains multiple features or changes that can be executed separately, strongly recommend splitting it into separate plans. Why this matters:
Example: A plan with "Add user authentication", "Refactor database layer", and "Add caching" should be split into three separate plans if these can be implemented independently.
When suggesting a split, be specific about which sections should become their own plan.
Write the critique to [plansFolder]/[selected-plan]/critique.md.
When writing the critique, follow the original chapters from plan.md.
The goal is to be able to easily override the plan.md if the user chooses to merge critique.md with plan.md
Use the format in critique-format.md.
Notes:
README.md file, dependencies (package.json, requirements.txt, etc.), git state if relevant,
whether referenced files/APIs actually exist, supporting files in the plan folder.plan.md file and reference those, so that the user can easily find what text to replace/update.class, interface, type, or struct definitionsfunction/def/fn declarations in the target file/model command before running it.