checkpoint-preview

Use after autonomous /workflow execution to walk the diff by concern (not by file) with risk-tagged hot spots — bridges agent autonomy to human judgment before debate or delivery.

5 stars

Best use case

checkpoint-preview is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use after autonomous /workflow execution to walk the diff by concern (not by file) with risk-tagged hot spots — bridges agent autonomy to human judgment before debate or delivery.

Teams using checkpoint-preview should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/checkpoint-preview/SKILL.md --create-dirs "https://raw.githubusercontent.com/forbee-dev/ForgeBee/main/forgebee/skills/checkpoint-preview/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/checkpoint-preview/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How checkpoint-preview Compares

Feature / Agentcheckpoint-previewStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use after autonomous /workflow execution to walk the diff by concern (not by file) with risk-tagged hot spots — bridges agent autonomy to human judgment before debate or delivery.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Checkpoint Preview

## Objective

Bridge autonomous implementation back to human judgment by walking the diff **by concern** (cohesive design intents) rather than by file. Surface 2-5 high-blast-radius spots with risk tags so the reviewer can decide: ship, rework, or dig deeper.

Adapted from BMAD's bmad-checkpoint-preview.

## Why this exists

Code review has two failure modes:
- **Skim and miss:** reviewer scans the diff, nothing jumps out, approves
- **Lose the forest:** reviewer methodically reads every file but loses the thread

Both result in the same outcome — the review didn't catch the thing that mattered. The underlying issue is sequencing: a raw `git diff` presents changes in file order, which is almost never the order that builds understanding.

This skill makes the LLM do the reconstruction work — read the diff, spec, and surrounding codebase, then present the change in an order designed for comprehension.

## When this fires

- After `/workflow` Execute + Spec Compliance Check phases, **before** Code Debate (Large/Critical)
- After `/team` finishes dispatching specialists, before final review-all
- Whenever a user asks to "walk me through this diff" or "review this branch"

Skip when:
- User passes `--skip-checkpoint` to `/workflow`
- Changes are trivial (1-2 files, single concern)

## The 5 Steps

### 1. Orientation
Produce a one-line intent summary plus surface area stats:
```
Intent: Add user CSV export endpoint with date-range filter.
Stats: 8 files changed, 3 modules touched, 247 lines of logic added, 1 schema migration, 2 new public interfaces.
```

The reviewer confirms "yes, that's what I asked for" before reading any code.

### 2. Walkthrough by Concern (NOT by file)

Group the diff by cohesive design intent — "input validation", "API contract", "auth integration" — and present top-down (highest-level intent first, then supporting implementation). The reviewer never encounters a reference to something they haven't seen yet.

```markdown
### Concern 1: API contract (the user-facing interface)
The endpoint design was chosen for X reason. Trade-off: Y.
- `src/api/users/export.ts:14-32` — route definition
- `src/api/users/export.types.ts:1-22` — request/response shapes

### Concern 2: Input validation (defending the boundary)
Validation runs before any DB access. Date format is RFC3339.
- `src/api/users/export.ts:34-58` — validators
- `src/lib/validation/date-range.ts:1-40` — shared validator

### Concern 3: Streamed CSV generation (memory safety)
For large datasets we stream rather than buffer to avoid OOM.
- `src/api/users/export.ts:60-95` — stream pipeline
- `src/lib/csv/streaming.ts:1-50` — generic stream helper
```

### 3. Detail Pass (high-blast-radius hot spots)

Surface 2-5 spots where a mistake would have the highest blast radius. Tag by risk category:

- `[auth]` — auth middleware, sessions, login, JWTs, passwords
- `[schema]` — migrations, model defs, RLS policies
- `[billing]` — Stripe/Paddle hooks, subscription state, invoices
- `[public API]` — REST routes, GraphQL schema, OpenAPI
- `[security]` — input validation, sanitization, file uploads, eval/exec
- `[data-loss]` — delete operations, irreversible writes, hard-delete migrations
- `[perf]` — query loops, N+1, large allocations

