@phuc1403/musketeer 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INSTALLATION.md +52 -52
- package/README.md +49 -49
- package/bin/musketeer.js +168 -168
- package/manifest.json +333 -301
- package/package.json +48 -48
- package/src/dotnet-scaffold-copier.js +79 -79
- package/src/provisioner/detect.js +93 -93
- package/src/self-update.js +77 -77
- package/template/.claude/agents/code-reviewer.md +182 -166
- package/template/.claude/agents/git-manager.md +18 -18
- package/template/.claude/agents/hallmark-auditor.md +78 -78
- package/template/.claude/agents/researcher.md +33 -33
- package/template/.claude/hooks/block-unsafe-adr-title.cjs +85 -85
- package/template/.claude/hooks/git-skill-reminder.cjs +53 -0
- package/template/.claude/hooks/init-adr-dir.cjs +173 -173
- package/template/.claude/hooks/inject-adr-flags.cjs +94 -94
- package/template/.claude/hooks/lib/adr/command-scan.cjs +115 -115
- package/template/.claude/hooks/lib/characteristics/checker.cjs +357 -357
- package/template/.claude/hooks/lib/colors.cjs +180 -122
- package/template/.claude/hooks/lib/git-info-cache.cjs +191 -191
- package/template/.claude/hooks/lib/transcript-parser.cjs +300 -277
- package/template/.claude/hooks/sync-adr-toc.cjs +146 -146
- package/template/.claude/hooks/{usage-context-awareness.cjs → usage-quota-cache-refresh.cjs} +166 -166
- package/template/.claude/hooks/validate-characteristics-hook.cjs +66 -66
- package/template/.claude/hooks/validate-cml-hook.js +145 -145
- package/template/.claude/skills/adr-writer/SKILL.md +48 -48
- package/template/.claude/skills/adr-writer/references/adr-example.md +35 -35
- package/template/.claude/skills/architecture-characteristic-writer/SKILL.md +215 -215
- package/template/.claude/skills/architecture-characteristic-writer/assets/worksheet-template.md +29 -29
- package/template/.claude/skills/architecture-characteristic-writer/references/characteristics-catalog.md +40 -40
- package/template/.claude/skills/architecture-characteristic-writer/scripts/ranking-table.cjs +171 -171
- package/template/.claude/skills/code-review/SKILL.md +201 -54
- package/template/.claude/skills/code-review/references/checklist-workflow.md +96 -0
- package/template/.claude/skills/code-review/references/checklists/api.md +52 -52
- package/template/.claude/skills/code-review/references/checklists/base.md +100 -100
- package/template/.claude/skills/code-review/references/checklists/web-app.md +54 -54
- package/template/.claude/skills/code-review/references/code-review-reception.md +113 -0
- package/template/.claude/skills/code-review/references/codebase-scan-workflow.md +30 -0
- package/template/.claude/skills/code-review/references/edge-case-scouting.md +119 -0
- package/template/.claude/skills/code-review/references/input-mode-resolution.md +135 -0
- package/template/.claude/skills/code-review/references/parallel-review-workflow.md +76 -0
- package/template/.claude/skills/code-review/references/requesting-code-review.md +116 -0
- package/template/.claude/skills/code-review/references/spec-compliance-review.md +43 -0
- package/template/.claude/skills/code-review/references/task-management-reviews.md +140 -0
- package/template/.claude/skills/code-review/references/verification-before-completion.md +139 -0
- package/template/.claude/skills/context-map/SKILL.md +80 -80
- package/template/.claude/skills/context-map/example.cml +106 -106
- package/template/.claude/skills/context-map/reference/Bounded Context/Bounded Context.md +40 -40
- package/template/.claude/skills/context-map/reference/Bounded Context/businessModel.md +5 -5
- package/template/.claude/skills/context-map/reference/Bounded Context/domainVisionStatement.md +2 -2
- package/template/.claude/skills/context-map/reference/Bounded Context/evolution.md +5 -5
- package/template/.claude/skills/context-map/reference/Bounded Context/implementationTechnology.md +1 -1
- package/template/.claude/skills/context-map/reference/Bounded Context/implements.md +1 -1
- package/template/.claude/skills/context-map/reference/Bounded Context/knowledgeLevel.md +4 -4
- package/template/.claude/skills/context-map/reference/Bounded Context/realizes.md +9 -9
- package/template/.claude/skills/context-map/reference/Bounded Context/refines.md +10 -10
- package/template/.claude/skills/context-map/reference/Bounded Context/responsibilities.md +26 -26
- package/template/.claude/skills/context-map/reference/Bounded Context/type.md +23 -23
- package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Anticorruption Layer.md +5 -5
- package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Bounded Context Relationship.md +12 -12
- package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Conformist.md +5 -5
- package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Customer-Supplier (C-S).md +22 -22
- package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Open Host Service.md +4 -4
- package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Partnership (P).md +13 -13
- package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Published Language.md +4 -4
- package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Shared Kernel (SK).md +12 -12
- package/template/.claude/skills/context-map/reference/Context Map.md +62 -62
- package/template/.claude/skills/context-map/reference/Domain/Domain.md +30 -30
- package/template/.claude/skills/context-map/reference/Domain/supports.md +33 -33
- package/template/.claude/skills/context-map/reference/Domain/type.md +3 -3
- package/template/.claude/skills/context-map/reference/Semantic Rules.md +32 -32
- package/template/.claude/skills/git/SKILL.md +131 -115
- package/template/.claude/skills/git/references/branch-management.md +88 -88
- package/template/.claude/skills/git/references/commit-standards.md +46 -46
- package/template/.claude/skills/git/references/context-efficiency.md +54 -0
- package/template/.claude/skills/git/references/gh-cli-guide.md +109 -109
- package/template/.claude/skills/git/references/safety-protocols.md +69 -69
- package/template/.claude/skills/git/references/workflow-commit.md +58 -58
- package/template/.claude/skills/git/references/workflow-merge-pr.md +136 -0
- package/template/.claude/skills/git/references/workflow-merge.md +48 -48
- package/template/.claude/skills/git/references/workflow-pr.md +58 -58
- package/template/.claude/skills/git/references/workflow-push.md +52 -52
- package/template/.claude/skills/hallmark/SKILL.md +552 -552
- package/template/.claude/skills/hallmark/references/anti-patterns.md +412 -412
- package/template/.claude/skills/hallmark/references/assets.md +406 -406
- package/template/.claude/skills/hallmark/references/color.md +95 -95
- package/template/.claude/skills/hallmark/references/component-cookbook.md +256 -256
- package/template/.claude/skills/hallmark/references/components/c1-outlined-chip.md +12 -12
- package/template/.claude/skills/hallmark/references/components/c2-inline-form-as-cta.md +16 -16
- package/template/.claude/skills/hallmark/references/components/c3-typographic-link.md +8 -8
- package/template/.claude/skills/hallmark/references/components/c4-sticky-bottom-bar.md +16 -16
- package/template/.claude/skills/hallmark/references/components/f1-bento-grid.md +20 -20
- package/template/.claude/skills/hallmark/references/components/f2-sticky-scroll-stack.md +20 -20
- package/template/.claude/skills/hallmark/references/components/f3-tabular-spec-sheet.md +11 -11
- package/template/.claude/skills/hallmark/references/components/f4-step-sequence.md +11 -11
- package/template/.claude/skills/hallmark/references/components/f5-annotated-screenshot.md +11 -11
- package/template/.claude/skills/hallmark/references/components/f6-product-card-grid.md +41 -41
- package/template/.claude/skills/hallmark/references/components/ft1-mast-headed.md +13 -13
- package/template/.claude/skills/hallmark/references/components/ft2-inline-rule-single-line.md +10 -10
- package/template/.claude/skills/hallmark/references/components/ft3-index-style-category-list.md +12 -12
- package/template/.claude/skills/hallmark/references/components/ft4-dense-typographic.md +10 -10
- package/template/.claude/skills/hallmark/references/components/ft5-statement.md +21 -21
- package/template/.claude/skills/hallmark/references/components/ft6-letter-close.md +19 -19
- package/template/.claude/skills/hallmark/references/components/ft7-newsletter-first.md +27 -27
- package/template/.claude/skills/hallmark/references/components/ft8-marquee-scroll.md +25 -25
- package/template/.claude/skills/hallmark/references/components/h1-marquee.md +15 -15
- package/template/.claude/skills/hallmark/references/components/h2-split-diptych.md +15 -15
- package/template/.claude/skills/hallmark/references/components/h3-quote-led.md +11 -11
- package/template/.claude/skills/hallmark/references/components/h4-stat-led.md +14 -14
- package/template/.claude/skills/hallmark/references/components/h5-letter-hero.md +11 -11
- package/template/.claude/skills/hallmark/references/components/h6-photographic-fold.md +16 -16
- package/template/.claude/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +27 -27
- package/template/.claude/skills/hallmark/references/components/h8-mockup-split-browser-framed.md +23 -23
- package/template/.claude/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +27 -27
- package/template/.claude/skills/hallmark/references/components/n1-wordmark-2-links.md +12 -12
- package/template/.claude/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +19 -19
- package/template/.claude/skills/hallmark/references/components/n2-floating-chip.md +14 -14
- package/template/.claude/skills/hallmark/references/components/n3-side-rail.md +14 -14
- package/template/.claude/skills/hallmark/references/components/n4-hidden-behind-k.md +9 -9
- package/template/.claude/skills/hallmark/references/components/n5-floating-pill.md +28 -28
- package/template/.claude/skills/hallmark/references/components/n6-newspaper-masthead.md +24 -24
- package/template/.claude/skills/hallmark/references/components/n7-brutal-slab.md +22 -22
- package/template/.claude/skills/hallmark/references/components/n8-terminal-command.md +21 -21
- package/template/.claude/skills/hallmark/references/components/n9-edge-aligned-minimal.md +17 -17
- package/template/.claude/skills/hallmark/references/components/s1-left-margin-numbered.md +15 -15
- package/template/.claude/skills/hallmark/references/components/s2-hanging.md +13 -13
- package/template/.claude/skills/hallmark/references/components/s3-sticky-pinned.md +19 -19
- package/template/.claude/skills/hallmark/references/components/s4-inline-no-break.md +11 -11
- package/template/.claude/skills/hallmark/references/components/s5-bottom-anchored.md +13 -13
- package/template/.claude/skills/hallmark/references/components/t1-pull-quote-with-marginalia.md +12 -12
- package/template/.claude/skills/hallmark/references/components/t2-logo-wall-hairline.md +19 -19
- package/template/.claude/skills/hallmark/references/components/t3-single-huge-quote.md +11 -11
- package/template/.claude/skills/hallmark/references/components/t4-numbered-stat-strip.md +14 -14
- package/template/.claude/skills/hallmark/references/contract.md +24 -24
- package/template/.claude/skills/hallmark/references/copy.md +182 -182
- package/template/.claude/skills/hallmark/references/custom-craft.md +626 -626
- package/template/.claude/skills/hallmark/references/custom-theme.md +329 -329
- package/template/.claude/skills/hallmark/references/design-md.md +116 -116
- package/template/.claude/skills/hallmark/references/export-formats.md +328 -328
- package/template/.claude/skills/hallmark/references/floating-nav.md +89 -89
- package/template/.claude/skills/hallmark/references/genres/atmospheric.md +65 -65
- package/template/.claude/skills/hallmark/references/genres/editorial.md +70 -70
- package/template/.claude/skills/hallmark/references/genres/modern-minimal.md +67 -67
- package/template/.claude/skills/hallmark/references/genres/playful.md +65 -65
- package/template/.claude/skills/hallmark/references/hero-enrichment.md +474 -474
- package/template/.claude/skills/hallmark/references/imagery-kit.md +170 -170
- package/template/.claude/skills/hallmark/references/interaction-and-states.md +207 -207
- package/template/.claude/skills/hallmark/references/layout-and-space.md +111 -111
- package/template/.claude/skills/hallmark/references/macrostructures/01-bento-grid.md +35 -35
- package/template/.claude/skills/hallmark/references/macrostructures/02-long-document.md +34 -34
- package/template/.claude/skills/hallmark/references/macrostructures/03-marquee-hero.md +31 -31
- package/template/.claude/skills/hallmark/references/macrostructures/04-stat-led.md +32 -32
- package/template/.claude/skills/hallmark/references/macrostructures/05-workbench.md +32 -32
- package/template/.claude/skills/hallmark/references/macrostructures/06-conversational-faq.md +33 -33
- package/template/.claude/skills/hallmark/references/macrostructures/07-manifesto.md +32 -32
- package/template/.claude/skills/hallmark/references/macrostructures/08-photographic.md +34 -34
- package/template/.claude/skills/hallmark/references/macrostructures/09-quote-led.md +32 -32
- package/template/.claude/skills/hallmark/references/macrostructures/10-specimen.md +32 -32
- package/template/.claude/skills/hallmark/references/macrostructures/11-catalogue.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/12-letter.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/13-index-first.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/14-narrative-workflow.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/15-split-studio.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/16-feature-stack.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/17-type-specimen.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/18-portfolio-grid.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/19-map-diagram.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/20-ecosystem-index.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures/21-component-playground.md +23 -23
- package/template/.claude/skills/hallmark/references/macrostructures.md +89 -89
- package/template/.claude/skills/hallmark/references/microinteractions.md +260 -260
- package/template/.claude/skills/hallmark/references/motion.md +109 -109
- package/template/.claude/skills/hallmark/references/preview-examples.md +49 -49
- package/template/.claude/skills/hallmark/references/responsive.md +138 -138
- package/template/.claude/skills/hallmark/references/slop-test.md +205 -205
- package/template/.claude/skills/hallmark/references/structure.md +164 -164
- package/template/.claude/skills/hallmark/references/study.md +511 -511
- package/template/.claude/skills/hallmark/references/typography.md +243 -243
- package/template/.claude/skills/hallmark/references/verbs/audit.md +25 -25
- package/template/.claude/skills/hallmark/references/verbs/redesign.md +269 -269
- package/template/.claude/skills/hallmark-loop/SKILL.md +105 -105
- package/template/.claude/skills/hallmark-loop/references/auditor-call.md +60 -60
- package/template/.claude/skills/hallmark-loop/references/capture.md +78 -78
- package/template/.claude/skills/hallmark-loop/references/loop-control.md +79 -79
- package/template/.claude/skills/handoff/SKILL.md +15 -15
- package/template/.claude/skills/knowledge-crunching/SKILL.md +94 -94
- package/template/.claude/skills/research/SKILL.md +69 -69
- package/template/.claude/skills/skill-creator/LICENSE.txt +201 -201
- package/template/.claude/skills/skill-creator/SKILL.md +154 -149
- package/template/.claude/skills/skill-creator/agents/analyzer.md +274 -274
- package/template/.claude/skills/skill-creator/agents/comparator.md +202 -202
- package/template/.claude/skills/skill-creator/agents/grader.md +223 -223
- package/template/.claude/skills/skill-creator/assets/eval_review.html +146 -146
- package/template/.claude/skills/skill-creator/eval-viewer/generate_review.py +471 -471
- package/template/.claude/skills/skill-creator/eval-viewer/viewer.html +1325 -1325
- package/template/.claude/skills/skill-creator/references/benchmark-optimization-guide.md +86 -86
- package/template/.claude/skills/skill-creator/references/distribution-guide.md +79 -79
- package/template/.claude/skills/skill-creator/references/eval-infrastructure-guide.md +129 -129
- package/template/.claude/skills/skill-creator/references/eval-schemas.md +121 -121
- package/template/.claude/skills/skill-creator/references/mcp-skills-integration.md +71 -71
- package/template/.claude/skills/skill-creator/references/metadata-quality-criteria.md +94 -94
- package/template/.claude/skills/skill-creator/references/plugin-marketplace-hosting.md +104 -104
- package/template/.claude/skills/skill-creator/references/plugin-marketplace-overview.md +89 -89
- package/template/.claude/skills/skill-creator/references/plugin-marketplace-schema.md +93 -93
- package/template/.claude/skills/skill-creator/references/plugin-marketplace-sources.md +103 -103
- package/template/.claude/skills/skill-creator/references/plugin-marketplace-troubleshooting.md +76 -76
- package/template/.claude/skills/skill-creator/references/script-quality-criteria.md +106 -106
- package/template/.claude/skills/skill-creator/references/skill-anatomy-and-requirements.md +77 -77
- package/template/.claude/skills/skill-creator/references/skill-creation-workflow.md +152 -151
- package/template/.claude/skills/skill-creator/references/skill-design-patterns.md +75 -75
- package/template/.claude/skills/skill-creator/references/skillmark-benchmark-criteria.md +102 -102
- package/template/.claude/skills/skill-creator/references/structure-organization-criteria.md +114 -114
- package/template/.claude/skills/skill-creator/references/testing-and-iteration.md +78 -78
- package/template/.claude/skills/skill-creator/references/token-efficiency-criteria.md +74 -74
- package/template/.claude/skills/skill-creator/references/troubleshooting-guide.md +81 -81
- package/template/.claude/skills/skill-creator/references/validation-checklist.md +83 -83
- package/template/.claude/skills/skill-creator/references/writing-effective-instructions.md +88 -88
- package/template/.claude/skills/skill-creator/references/yaml-frontmatter-reference.md +92 -92
- package/template/.claude/skills/skill-creator/scripts/aggregate_benchmark.py +401 -401
- package/template/.claude/skills/skill-creator/scripts/encoding_utils.py +36 -36
- package/template/.claude/skills/skill-creator/scripts/generate_report.py +326 -326
- package/template/.claude/skills/skill-creator/scripts/improve_description.py +248 -248
- package/template/.claude/skills/skill-creator/scripts/init_skill.py +360 -360
- package/template/.claude/skills/skill-creator/scripts/package_skill.py +143 -143
- package/template/.claude/skills/skill-creator/scripts/quick_validate.py +110 -110
- package/template/.claude/skills/skill-creator/scripts/run_eval.py +310 -310
- package/template/.claude/skills/skill-creator/scripts/run_loop.py +332 -332
- package/template/.claude/skills/skill-creator/scripts/utils.py +47 -47
- package/template/.claude/skills/tdd/SKILL.md +142 -142
- package/template/.claude/skills/tdd/deep-modules.md +15 -15
- package/template/.claude/skills/tdd/interface-design.md +31 -31
- package/template/.claude/skills/tdd/mocking.md +59 -59
- package/template/.claude/skills/tdd/refactoring.md +10 -10
- package/template/.claude/skills/tdd/tests.md +61 -61
- package/template/.claude/statusline.cjs +0 -0
- package/template/.claude/skills/code-review/references/adversarial-review.md +0 -223
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: edge-case-scouting
|
|
3
|
+
description: Use after implementation, before code review to proactively find edge cases, side effects, and potential issues via scout skill - catches problems code-reviewer might miss
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Edge Case Scouting
|
|
7
|
+
|
|
8
|
+
Proactive detection of edge cases, side effects, and potential issues before code review.
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Code reviews catch obvious issues but miss subtle side effects. Scout detects:
|
|
13
|
+
- Files affected by changes reviewer might not check
|
|
14
|
+
- Data flow paths that could break
|
|
15
|
+
- Boundary conditions and error paths
|
|
16
|
+
- Integration issues across modules
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
**Mandatory:** Multi-file features, shared utility refactors, complex bug fixes
|
|
21
|
+
**Optional:** Single-file changes, docs, config
|
|
22
|
+
|
|
23
|
+
## Process
|
|
24
|
+
|
|
25
|
+
### 1. Identify Changed Files
|
|
26
|
+
```bash
|
|
27
|
+
git diff --name-only HEAD~1
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 2. Dispatch an Explore Subagent
|
|
31
|
+
```
|
|
32
|
+
Scout edge cases for the changes under review.
|
|
33
|
+
|
|
34
|
+
Changed: {files from git diff}
|
|
35
|
+
|
|
36
|
+
Find:
|
|
37
|
+
1. Files importing/depending on changed modules
|
|
38
|
+
2. Data flow paths through modified functions
|
|
39
|
+
3. Error handling paths not tested
|
|
40
|
+
4. Boundary conditions (null, empty, max)
|
|
41
|
+
5. Race conditions in async code
|
|
42
|
+
6. State management side effects
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 3. Analyze & Act
|
|
46
|
+
|
|
47
|
+
| Finding | Action |
|
|
48
|
+
|---------|--------|
|
|
49
|
+
| Affected file not in scope | Add to review |
|
|
50
|
+
| Data flow risk | Verify or add test |
|
|
51
|
+
| Edge case | Add test or verify |
|
|
52
|
+
| Missing test | Add before review |
|
|
53
|
+
|
|
54
|
+
### 4. Document for Review
|
|
55
|
+
```
|
|
56
|
+
Scout findings:
|
|
57
|
+
- {issues found}
|
|
58
|
+
- Verified: {what checked}
|
|
59
|
+
- Addressed: {what fixed}
|
|
60
|
+
- Needs review: {remaining}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Scout Prompts
|
|
64
|
+
|
|
65
|
+
**Feature:**
|
|
66
|
+
```
|
|
67
|
+
Scout edge cases for {feature}.
|
|
68
|
+
Changed: {files}
|
|
69
|
+
Find: consumers, error states, untested inputs, performance, compatibility
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Bug fix:**
|
|
73
|
+
```
|
|
74
|
+
Scout side effects of fix in {file}.
|
|
75
|
+
Bug: {description}, Fix: {approach}
|
|
76
|
+
Find: other paths using logic, dependent features, similar bugs
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Refactor:**
|
|
80
|
+
```
|
|
81
|
+
Scout breaking changes in {module}.
|
|
82
|
+
Before: {old}, After: {new}
|
|
83
|
+
Find: importers, behavior diffs, removed functionality
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## What Scout Catches
|
|
87
|
+
|
|
88
|
+
| Issue | Why Missed | Scout Detects |
|
|
89
|
+
|-------|------------|---------------|
|
|
90
|
+
| Indirect deps | Not in diff | Traces imports |
|
|
91
|
+
| Race conditions | Hard static review | Analyzes flow |
|
|
92
|
+
| State mutations | Hidden side effects | Tracks data |
|
|
93
|
+
| Missing null checks | Assumed safe | Boundary analysis |
|
|
94
|
+
| Integration breaks | Out of scope | Cross-module search |
|
|
95
|
+
|
|
96
|
+
## Red Flags
|
|
97
|
+
|
|
98
|
+
- Shared utility changed but only one caller tested
|
|
99
|
+
- Error path leads to unhandled rejection
|
|
100
|
+
- State modified in place without notification
|
|
101
|
+
- Breaking change without migration
|
|
102
|
+
|
|
103
|
+
## Example
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
1. Done: Add cache to UserService.getUser()
|
|
107
|
+
2. Diff: src/services/user-service.ts
|
|
108
|
+
3. Scout: "edge cases for caching in getUser()"
|
|
109
|
+
4. Report:
|
|
110
|
+
- ProfileComponent expects fresh data on edit
|
|
111
|
+
- AdminPanel loops getUser() (memory risk)
|
|
112
|
+
- No cache clear on updateUser()
|
|
113
|
+
5. Fix: Add invalidation, maxSize
|
|
114
|
+
6. Document for code-reviewer
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Bottom Line
|
|
118
|
+
|
|
119
|
+
Scout before review. Don't trust "simple changes" - scout them anyway.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: input-mode-resolution
|
|
3
|
+
description: How to parse code-review arguments and resolve PR number, commit hash, pending changes, or default context into a reviewable diff
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Input Mode Resolution
|
|
7
|
+
|
|
8
|
+
Resolve `/code-review` arguments into a diff for the review pipeline.
|
|
9
|
+
|
|
10
|
+
## Auto-Detection Rules
|
|
11
|
+
|
|
12
|
+
Parse arguments left-to-right. First match wins.
|
|
13
|
+
|
|
14
|
+
| Pattern | Mode | Example |
|
|
15
|
+
|---------|------|---------|
|
|
16
|
+
| `#\d+` | PR | `#123`, `#45` |
|
|
17
|
+
| GitHub PR URL | PR | `https://github.com/org/repo/pull/123` |
|
|
18
|
+
| `[0-9a-f]{7,40}` | Commit | `abc1234`, full SHA |
|
|
19
|
+
| `--pending` | Pending | explicit flag |
|
|
20
|
+
| `codebase` | Codebase | existing mode |
|
|
21
|
+
| *(none + context)* | Default | recent changes |
|
|
22
|
+
| *(none + no context)* | Prompt | ask user via `AskUserQuestion` |
|
|
23
|
+
|
|
24
|
+
## Resolution Commands
|
|
25
|
+
|
|
26
|
+
### PR Mode
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Extract PR number from argument
|
|
30
|
+
PR_NUM=$(echo "$ARG" | grep -oE '[0-9]+$')
|
|
31
|
+
|
|
32
|
+
# Fetch PR metadata
|
|
33
|
+
gh pr view "$PR_NUM" --json title,body,files,additions,deletions,baseRefName,headRefName
|
|
34
|
+
|
|
35
|
+
# Get the diff
|
|
36
|
+
gh pr diff "$PR_NUM"
|
|
37
|
+
|
|
38
|
+
# Get changed file list
|
|
39
|
+
gh pr diff "$PR_NUM" --name-only
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Context passed to reviewers:**
|
|
43
|
+
- PR title and description (intent)
|
|
44
|
+
- Base branch (what it merges into)
|
|
45
|
+
- Full diff
|
|
46
|
+
- Changed file list for scout
|
|
47
|
+
|
|
48
|
+
### Commit Mode
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Validate commit exists
|
|
52
|
+
git cat-file -t "$COMMIT_HASH"
|
|
53
|
+
|
|
54
|
+
# Get commit metadata
|
|
55
|
+
git log -1 --format="%H%n%s%n%b" "$COMMIT_HASH"
|
|
56
|
+
|
|
57
|
+
# Get the diff
|
|
58
|
+
git show "$COMMIT_HASH" --stat
|
|
59
|
+
git show "$COMMIT_HASH" -- # full diff
|
|
60
|
+
|
|
61
|
+
# Changed files
|
|
62
|
+
git show "$COMMIT_HASH" --name-only --format=""
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Context passed to reviewers:**
|
|
66
|
+
- Commit message (intent)
|
|
67
|
+
- Parent commit (what it changed from)
|
|
68
|
+
- Full diff
|
|
69
|
+
- Changed file list for scout
|
|
70
|
+
|
|
71
|
+
### Pending Mode
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Staged changes
|
|
75
|
+
git diff --cached
|
|
76
|
+
|
|
77
|
+
# Unstaged changes
|
|
78
|
+
git diff
|
|
79
|
+
|
|
80
|
+
# Combined (staged + unstaged vs HEAD)
|
|
81
|
+
git diff HEAD
|
|
82
|
+
|
|
83
|
+
# Changed files
|
|
84
|
+
git diff HEAD --name-only
|
|
85
|
+
|
|
86
|
+
# Status overview
|
|
87
|
+
git status --short
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Context passed to reviewers:**
|
|
91
|
+
- No commit message yet — ask user for brief intent description
|
|
92
|
+
- Combined diff (staged + unstaged)
|
|
93
|
+
- Changed file list for scout
|
|
94
|
+
|
|
95
|
+
### Default Mode
|
|
96
|
+
|
|
97
|
+
Use recent changes already in conversation context. If no changes apparent, fall back to Prompt mode.
|
|
98
|
+
|
|
99
|
+
### Prompt Mode
|
|
100
|
+
|
|
101
|
+
When no arguments and no recent context, use `AskUserQuestion`:
|
|
102
|
+
- Header: "Review Target"
|
|
103
|
+
- Question: "What would you like to review?"
|
|
104
|
+
- Options: Pending changes, Enter PR number, Enter commit hash, Full codebase scan, Parallel codebase audit
|
|
105
|
+
|
|
106
|
+
For PR/commit options, follow up with second `AskUserQuestion` to get the number/hash.
|
|
107
|
+
|
|
108
|
+
### Codebase Mode
|
|
109
|
+
|
|
110
|
+
Codebase modes bypass diff resolution — they scan the full codebase instead.
|
|
111
|
+
- `codebase` → hand off to `references/codebase-scan-workflow.md`
|
|
112
|
+
- `codebase parallel` → hand off to `references/parallel-review-workflow.md`
|
|
113
|
+
|
|
114
|
+
Both workflows include code quality review and final verification.
|
|
115
|
+
|
|
116
|
+
## Pipeline Handoff
|
|
117
|
+
|
|
118
|
+
After resolving the diff, pass to the review pipeline:
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Resolved diff
|
|
122
|
+
├─ Changed files → Edge case scout
|
|
123
|
+
├─ Full diff → Stage 1 (Spec compliance, if plan exists)
|
|
124
|
+
├─ Full diff → Stage 2 (Code quality review)
|
|
125
|
+
└─ Findings → Fix accepted issues and verify
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Error Handling
|
|
129
|
+
|
|
130
|
+
| Error | Action |
|
|
131
|
+
|-------|--------|
|
|
132
|
+
| PR not found | `gh pr view` fails → report "PR #N not found in this repo" |
|
|
133
|
+
| Commit not found | `git cat-file` fails → report "Commit not found — is it pushed?" |
|
|
134
|
+
| No pending changes | `git diff HEAD` empty → report "No pending changes to review" |
|
|
135
|
+
| Ambiguous input | Could be PR or commit → prefer PR (more common), note assumption |
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Parallel Review Workflow
|
|
2
|
+
|
|
3
|
+
**Ultrathink** to exhaustively list ALL potential edge cases, then dispatch parallel `code-reviewer` agents to verify: <scope>$ARGUMENTS</scope>
|
|
4
|
+
|
|
5
|
+
**IMPORTANT:** Activate needed skills. Ensure token efficiency. Sacrifice grammar for concision.
|
|
6
|
+
|
|
7
|
+
## Workflow
|
|
8
|
+
|
|
9
|
+
### 1. Ultrathink Edge Cases
|
|
10
|
+
|
|
11
|
+
Main agent deeply analyzes the scope to LIST all potential edge cases FIRST:
|
|
12
|
+
- Read any project overview docs the repo has, for context
|
|
13
|
+
- Dispatch an `Explore` subagent to find relevant files
|
|
14
|
+
- **Think exhaustively** about what could go wrong:
|
|
15
|
+
- Null/undefined scenarios
|
|
16
|
+
- Boundary conditions (off-by-one, empty, max values)
|
|
17
|
+
- Error handling gaps
|
|
18
|
+
- Race conditions, async edge cases
|
|
19
|
+
- Input validation holes
|
|
20
|
+
- Trust-boundary defects
|
|
21
|
+
- Resource leaks
|
|
22
|
+
- Untested code paths
|
|
23
|
+
|
|
24
|
+
**Output format:**
|
|
25
|
+
```markdown
|
|
26
|
+
## Edge Cases Identified
|
|
27
|
+
|
|
28
|
+
### Category: [scope-area]
|
|
29
|
+
1. [edge case description] → files: [file1, file2]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 2. Categorize & Assign
|
|
33
|
+
|
|
34
|
+
Group edge cases by similar scope for parallel verification:
|
|
35
|
+
- Each category → one `code-reviewer` agent
|
|
36
|
+
- Max 6 categories (merge small ones)
|
|
37
|
+
- Each reviewer gets specific edge cases to VERIFY, not discover
|
|
38
|
+
|
|
39
|
+
### 3. Parallel Verification
|
|
40
|
+
|
|
41
|
+
Launch N `code-reviewer` subagents simultaneously:
|
|
42
|
+
- Pass: category name, list of edge cases, relevant files
|
|
43
|
+
- Task: **VERIFY** if each edge case is properly handled in code
|
|
44
|
+
- Report: which edge cases are handled vs unhandled
|
|
45
|
+
|
|
46
|
+
### 4. Aggregate Results
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
## Edge Case Verification Report
|
|
50
|
+
|
|
51
|
+
### Summary
|
|
52
|
+
- Total edge cases: X
|
|
53
|
+
- Handled: Y
|
|
54
|
+
- Unhandled: Z
|
|
55
|
+
- Partial: W
|
|
56
|
+
|
|
57
|
+
### Unhandled Edge Cases (Need Fix)
|
|
58
|
+
| # | Edge Case | File | Status |
|
|
59
|
+
|---|-----------|------|--------|
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 5. Verification Review
|
|
63
|
+
|
|
64
|
+
After aggregation, verify accepted findings against the full scope:
|
|
65
|
+
- Re-check aggregated findings and unhandled edge cases
|
|
66
|
+
- Confirm each blocking issue has a concrete file/line and reproduction path
|
|
67
|
+
- Classify findings as Accept / Reject / Defer
|
|
68
|
+
|
|
69
|
+
### 6. Auto-Fix Pipeline
|
|
70
|
+
|
|
71
|
+
**IF** unhandled/partial edge cases found:
|
|
72
|
+
- Ask: "Found N unhandled edge cases. Fix them now? [Y/n]" — on yes, fix by category, re-verify each
|
|
73
|
+
|
|
74
|
+
### 7. Final Report
|
|
75
|
+
- Summary of verification
|
|
76
|
+
- Ask: "Commit? [Y/n]" → use `git-manager`
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: requesting-code-review
|
|
3
|
+
description: Use when completing tasks, implementing major features, or before merging to verify work meets requirements - dispatches code-reviewer subagent to review implementation against plan or requirements before proceeding
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Requesting Code Review
|
|
7
|
+
|
|
8
|
+
Dispatch code-reviewer subagent to catch issues before they cascade.
|
|
9
|
+
|
|
10
|
+
**Core principle:** Scout first, review often.
|
|
11
|
+
|
|
12
|
+
## When to Request Review
|
|
13
|
+
|
|
14
|
+
**Mandatory:**
|
|
15
|
+
- After each task in subagent-driven development
|
|
16
|
+
- After completing major feature
|
|
17
|
+
- Before merge to main
|
|
18
|
+
|
|
19
|
+
**Optional but valuable:**
|
|
20
|
+
- When stuck (fresh perspective)
|
|
21
|
+
- Before refactoring (baseline check)
|
|
22
|
+
- After fixing complex bug
|
|
23
|
+
|
|
24
|
+
## How to Request
|
|
25
|
+
|
|
26
|
+
**0. Scout edge cases first (NEW):**
|
|
27
|
+
```
|
|
28
|
+
Before dispatching code-reviewer, dispatch an `Explore` subagent to find:
|
|
29
|
+
- Files affected by changes (not just modified files)
|
|
30
|
+
- Data flow paths that could break
|
|
31
|
+
- Edge cases and boundary conditions
|
|
32
|
+
- Potential side effects
|
|
33
|
+
|
|
34
|
+
See: references/edge-case-scouting.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**1. Get git SHAs:**
|
|
38
|
+
```bash
|
|
39
|
+
BASE_SHA=$(git rev-parse HEAD~1) # or origin/main
|
|
40
|
+
HEAD_SHA=$(git rev-parse HEAD)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**2. Dispatch code-reviewer subagent:**
|
|
44
|
+
|
|
45
|
+
Use Task tool with `code-reviewer` type, fill template at `code-reviewer.md`
|
|
46
|
+
|
|
47
|
+
**Placeholders:**
|
|
48
|
+
- `{WHAT_WAS_IMPLEMENTED}` - What you just built
|
|
49
|
+
- `{PLAN_OR_REQUIREMENTS}` - What it should do
|
|
50
|
+
- `{BASE_SHA}` - Starting commit
|
|
51
|
+
- `{HEAD_SHA}` - Ending commit
|
|
52
|
+
- `{DESCRIPTION}` - Brief summary
|
|
53
|
+
|
|
54
|
+
**3. Act on feedback:**
|
|
55
|
+
- Fix Critical issues immediately
|
|
56
|
+
- Fix Important issues before proceeding
|
|
57
|
+
- Note Minor issues for later
|
|
58
|
+
- Push back if reviewer is wrong (with reasoning)
|
|
59
|
+
|
|
60
|
+
## Example
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
[Just completed Task 2: Add verification function]
|
|
64
|
+
|
|
65
|
+
You: Let me request code review before proceeding.
|
|
66
|
+
|
|
67
|
+
BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
|
|
68
|
+
HEAD_SHA=$(git rev-parse HEAD)
|
|
69
|
+
|
|
70
|
+
[Dispatch code-reviewer subagent]
|
|
71
|
+
WHAT_WAS_IMPLEMENTED: Verification and repair functions for conversation index
|
|
72
|
+
PLAN_OR_REQUIREMENTS: Task 2 from <path/to/plan.md>
|
|
73
|
+
BASE_SHA: a7981ec
|
|
74
|
+
HEAD_SHA: 3df7661
|
|
75
|
+
DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types
|
|
76
|
+
|
|
77
|
+
[Subagent returns]:
|
|
78
|
+
Strengths: Clean architecture, real tests
|
|
79
|
+
Issues:
|
|
80
|
+
Important: Missing progress indicators
|
|
81
|
+
Minor: Magic number (100) for reporting interval
|
|
82
|
+
Assessment: Ready to proceed
|
|
83
|
+
|
|
84
|
+
You: [Fix progress indicators]
|
|
85
|
+
[Continue to Task 3]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Integration with Workflows
|
|
89
|
+
|
|
90
|
+
**Subagent-Driven Development:**
|
|
91
|
+
- Review after EACH task
|
|
92
|
+
- Catch issues before they compound
|
|
93
|
+
- Fix before moving to next task
|
|
94
|
+
|
|
95
|
+
**Executing Plans:**
|
|
96
|
+
- Review after each batch (3 tasks)
|
|
97
|
+
- Get feedback, apply, continue
|
|
98
|
+
|
|
99
|
+
**Ad-Hoc Development:**
|
|
100
|
+
- Review before merge
|
|
101
|
+
- Review when stuck
|
|
102
|
+
|
|
103
|
+
## Red Flags
|
|
104
|
+
|
|
105
|
+
**Never:**
|
|
106
|
+
- Skip review because "it's simple"
|
|
107
|
+
- Ignore Critical issues
|
|
108
|
+
- Proceed with unfixed Important issues
|
|
109
|
+
- Argue with valid technical feedback
|
|
110
|
+
|
|
111
|
+
**If reviewer wrong:**
|
|
112
|
+
- Push back with technical reasoning
|
|
113
|
+
- Show code/tests that prove it works
|
|
114
|
+
- Request clarification
|
|
115
|
+
|
|
116
|
+
See template at: requesting-code-review/code-reviewer.md
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-compliance-review
|
|
3
|
+
description: First-pass review checking implementation matches spec/plan requirements before quality review
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Compliance Review
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Verify implementation matches what was requested BEFORE evaluating code quality.
|
|
11
|
+
Well-written code that doesn't match requirements is still wrong.
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- After implementing features from a plan
|
|
16
|
+
- Before code quality review pass
|
|
17
|
+
- When plan/spec exists for the work being reviewed
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
1. **Load spec/plan** — Read the plan.md or phase file that defined this work
|
|
22
|
+
2. **List requirements** — Extract every requirement, acceptance criterion
|
|
23
|
+
3. **Check each requirement** against actual implementation:
|
|
24
|
+
- Present? → PASS
|
|
25
|
+
- Missing? → MISSING (must fix before quality review)
|
|
26
|
+
- Extra (not in spec)? → EXTRA (flag for removal unless justified)
|
|
27
|
+
4. **Verdict:**
|
|
28
|
+
- All requirements met, no unjustified extras → PASS → proceed to quality review
|
|
29
|
+
- Missing requirements → FAIL → implementer fixes → re-review
|
|
30
|
+
- Unjustified extras → WARN → discuss with user
|
|
31
|
+
|
|
32
|
+
## Checklist Template
|
|
33
|
+
|
|
34
|
+
| # | Requirement | Status | Notes |
|
|
35
|
+
|---|-------------|--------|-------|
|
|
36
|
+
| 1 | [from spec] | PASS/MISSING/EXTRA | [evidence] |
|
|
37
|
+
|
|
38
|
+
## Red Flags
|
|
39
|
+
|
|
40
|
+
- Skipping spec review because "code looks good"
|
|
41
|
+
- Accepting extra features without spec justification
|
|
42
|
+
- Treating spec review as optional
|
|
43
|
+
- Reviewing code quality before confirming spec compliance
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Review Task Management Patterns
|
|
2
|
+
|
|
3
|
+
Track review pipeline execution via Claude Native Tasks (TaskCreate, TaskUpdate, TaskList).
|
|
4
|
+
|
|
5
|
+
## When to Create Tasks
|
|
6
|
+
|
|
7
|
+
| Review Scope | Tasks? | Rationale |
|
|
8
|
+
|--------------|--------|-----------|
|
|
9
|
+
| Single-file fix | No | Scout + review + done, overhead not worth it |
|
|
10
|
+
| Multi-file feature (3+ files) | Yes | Track scout → review → fix → verify chain |
|
|
11
|
+
| Parallel reviewers (2+ scopes) | Yes | Coordinate independent reviews |
|
|
12
|
+
| Review cycle with Critical fixes | Yes | Dependencies between fix → re-verify |
|
|
13
|
+
|
|
14
|
+
**3-Task Rule:** Skip task creation when review pipeline has <3 meaningful steps.
|
|
15
|
+
|
|
16
|
+
## Review Pipeline as Tasks
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
TaskCreate: "Scout edge cases" → pending
|
|
20
|
+
TaskCreate: "Review implementation" → pending, blockedBy: [scout]
|
|
21
|
+
TaskCreate: "Fix critical issues" → pending, blockedBy: [review]
|
|
22
|
+
TaskCreate: "Verify fixes pass" → pending, blockedBy: [fix]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Dependency chain auto-unblocks: scout → review → fix → verify.
|
|
26
|
+
|
|
27
|
+
## Task Schemas
|
|
28
|
+
|
|
29
|
+
### Scout Task
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
TaskCreate(
|
|
33
|
+
subject: "Scout edge cases for {feature}",
|
|
34
|
+
activeForm: "Scouting edge cases",
|
|
35
|
+
description: "Identify affected files, data flows, boundary conditions. Changed: {files}",
|
|
36
|
+
metadata: { reviewStage: "scout", feature: "{feature}",
|
|
37
|
+
changedFiles: "src/auth.ts,src/middleware.ts",
|
|
38
|
+
priority: "P2", effort: "3m" }
|
|
39
|
+
)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Review Task
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
TaskCreate(
|
|
46
|
+
subject: "Review {feature} implementation",
|
|
47
|
+
activeForm: "Reviewing {feature}",
|
|
48
|
+
description: "Code-reviewer subagent reviews {BASE_SHA}..{HEAD_SHA}. Plan: {plan_ref}",
|
|
49
|
+
metadata: { reviewStage: "review", feature: "{feature}",
|
|
50
|
+
baseSha: "{BASE_SHA}", headSha: "{HEAD_SHA}",
|
|
51
|
+
priority: "P1", effort: "10m" },
|
|
52
|
+
addBlockedBy: ["{scout-task-id}"]
|
|
53
|
+
)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Fix Task (created after review finds issues)
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
TaskCreate(
|
|
60
|
+
subject: "Fix {severity} issues from review",
|
|
61
|
+
activeForm: "Fixing {severity} review issues",
|
|
62
|
+
description: "Address: {issue_list}",
|
|
63
|
+
metadata: { reviewStage: "fix", severity: "critical",
|
|
64
|
+
issueCount: 3, priority: "P1", effort: "15m" },
|
|
65
|
+
addBlockedBy: ["{review-task-id}"]
|
|
66
|
+
)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Verify Task
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
TaskCreate(
|
|
73
|
+
subject: "Verify fixes pass tests and build",
|
|
74
|
+
activeForm: "Verifying fixes",
|
|
75
|
+
description: "Run test suite, build, confirm 0 failures. Evidence before claims.",
|
|
76
|
+
metadata: { reviewStage: "verify", priority: "P1", effort: "5m" },
|
|
77
|
+
addBlockedBy: ["{fix-task-id}"]
|
|
78
|
+
)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Parallel Review Coordination
|
|
82
|
+
|
|
83
|
+
For multi-scope reviews (e.g., backend + frontend changed independently):
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
// Create scoped review tasks — no blockedBy between them
|
|
87
|
+
TaskCreate(subject: "Review backend auth changes",
|
|
88
|
+
metadata: { reviewStage: "review", scope: "src/api/,src/middleware/",
|
|
89
|
+
agentIndex: 1, totalAgents: 2, priority: "P1" })
|
|
90
|
+
|
|
91
|
+
TaskCreate(subject: "Review frontend auth UI",
|
|
92
|
+
metadata: { reviewStage: "review", scope: "src/components/auth/",
|
|
93
|
+
agentIndex: 2, totalAgents: 2, priority: "P1" })
|
|
94
|
+
|
|
95
|
+
// Both run simultaneously via separate code-reviewer subagents
|
|
96
|
+
// Fix task blocks on BOTH completing:
|
|
97
|
+
TaskCreate(subject: "Fix all review issues",
|
|
98
|
+
addBlockedBy: ["{backend-review-id}", "{frontend-review-id}"])
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Task Lifecycle
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
Scout: pending → in_progress → completed (scout report returned)
|
|
105
|
+
Review: pending → in_progress → completed (reviewer findings returned)
|
|
106
|
+
Fix: pending → in_progress → completed (all Critical/Important fixed)
|
|
107
|
+
Verify: pending → in_progress → completed (tests pass, build clean)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Handling Re-Reviews
|
|
111
|
+
|
|
112
|
+
When fixes introduce new issues → create new review cycle:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
TaskCreate(subject: "Re-review after fixes",
|
|
116
|
+
addBlockedBy: ["{fix-task-id}"],
|
|
117
|
+
metadata: { reviewStage: "review", cycle: 2, priority: "P1" })
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Limit to 3 cycles. If still failing after cycle 3 → escalate to user.
|
|
121
|
+
|
|
122
|
+
## Integration with Planning Tasks
|
|
123
|
+
|
|
124
|
+
Review tasks are **separate from** cook/planning phase tasks.
|
|
125
|
+
|
|
126
|
+
**When cook spawns review:**
|
|
127
|
+
1. Cook completes implementation phase → creates review pipeline tasks
|
|
128
|
+
2. Review pipeline executes (scout → review → fix → verify)
|
|
129
|
+
3. All review tasks complete → cook marks phase as reviewed
|
|
130
|
+
4. Cook proceeds to next phase
|
|
131
|
+
|
|
132
|
+
Review tasks reference the phase but don't block it directly — the orchestrator manages handoff.
|
|
133
|
+
|
|
134
|
+
## Quality Check
|
|
135
|
+
|
|
136
|
+
After pipeline registration: `Registered [N] review tasks (scout → review → fix → verify chain)`
|
|
137
|
+
|
|
138
|
+
## Error Handling
|
|
139
|
+
|
|
140
|
+
If `TaskCreate` fails: log warning, fall back to sequential review without task tracking. Review pipeline functions identically — tasks add visibility, not functionality.
|