SPECLAN Review Manual
This skill should be used when the user asks to "review plan", "review implementations", "review manual", "review-manual", "review from plan", "check all implementations", or wants to review all in-review items from a manual implementation plan file. Picks up a plan file created by the plan-manual skill and reviews ALL [?] items at once, verifying spec compliance and code quality.
What this skill does
# SPECLAN Review Manual
Pick up a manual implementation plan file and review ALL in-review items at once. Read every `[?]` item's spec, verify the implementation satisfies acceptance criteria, and assess code quality via two parallel subagents.
**CRITICAL CONSTRAINTS:**
- **NEVER edit spec files.** Do NOT use Edit or Write tools on any file inside `speclan/` except `speclan/.local/plans/*.plan.md`. No status changes (do NOT set status to "accepted", "released", or anything else), no acceptance criteria updates, no frontmatter changes. Spec files are input only — read them, never modify them. Spec statuses stay as `under-test`.
- **Only the plan file is modified** — the sole Edit operation in this entire skill is changing `[?]` → `[x]` checkboxes in the `*.plan.md` file after user approval. No other file is written to.
- **Review ALL `[?]` items in one invocation.** Do NOT review one item at a time.
## Plan File Structure
The plan file has a three-level hierarchy:
```
- [?] [F-XXXX] Feature Title ← Level 1
- [F-XXXX](path/to/feature-spec.md) ← SPEC PATH (extract from parentheses)
- [?] [R-AAAA] Requirement Title ← Level 2
- [R-AAAA](path/to/requirement-spec.md) ← SPEC PATH
- [?] [R-BBBB] Requirement Title ← Level 2
- [R-BBBB](path/to/requirement-spec.md) ← SPEC PATH
- [?] [CR-0088] CR Title — CHANGE REQUEST: ... ← Level 3
- [CR-0088](path/to/change-request-spec.md) ← SPEC PATH
```
Each checkbox line has a **markdown link sub-bullet** below it containing the spec file path inside the `(...)` parentheses.
(See also: the plan-manual skill's `references/plan-file-format.md` for the canonical format spec.)
## Workflow Overview
**IMPORTANT: Always use `EnterPlanMode` at Step 4.** Steps 4–7 run in plan mode — research and build the review plan for user approval before executing.
1. Find plan files
2. Select plan file (ask if multiple, recommend latest)
3. Parse plan, collect ALL `[?]` items (or exit if none/done)
4. Enter plan mode
5. Read ALL spec files for every `[?]` item
6. Identify implementation files (scope the review)
7. Build review plan for user approval
8. Execute review (spec compliance + code quality subagents)
9. Present combined review report
10. User decision (accept or defer)
11. Apply transitions (if accepting)
12. Report completion
## Step 1: Find Plan Files
```bash
SPECLAN_DIR="./speclan"
PLANS_DIR="$SPECLAN_DIR/.local/plans"
ls "$PLANS_DIR"/*.plan.md 2>/dev/null
```
If no plan files found, report:
```
No manual implementation plans found.
Run the plan-manual skill first to create a plan from approved requirements.
```
## Step 2: Select Plan File
If only one plan file exists, use it automatically.
If multiple plan files exist, present them to the user using AskUserQuestion. Sort by filename (which contains the timestamp) and **recommend the latest one**.
## Step 3: Parse Plan and Collect ALL `[?]` Items
Read the selected plan file. Parse the checkbox hierarchy and collect every `[?]` item into a flat list:
1. Identify all features (level 1) by `[F-XXXX]` pattern
2. For each feature, identify its children (requirements `[R-XXXX]` and change requests `[CR-XXXX]`)
3. Collect every item with a `[?]` checkbox into the review scope — this includes **features themselves**, not just their children. A `[?]` feature is a reviewable item just like a `[?]` requirement.
4. Note the spec file paths in the markdown link sub-bullets (read in Step 5)
**Example:** Given this plan:
```
- [?] [F-0297] SVG Rendering ← counted as [?] item #1
- [x] [R-0266] Layout ← skipped (already [x])
- [?] [R-0754] Arrow Connections ← counted as [?] item #2
- [?] [R-1496] Hover Tooltips ← counted as [?] item #3
- [?] [R-1635] Package Delivery ← counted as [?] item #4
```
The review scope is **4 items**: F-0297, R-0754, R-1496, R-1635. Read all 4 specs, verify all 4, mark all 4 as `[x]`.
If no `[?]` items exist:
- If `[ ]` or `[~]` items remain, report: "Items are still in progress. Nothing ready for review yet." Then **STOP**.
- If all items are `[x]`, report completion and ask whether to delete the plan file using AskUserQuestion:
```
All items in this plan have been reviewed and accepted.
Plan file: {filename}
Delete the plan file?
```
If the user agrees, delete the plan file. Then **STOP**.
## Step 4: Enter Plan Mode
Use `EnterPlanMode`. All subsequent steps (5–7) run in plan mode to research and build the review plan before execution.
## Step 5: Read ALL Spec Files
For every `[?]` item collected in Step 3, extract the spec file path from inside the parentheses `(...)` of its markdown link sub-bullet. For example:
```
- [?] [R-0266] Bottom-Up Layered Layout
- [R-0266](speclan/features/F-0297-.../R-0266-bottom-up-layered-layout.md)
```
Read every spec file. Do NOT skip any.
From each spec, extract all acceptance criteria — the `- [ ] Given...When...Then...` lines. These are the verification targets for Step 8.
### Discover Specification Context
After reading the item specs, discover and read the broader context to understand the system being reviewed:
**Ancestors** — walk up the directory tree from each spec file path. Each parent directory matching `F-XXXX-*` or `R-XXXX-*` is an ancestor entity. Find and read its spec file (the `*.md` file with the same name as the directory). For example, given:
```
speclan/features/F-8512-speclannet/F-0212-online-help/F-1680-speclan-plugin/F-1680-speclan-plugin.md
```
The ancestors are F-8512 (speclannet) and F-0212 (online-help) — read both specs to understand the broader system context.
**References** — scan each spec body for markdown links to other specs (e.g., `[R-1496](../R-1496-hover-tooltips/R-1496-hover-tooltips.md)`). Read referenced specs to understand cross-cutting concerns and dependencies relevant to the review.
## Step 6: Identify Implementation Files
Determine which source files to review across the entire scope. Use two strategies:
**Strategy 1 — Git-based discovery:**
Extract the `updated` date from spec YAML frontmatter and find changed files:
```bash
SINCE_DATE=$(grep -m1 '^updated:' path/to/spec.md | awk -F"'" '{print $2}')
git log --since="$SINCE_DATE" --diff-filter=ACMR --name-only --pretty=format:"" | sort -u
```
**Strategy 2 — Spec-guided search:**
Extract key terms from spec titles, scope sections, and acceptance criteria. Use grep/glob to find relevant source files.
Combine results from both strategies into a single implementation file list covering the full review scope.
## Step 7: Build Review Plan
Present the review plan for user approval:
```
## Review Plan
### Items to Review ({count} specs)
- [F-XXXX] Feature Title
- [R-AAAA] Requirement Title ({n} acceptance criteria)
- [R-BBBB] Requirement Title ({n} acceptance criteria)
- [CR-CCCC] CR Title ({n} acceptance criteria)
### Implementation Files ({count} files)
- src/...
- src/...
### Total: {total} acceptance criteria to verify
Proceed with review?
```
Exit plan mode after user approves.
## Step 8: Execute Review
### Spec Compliance (primary, blocking)
Verify every acceptance criterion collected in Step 5 — across ALL `[?]` specs. For each criterion:
1. Parse the Given/When/Then statement to understand what must be true
2. Search the implementation files for code that satisfies the criterion
3. Assess whether the implementation fulfills the criterion
4. Record verdict: **PASS** / **FAIL** / **PARTIAL** with evidence (file:line references)
**For change requests**: Verify the alteration was applied correctly — check that the original behavior was changed as specified, not just that new code exists.
### Code Quality (secondary, advisory)
Launch two subagents **in parallel** via the Task tool. Invoke both Task tool calls in the same response block so they execute concurrenRelated in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.