Agent skill
review-plan
Review a plan against the current codebase, focusing on problem framing, expected behavior, and architecture decisions
Install this agent skill to your Project
npx add-skill https://github.com/sushichan044/dotfiles/tree/main/.agents/skills/review-plan
SKILL.md
Review Plan
Review the plan passed in arguments against the current codebase.
This skill can be invoked directly by the user or indirectly from Claude Code hooks through codex exec.
Hook-driven invocations may reuse a Claude-session-specific Codex thread via codex exec resume <thread_id>.
When invoked from a hook, $ARGUMENTS should be treated as the current full plan.
If the same Codex thread includes a previous review of an older plan revision, you may use that thread context to understand what changed, but you must still review the current full plan.
This command is diagnostic only.
- Do not edit files.
- Do not rewrite the plan.
- Do not drift into implementation details unless they expose a missing architectural decision.
Start with repository exploration, then review the plan.
Workflow
- Treat
$ARGUMENTSas the current full plan to review. - If argument is empty, warn and exit with no findings.
- Explore the repository to find the code, configuration, docs, and conventions that the plan touches.
- Review the plan using the priorities below.
- Return exactly one JSON object matching the configured output schema.
Review Priorities
Prioritize these questions in order:
- Is the problem being solved clear?
- Is the reason for solving it clear and justified?
- Is the expected behavior or success criteria concrete?
- Are the architecture decisions clear, coherent, and aligned with the current codebase?
- Are boundaries, responsibilities, dependencies, risks, and non-goals explicit enough?
- Are there unresolved decisions or ambiguities that would likely cause rework?
Focus more on what to solve, why solve it, and architecture decisions than on how to implement it.
Only flag implementation-detail gaps when they make the plan unsafe, contradictory, or impossible to execute confidently.
Evidence Rules
- Ground every substantial finding in repository evidence when possible.
- Cite concrete files, symbols, directories, or established patterns.
- If the repo does not provide enough evidence, say that explicitly instead of guessing.
- Do not reject a plan for being different from the current codebase unless you can explain the concrete mismatch or migration cost.
- Ignore style nits, wording polish, and task-granularity preferences unless they obscure a decision.
- Do not limit the verdict to changes since the last review. Review the current full plan.
Asking Questions
Do not start an interview by default.
Use AskUserQuestion only when:
- one critical ambiguity prevents any meaningful verdict even after repository exploration.
Otherwise, reflect missing information through findings or reason.
Severity
P1: Blocking issue. Resolve before implementation starts.P2: Important ambiguity or mismatch. Clarify before implementation.P3: Useful improvement or missing context. Not immediately blocking.
Output Format
Return exactly one JSON object and nothing else.
Use this shape:
{
"decision": "allow | deny",
"reason": "Short summary suitable for a hook permission message",
"findings": [
{
"severity": "P1 | P2 | P3",
"title": "Short finding title",
"why": "Why this matters",
"repoEvidence": "Concrete repo evidence or an explicit statement that the repo lacked evidence",
"suggestion": "What to clarify or change"
}
]
}
Decision rules:
- Return
"deny"when any unresolvedP1orP2finding exists. - Return
"allow"when there are no unresolvedP1orP2findings. P3findings may coexist with"allow".- When there are no findings, return an empty
findingsarray.
Keep reason concise and high-signal because hooks may surface it directly to the user.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
terraform-style-guide
Generate Terraform HCL code following HashiCorp's official style conventions and best practices. Use when writing, reviewing, or generating Terraform configurations.
fix-github-actions-ci
GitHub Actions CI の失敗を調査して修正するためのスキルです。CI ログを分析して失敗箇所・原因を特定し、そのまま修正作業まで行います。
dd-logs
Log management - search, pipelines, archives, and cost control.
golang-safety
Defensive Golang coding to prevent panics, silent data corruption, and subtle runtime bugs. Use whenever writing or reviewing Go code that involves nil-prone types (pointers, interfaces, maps, slices, channels), numeric conversions, resource lifecycle (defer in loops), or defensive copying. Also triggers on questions about nil panics, append aliasing, map concurrent access, float comparison, or zero-value design.
resolve-merge-conflict
現在の branch を分岐元の最新に rebase するときに使う。まず rebase を実行し、止まった conflict を順番に解消して前に進める。長い事前調査を避けて、必要な file だけ見て片付けたいときに使う。
golang-data-structures
Golang data structures — slices (internals, capacity growth, preallocation, slices package), maps (internals, hash buckets, maps package), arrays, container/list/heap/ring, strings.Builder vs bytes.Buffer, generic collections, pointers (unsafe.Pointer, weak.Pointer), and copy semantics. Use when choosing or optimizing Go data structures, implementing generic containers, using container/ packages, unsafe or weak pointers, or questioning slice/map internals.
Didn't find tool you were looking for?