Send Plan for Review
Copy the active session's plan file to the project's review queue so the other AI agent can review it.
Naming Convention
Plans copied into planning/needs-review/ follow this format strictly:
YYYY-MM-DD-<slug>.md
YYYY-MM-DDis the date the plan is queued (today, when this skill runs).<slug>is a kebab-case slug derived from the plan's first H1 heading.
This is enforced regardless of agent (Claude Code, Copilot CLI, etc.). Any agent picking up plan files from the queue should expect this format. It mirrors the convention code-send-review applies to slice specs, so both queues read the same way.
Frontmatter Convention
The plan being copied should carry a frontmatter type: field. Two types use this flow:
type: plan # standard plan (default)
type: code-review-plan # meta-plan describing how to slice a branch for review
Both flow through plan-intake-review and plan-receive-review identically. The discriminator matters at the boundary: plan-intake-review auto-forwards type: code-review-slice files to the code-review queue, because they do not belong here.
A reminder never enters this queue at all. It carries kind: reminder — a corpus field owned by plan-writing-syntax, not a type: value — and reminders are not reviewed. See reminders-set.
If the plan being copied has no type field, treat it as type: plan.
Plan File Locations
Find the active plan in one of these locations:
| Agent | Location | Notes |
|---|---|---|
| Claude Code | ~/.claude/plans/<name>.md |
Active plan from current session |
| Copilot CLI | ~/.copilot/session-state/<session-id>/plan.md |
Session plan file |
| Project | planning/**/*.md (excluding needs-review/) |
Any plan in the project tree |
Process
Step 1: Locate the Plan
# Claude plans
ls -t ~/.claude/plans/*.md 2>/dev/null | head -5
# Copilot session plans (most recent)
ls -t ~/.copilot/session-state/*/plan.md 2>/dev/null | head -5
# Project plans (excluding the review pipeline)
find planning/ -name "*.md" -not -path "*/needs-review/*" 2>/dev/null
If multiple candidates exist, ask the user which plan to send.
Step 2: Name the Review File
- Extract the first H1 heading (
# ...) from the plan - Kebab-case it: lowercase, spaces to hyphens, strip special characters
- Prepend today's date:
YYYY-MM-DD-<slug>.md - If a file with that name already exists in
planning/needs-review/, append-2,-3, etc. - If no H1 heading exists, ask the user for a descriptive name
Example: 2026-03-14-streaming-response-architecture.md
Step 3: Copy to Review Queue
cp <source-plan> planning/needs-review/YYYY-MM-DD-slug.md
Copy, not move. The original plan stays in place. The author continues working with their copy.
Step 4: Confirm
Report to the user:
- Source file path
- Destination file path
- File size (sanity check it copied correctly)
Do Not
- Move the original plan (copy only)
- Send plans that are clearly incomplete (no tasks, no architecture section) without warning the user
- Modify the plan content during copy