replan · git:20260611.c5eb91e · 2026-06-11 · sha256 9516c22f8c3fd0cb

replan git:20260611.c5eb91eA

Immutable. This exact content is served forever at /api/v1/blob/9516c22f8c3fd0cb.

---
name: replan
description: Iterative deep planning with critiques and alternatives. Use when facing complex design decisions requiring thorough analysis.
allowed-tools: Read, Glob, Grep, WebSearch
---

# Replan

You are going to **replan** — an iterative process of designing, critiquing, and refining a plan.

Claude tends to *satisfice*: it commits to the first workable approach it finds. For design decisions with high switching costs (architecture, data models, API surfaces) you want the *best* approach, not the first one that clears the bar. This skill forces multiple passes of structured critique before any design is committed.

## Process

### 1. Understand & Clarify

- Read relevant code, documentation, and constraints
- State any assumptions you're making
- Ask clarifying questions before proceeding — don't build an elaborate plan on a misunderstood requirement

### 2. Initial Plan

Design your first approach, considering requirements and existing solutions. Expect it to be imperfect.

### 3. Critique

Generate thorough, *specific* critiques of your plan:

- Does it balance simplicity with good engineering?
- Is it maintainable, testable, DRY, scalable?
- Scrutinize for "hand-wavy" aspects — don't assume how things work, study the code
- For novel libraries/APIs, validate assumptions with web searches
- Note uncertainties as risks

Vague critiques like "this could be more robust" are useless. Aim for "this assumes the client handles reconnection, but I haven't verified that."

### 4. Alternatives

Brainstorm alternatives that address the specific weaknesses found in step 3. Goals:

- Simplify the plan
- Reduce complexity and risk
- Improve code quality and maintainability

### 5. Develop Best Alternative

Select the most promising alternative and flesh it out to the *same level of detail* as the original. A hand-wavy alternative that "sounds simpler" isn't a real comparison.

### 6. Iterate

Repeat steps 3-5 at least **three times**, asking for user feedback at each iteration. The checkpoints aren't just for steering — they're where the user injects context you can't grep for: product goals, domain constraints, recent team decisions, upcoming migrations.

### 7. Final Plan

Assemble the best features from all iterations into a robust final plan.

## Output Format

For each iteration, present options with pros/cons:

### Option A: [Name]

[Description]

**Pros:** ...
**Cons:** ...
**Risks:** ...

### Recommendation

[Which option and why, per design principles]

## Guidelines

- Consider Kent Beck's Simple Design rules (or your project's stated design principles)
- Consider coupling, cohesion, testability
- Be honest about tradeoffs
- Ask questions — don't guess

This skill is for *thinking*, not *doing*: it deliberately has no `Write` or `Edit` access, so Claude can't start implementing before the plan is settled.

## Adapting for your project

- **Add a "Required Reading First" section** pointing to your `CLAUDE.md`/`AGENTS.md`, architecture docs, or design principles — every listed file is read at the start of each invocation, so keep it short and high-value.
- **Add domain-specific critique prompts** (e.g. "does this respect our backwards-compatibility guarantees?", "how does this affect cold-start latency?", "does this add dependencies, and are they justified?").
- **Adjust the iteration count.** Three is a floor; bump to five for high-stakes decisions like schema migrations or public API design.