Ordered by what breaks worst if wrong, not by file position.

```markdown
### Hot Spots
1. `[public API]` `src/api/users/export.ts:42` — auth check uses `req.user.id` but middleware sets `req.user` only after auth. Path with expired-token returns 200 with empty CSV instead of 401. Worst case: silent data exposure if client doesn't check.
2. `[data-loss]` `migrations/2026_05_19_export_log.sql:8` — DROP TABLE in down-migration. If rollback runs, audit log lost. Recommend keep down-migration empty or rename instead.
3. `[perf]` `src/lib/csv/streaming.ts:32` — buffer fills before flush only when stream backpressure triggers; on slow consumers, memory still grows. Add hard limit.
```

### 4. Adversarial Findings Surface (if Code Debate ran)

If Code Debate has already run on this work, surface unresolved Skeptic concerns — not the bugs that were fixed, but the decisions the review loop flagged that the reviewer should be aware of.

### 5. Verdict Prompt

```markdown
### Verdict
- [ ] Ship — design is sound, hot spots understood, accept the trade-offs
- [ ] Rework — one or more hot spots need to be addressed before ship
- [ ] Dig deeper — request a focused review on a specific area
```

## Output Shape

Single message with the 5 sections in order. No file dumps — only the concerns and hot spots.

## Never

- Never present changes in file order — concern order only
- Never list more than 5 hot spots (forces real prioritization)
- Never report bugs that are already fixed in the diff — those are noise
- Never substitute for review-all or Code Debate — this is a human-handoff layer, not a quality gate
- Never produce a verdict yourself — the human picks ship / rework / dig deeper

Related Skills

strategy-skeptic

5
from forbee-dev/ForgeBee

Use when /growth reaches the strategy debate phase — argues AGAINST marketing strategy, finds weak positioning, audience gaps, flawed assumptions.

strategy-judge

5
from forbee-dev/ForgeBee

Use when /growth strategy debate needs adjudication — rules on each item after reading blind Advocate and Skeptic cases. Approve, block, or flag.

strategy-advocate

5
from forbee-dev/ForgeBee

Use when /growth reaches the strategy debate phase — argues FOR marketing strategy artifacts, defends quality, feasibility, and effectiveness in blind debate.

review-wordpress

5
from forbee-dev/ForgeBee

Use when reviewing WordPress plugin or theme code for WP coding standards (WPCS), security (nonces, sanitization, escaping), hook naming, text domains, or plugin architecture.

review-tests

5
from forbee-dev/ForgeBee

Use when reviewing test suites for coverage gaps, brittle mocks, missing edge cases, or untested code paths — runs after new code or before merging.

review-security

5
from forbee-dev/ForgeBee

Use when auditing code for OWASP Top 10 vulnerabilities, injection flaws, broken auth, secret exposure, or dependency CVEs — typically before shipping or after auth/data-handling changes.

review-prompt

5
from forbee-dev/ForgeBee

Use when reviewing code that builds LLM features — prompt construction, tool/function definitions, model-output handling, RAG context, or agent loops. Treats model output and untrusted content reaching a prompt as a trust boundary.

review-performance

5
from forbee-dev/ForgeBee

Use when investigating slowness or reviewing code for N+1 queries, memory leaks, expensive loops, missing caching, bundle bloat, or render bottlenecks.

review-docs

5
from forbee-dev/ForgeBee

Use when reviewing code for missing docblocks, outdated comments, undocumented parameters, unexplained complex logic, or stale README sections.

review-database

5
from forbee-dev/ForgeBee

Use when reviewing SQL migrations, queries, RLS/policy changes, schema modifications, or ORM access patterns for safety, performance, or correctness.

review-code

5
from forbee-dev/ForgeBee

Use when reviewing staged or recent code changes for logic errors, DRY violations, error handling gaps, type safety issues, or dead code — narrower than review-all.

review-code-style

5
from forbee-dev/ForgeBee

Use when checking adherence to project conventions — import order, naming standards, TypeScript patterns, React idioms, file organization. Not formatting (use a linter).