# Plan Send Review

> Use when you have authored a plan and want the other AI agent (Claude or Copilot) to review it - copies the active plan to planning/needs-review/ for adversarial review

- Skill: `darthmolen/plan-send-review` (Agent Skill)
- Install (CLI): `npx skillmds@latest add darthmolen/plan-send-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/darthmolen/plan-send-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: darthmolen (https://skillmd.com/u/darthmolen)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/darthmolen/plan-send-review

---

# 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-DD` is 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:

```yaml
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

```bash
# 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

1. Extract the first H1 heading (`# ...`) from the plan
2. Kebab-case it: lowercase, spaces to hyphens, strip special characters
3. Prepend today's date: `YYYY-MM-DD-<slug>.md`
4. If a file with that name already exists in `planning/needs-review/`, append `-2`, `-3`, etc.
5. 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

```bash
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

