name: plan-review
description: Review and update an existing implementation plan stored in Obsidian. Takes an issue ID as argument (e.g. /plan-review ). Updates the Obsidian note in-place. NEVER creates local plan files.
Review/Update Implementation Plan
Argument: Issue ID (e.g. <issue-id>)
Target note: working/<project-name>/plans/<issue-id>-plan.md (in Obsidian)
Path Logic:
- Project Name: Use the
BEADS_PROJECT_NAMEenv var or the current directory name. - Note Path:
working/<project-name>/plans/<issue-id>-plan.md
HARD CONSTRAINTS — VIOLATIONS ARE NEVER ACCEPTABLE
DO NOT use write_file or replace tools on ANY .md file. Not in docs/, not anywhere. Zero local markdown writes.
The ONLY write action permitted is obsidian_create_note to update the plan note at the target path above. If you find yourself reaching for any other write tool, STOP — you are off track.
Permissions
- READ any codebase file for analysis context (glob, search_file_content, read_file, run_shell_command for non-destructive commands).
- READ the Obsidian plan using
obsidian_read_note. - WRITE ONLY via
obsidian_create_noteto update the plan note at the target path. - NO local file writes of any kind. No
docs/, no temporary files. - NO beads updates (no
bd update,bd close, etc.). - NO build/test/lint commands.
Workflow
- Find the plan note using
obsidian_search_noteswith the issue ID. The expected path isworking/<project-name>/plans/<issue-id>-plan.md. - Read the existing plan using
obsidian_read_note. This skill assumes a plan already exists (created via/analyze). If the note does not exist, inform the user and stop. - Gather context by reading relevant codebase files (handlers, templates, configs, tests — whatever the plan needs). Use glob/search_file_content/read_file freely.
- Review the plan against the codebase. Look for:
- Stale references (files moved, renamed, or deleted since the plan was written)
- Missing implementation details (vague steps that need file paths and line numbers)
- Incorrect assumptions about existing code structure
- Missing risks or dependencies
- Phases that could be reordered or parallelized
- Update the plan note in Obsidian using
obsidian_create_noteat the same path (this overwrites the existing note). Preserve the existing structure; refine, don't rewrite. You MUST callobsidian_create_notebefore finishing — a review without an update is incomplete. - Confirm what you changed and stop. Do not proceed to implementation.
Completion Checklist
Before you finish, verify:
- You called
obsidian_read_noteto read the plan - You called
obsidian_create_noteto write the updated plan back - You did NOT use
write_fileorreplaceon any markdown file
Plan Format Reference
# Implementation Plan: <issue-id> - <title>
## Executive Summary
<1-2 paragraphs: what, why, scope boundaries>
## Tickets in Scope
| ID | Title | Status | Dependencies | Parallelizable |
| --- | ----- | ------ | ------------ | -------------- |
## Implementation Phases
### Phase N: <name>
**Tickets:** <ids>
- **Work:** <bullet list of specific steps with file paths and line numbers>
- **Files:** <list of files to modify>
- **Verification:** <how to confirm this phase works>
## Risk Assessment
- **Risk:** <what could go wrong>
- **Mitigation:** <how to prevent/handle it>
## Out of Scope
- <items explicitly excluded>