Help us improve
Share bugs, ideas, or general feedback.
From Plan & Critique
Reviews and provides high-effort critique of execution plans stored in plan.md, with project-specific LSP detection and session management.
npx claudepluginhub serbanghita/claude-code-plan-critique --plugin planHow this skill is triggered — by the user, by Claude, or both
Slash command
/plan:critiqueopusThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are performing an iterative review of the user's execution plan.
Reviews implementation Plan files in parallel using Codex, Gemini, and Claude to analyze validity, gaps, risks, and improvements. Invoke via /plan-review after plan creation.
Invokes Codex to review implementation plans for gaps, risks, suboptimal steps, and alternatives. Triggered after Claude plans or on requests for second opinions.
Orchestrates parallel architecture and experience reviews of implementation plans, scores findings across dimensions like data flow and UX, consolidates ranked fixes for user approval and auto-application. Use after planning, before non-trivial coding.
Share bugs, ideas, or general feedback.
You are performing an iterative review of the user's execution plan. Critique the plan, code, architecture, system design, and design patterns.
To do this, follow these steps precisely:
Read .claude/plan-critique-config.json, get plansFolder path from settings. If the file doesn't exist or
plansFolder is not set: Respond with "No plans folder configured. Run /plan:create first to set up."
Get the Claude Code process ID by running: echo $PPID. Store this as sessionPID.
Clean up stale sessions: Scan [plansFolder]/.sessions/ for files. For each file named with a PID, check if that
process is still running via kill -0 [PID] 2>/dev/null. If the command fails (process not running), delete that
session file. This is non-blocking cleanup.
Read the current session's plan from [plansFolder]/.sessions/[sessionPID] 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/[sessionPID] 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"CLAUDE.md does not exist in project root: Respond with "Create a CLAUDE.md file in the root of your project."Detect project languages and check for LSP support:
tsconfig.json, *.ts, or *.tsx files in the projectcomposer.json or *.php files in the projecttypescript-lsp plugin (claude-plugins-official). Check with the /plugins command."php-lsp plugin (claude-plugins-official). Check with the /plugins 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:
CLAUDE.md project standards?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:
CLAUDE.md, The 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 filemcp__ide__getDiagnostics to pull current errors/warnings from the IDE for files referenced in the plan