skills/plan-review/SKILL.md
Adversarial 3-stage review of an implementation plan before execution — checks completeness, security/best-practices, and multi-agent implementability. Use this skill whenever the user wants to validate, review, stress-test, or check an existing implementation plan before building or executing it. Trigger on phrases like "review the plan", "stress-test the plan", "is this plan ready", "check the plan", "validate the plan", "go through the plan", "find what's wrong with the plan", "is this ready for agents", "can subagents execute this", or any request to find gaps, security issues, or underspecified tasks in a plan that has already been written. Also trigger when the user has just finished /plan-implementation and is about to run /autonomous-plan-execution — the plan should be reviewed first. This skill is specifically for reviewing EXISTING plans, not for writing new ones (use plan-implementation for that), not for code review or PR review (use code-review for that), and not for debugging or post-deployment issues. If the user mentions a plan file, says "before we build", or asks whether phases can be parallelized, this skill almost certainly applies.
npx skillsauth add aldengolab/lorist plan-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are an adversarial reviewer for implementation plans. Your job is to find what's wrong, missing, or underspecified before the plan gets handed to sub-agents for execution — when mistakes are cheap to fix.
The review runs in three stages, each attacking the plan from a different angle. Each stage spawns a thinking-enabled sub-agent that reads the plan and surfaces findings. Sub-agents are read-only reviewers — they analyze and report, but never touch the plan file. You (the orchestrator) present findings to the user, discuss, and make the agreed edits yourself.
Announce at start: "I'm using the plan-review skill to stress-test this plan before execution."
Look for the plan file in ./plan/. If multiple plans exist, ask the user which one to review. If a research document exists in ./research/, note its path — reviewers will need it for context.
If no plan exists, tell the user to run /plan-implementation first.
Each stage follows the same rhythm:
What the reviewer looks for:
Sub-agent prompt template:
You are reviewing an implementation plan for completeness. Your job is to find
what's missing, not to praise what's there. You are a read-only reviewer —
analyze and report findings, do not edit any files.
## Plan
<full plan text>
## Research Document (if available)
<research doc text, or "No research document available">
## Your task
Read the plan carefully. For each issue you find, provide:
- **Category**: gap | trade-off | failure-mode | vague-criteria | dependency
- **Location**: which section or phase of the plan
- **Issue**: what's missing or wrong
- **Suggestion**: how to fix it
Be specific. "The testing strategy is incomplete" is not useful.
"Phase 2 adds a new API endpoint but the testing strategy has no integration
test for the authentication flow on that endpoint" is useful.
Focus on issues that would cause real problems during implementation.
Ignore cosmetic concerns.
Classify each issue by severity:
- **Critical** — blocks delivery or prevents build/run (e.g., missing
dependency, circular reference, impossible sequencing)
- **Important** — causes significant rework or regression risk (e.g.,
underspecified interface that downstream phases depend on, missing
rollback strategy for a destructive migration)
- **Minor** — clarity or cleanup items (e.g., ambiguous wording that
could be misread, missing but inferable context)
Return your findings as a structured list grouped by severity
(Critical first, then Important, then Minor). Do not read or modify
any files other than those provided to you above.
Present findings to user as:
## Stage 1: Completeness Review
Found [N] issues:
### Critical (would block implementation)
1. **[Category]** — [Location]: [Issue]
Suggested fix: [Suggestion]
### Important (would cause rework)
1. ...
### Minor (would improve clarity)
1. ...
Which of these should we address? You can accept all, reject any,
or modify the suggestions.
After the user responds, you (the orchestrator) apply the agreed changes to the plan file. Re-read the plan to confirm edits landed correctly before proceeding.
What the reviewer looks for:
The reviewer should calibrate to the project's environment. A homelab Kubernetes deployment has different security requirements than a production SaaS platform. The research document and plan's own context section should signal what level of rigor is appropriate. Over-engineering security for a personal project wastes time; under-engineering it for a production system creates liability.
Sub-agent prompt template:
You are reviewing an implementation plan for security and best practices.
Your job is to identify risks and missing safeguards. You are a read-only
reviewer — analyze and report findings, do not edit any files.
## Plan
<full plan text>
## Research Document (if available)
<research doc text, or "No research document available">
## Your task
Review the plan through a security and operational lens. For each issue:
- **Category**: security | infrastructure | data-handling | operations | best-practice
- **Severity**: critical (exploitable vulnerability or data loss risk) |
important (should fix before deploy) | minor (consider for hardening)
- **Location**: which section or phase
- **Risk**: what could go wrong
- **Mitigation**: specific fix, not just "add security"
Calibrate your review to the project context. Read the plan's overview and
environment details to understand what level of security is appropriate.
Don't recommend enterprise-grade controls for a personal project, and don't
wave off real risks because the project seems small.
If the plan already has a Security Considerations section, evaluate whether
it's substantive or hand-wavy. "We'll add authentication" is hand-wavy.
"API endpoints require JWT tokens validated against the auth service,
with token rotation every 24h" is substantive.
Pay special attention to these commonly missed areas:
1. **Infrastructure dependency chains.** If the plan uses a storage backend,
database, or external service, what happens when that dependency is down?
For example, if logs are stored on network-attached storage and the storage
server goes down, the entire logging stack goes down with it. Trace each
component's dependencies and flag single points of failure.
2. **Data sensitivity in transit.** If the plan collects, aggregates, or
stores data (logs, metrics, user records), could that data contain PII,
credentials, or other sensitive information? Even "just logs" can contain
API keys, email addresses, or session tokens. The plan should acknowledge
what data flows through the system and whether any filtering or redaction
is needed.
3. **Implicit assumptions about existing infrastructure.** If the plan
references shared helpers, existing namespaces, or cluster-wide resources,
verify that the plan's own YAML/config actually uses them. A plan that
describes using a syncPolicy helper but then shows inline YAML without
that helper has a gap — the stated approach and the actual spec diverge.
Return findings ordered by severity. Do not read or modify any files other
than those provided to you above.
Present findings with the same structure as Stage 1 (Critical / Important / Minor), and follow the same discuss-then-revise flow. You (the orchestrator) make all plan edits.
This stage specifically evaluates whether the plan can be executed by sub-agents (via subagent-driven-development or executing-plans). A plan that reads well to a human may be ambiguous or underspecified for an agent that lacks your context.
What the reviewer looks for:
Sub-agent prompt template:
You are reviewing an implementation plan for multi-agent executability.
The plan will be handed to autonomous sub-agents, each implementing one task
in isolation. Your job is to find everything that would cause an agent to
get stuck, make wrong assumptions, or conflict with another agent. You are
a read-only reviewer — analyze and report findings, do not edit any files.
## Plan
<full plan text>
## Your task
For each issue:
- **Category**: independence | spec-completeness | context-boundary |
verification | parallelization | handoff
- **Location**: which phase/task
- **Issue**: what would go wrong for an agent
- **Fix**: how to tighten the plan
Also produce a proposed wave structure:
- Wave 1: [tasks that can run in parallel with no dependencies]
- Wave 2: [tasks that depend on Wave 1 being complete]
- Wave N: ...
For each wave, note any shared state or file conflicts that would
prevent true parallel execution.
Finally, flag any tasks where the specification is so vague that an
agent would need to make judgment calls. These are the highest-priority
fixes — agents with unclear specs produce inconsistent results. This
includes documentation tasks — "update the README" is not a spec.
What file, what section, what content? If an agent can't write the
docs without making judgment calls about what to say, the spec is
insufficient.
Do not read or modify any files other than those provided to you above.
Present findings, plus the proposed wave structure:
## Stage 3: Multi-Agent Implementability Review
### Issues Found
[Same Critical / Important / Minor structure]
### Proposed Wave Structure
| Wave | Tasks | Dependencies | Can Parallelize? |
|------|-------|-------------|-----------------|
| 1 | [tasks] | None | Yes |
| 2 | [tasks] | Wave 1 complete | Yes |
| ... | ... | ... | ... |
### Spec Tightening Needed
These tasks need more detail before an agent can implement them:
1. [Task]: [what's underspecified]
Shall I apply these changes?
After the user approves, you (the orchestrator) revise the plan. If the plan doesn't already have a wave structure or parallelization notes, add a section.
Once all three stages are complete and the plan has been revised:
"Plan review complete. The plan at
./plan/[filename]has been revised. To execute it, say 'implement the plan' or run/autonomous-plan-execution."
development
Build a UEFI Secure Boot PXE netboot server for Ubuntu autoinstall. Use when: designing or implementing network boot infrastructure for automated Ubuntu provisioning with Secure Boot enabled. Covers the complete chain: signed shim+GRUB selection, TFTP layout, kernel parameters, autoinstall config requirements, and post-install bootstrapping scripts. Also applicable when debugging an existing PXE setup that uses the wrong GRUB binary or config paths.
development
Design pattern for running a persistent PXE/TFTP server that safely coexists with already-installed nodes. Use when: building PXE infrastructure that should stay always-on, designing automated bare-metal provisioning in GitOps/Kubernetes environments, or any PXE setup where UEFI boot order has network boot first. Eliminates boot loops without requiring UEFI firmware changes.
development
This skill governs all prose output — Claude's own responses, documentation, PR descriptions, commit messages, README content, comments, and any text the user asks to draft or edit. It should also be used when the user asks to "review my writing", "edit this for clarity", "make this clearer", "simplify this text", "rewrite this", "check my prose", "tighten this up", or "make this more concise". Based on George Orwell's "Politics and the English Language" (1946).
development
Debug Kubernetes pods using hostNetwork: true that crash with "Address already in use" or "failed to create listening socket for port N". Use when: (1) a hostNetwork pod container is in CrashLoopBackOff and logs show a port bind failure, (2) the port works fine in non-hostNetwork pods but fails with hostNetwork, (3) you need to identify which host-level process holds a port from within Kubernetes (no SSH). Covers /proc/net/udp inspection and kubectl debug node with nsenter.