# Plan Intake Review

> Use on a loop interval to check for plans awaiting review in planning/needs-review/, move to in-progress, dispatch plan-reviewer subagent, append feedback, and move to reviewed/ - silent when no files found

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

---

# Plan Review Intake

Poll the review queue, pick up plans, review them with a subagent, and deposit reviewed plans with feedback appended.

**Core principle:** Move before processing. The file system state reflects reality at all times.

## Process

### Step 1: Check for Work

```bash
ls planning/needs-review/*.md 2>/dev/null | grep -v .gitkeep
```

- **No files:** Do nothing. Return silently. No output at all. (This skill runs on a loop.)
- **One file:** Proceed to Step 2.
- **Multiple files:** Ask the user which one to review. Wait for answer.

### Step 2: Check for Stale In-Progress

```bash
ls planning/needs-review/in-progress/*.md 2>/dev/null | grep -v .gitkeep
```

If files exist in `in-progress/`:
- Alert the user: "Found stale in-progress review: `<filename>`. A previous review did not complete."
- Ask: Resume the stale review, or move it back to `needs-review/` and start fresh?
- Wait for user decision before proceeding.

### Step 2.5: Defensive Type Check

Read the file's frontmatter `type:` field (if present):

| Found type | Action |
|---|---|
| `plan` | OK — proceed to Step 3. |
| `code-review-plan` | OK — meta-plans review like any plan. Proceed to Step 3. |
| (missing) | OK — treat as `plan`. Proceed to Step 3. |
| `code-review-slice` | **Auto-forward.** Move file to `planning/code-reviews/needs-review/<file>.md` and alert: "Auto-forwarded `<filename>` from plan queue to code-review queue (type: code-review-slice)." Skip this run; the file will be picked up by `code-intake-review`. |
| `reminder` | Move back to `needs-review/` with an intake-error note: reminders are not reviewed. See `reminders-set`. Alert user. |
| any other value | Move back to `needs-review/` (if not already there) with a one-line intake-error note prepended quoting the unexpected value. Alert user. |

This is the mirror of `code-intake-review`'s Step 3a. Together the two checks self-correct a spec dropped in the wrong queue without losing the file — which matters because the two queues are one keystroke apart and the failure is otherwise silent.

### Step 3: Move to In-Progress

```bash
mv planning/needs-review/<file>.md planning/needs-review/in-progress/<file>.md
```

**This move MUST happen BEFORE any review processing begins.** This prevents a second agent from picking up the same file.

### Step 4: Dispatch Plan Reviewer

Dispatch a `superpowers:code-reviewer` subagent using the template at `plan-intake-review/plan-reviewer.md`.

Fill these placeholders:
- `{PLAN_FILE_PATH}` — Absolute path to the file in `in-progress/`
- `{PROJECT_ROOT}` — Project root directory
- `{PLAN_TITLE}` — The H1 heading from the plan file

The subagent reviews the plan for: architecture soundness, completeness, implementability, consistency with CLAUDE.md conventions, and gaps.

### Step 5: Append Review to Plan

Take the subagent's output and append it to the plan file in `in-progress/`:

```markdown

---

## Plan Review

**Reviewed:** YYYY-MM-DD HH:MM
**Reviewer:** Claude Code (plan-review-intake)

### Strengths
[From subagent output]

### Issues

#### Critical (Must Address Before Implementation)
[From subagent output]

#### Important (Should Address)
[From subagent output]

#### Minor (Consider)
[From subagent output]

### Recommendations
[From subagent output]

### Assessment
**Implementable as written?** [Yes/No/With fixes]
**Reasoning:** [1-2 sentences]
```

### Step 6: Move to Reviewed

```bash
mv planning/needs-review/in-progress/<file>.md planning/needs-review/reviewed/<file>.md
```

### Step 7: Notify

If running interactively (not on a `/loop`), report:
- Which plan was reviewed
- Summary of assessment (implementable? critical issues?)
- Where the reviewed file is

If running on a loop, still output a brief one-liner so the user knows it ran:
`Plan reviewed: <filename> — <assessment verdict>`

## Error Handling

| Situation | Action |
|-----------|--------|
| File disappeared from in-progress | Another agent moved it. Log warning, skip. |
| Subagent fails | Move file back to `needs-review/`. Report error to user. |
| Stale file in in-progress | Ask user before proceeding (Step 2). |
| Plan file has no content | Move to reviewed with note: "Empty plan — nothing to review." |

