agentic-sdlc-wizard 1.21.0 → 1.22.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/CHANGELOG.md +18 -0
- package/CLAUDE_CODE_SDLC_WIZARD.md +87 -2
- package/README.md +1 -1
- package/cli/init.js +5 -4
- package/cli/templates/skills/feedback/SKILL.md +92 -0
- package/cli/templates/skills/sdlc/SKILL.md +68 -0
- package/cli/templates/skills/setup/SKILL.md +11 -0
- package/cli/templates/skills/update/SKILL.md +3 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,24 @@ All notable changes to the SDLC Wizard.
|
|
|
4
4
|
|
|
5
5
|
> **Note:** This changelog is for humans to read. Don't manually apply these changes - just run the wizard ("Check for SDLC wizard updates") and it handles everything automatically.
|
|
6
6
|
|
|
7
|
+
## [1.22.0] - 2026-04-01
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- Plan Auto-Approval Gate — skip plan approval when confidence >= 95% AND task is single-file/trivial. Still announces approach, just doesn't wait. "When in doubt, wait for approval" (#53)
|
|
11
|
+
- Debugging Workflow section — systematic Reproduce → Isolate → Root Cause → Fix → Regression Test methodology. `git bisect` for regressions, environment-specific debugging guidance (#55)
|
|
12
|
+
- `/feedback` skill — privacy-first community contribution loop. Bug reports, feature requests, pattern sharing, SDLC improvements. Never scans without explicit consent. Creates GH issues on wizard repo (#37)
|
|
13
|
+
- BRANDING.md detection in setup wizard — scans for brand/, logos/, style-guide.md, brand-voice.md. Conditional generation only when branding assets found (#44)
|
|
14
|
+
- N-Reviewer CI Pipeline guidance — address each reviewer independently, resolve conflicts, max 3 iterations per reviewer (#32)
|
|
15
|
+
- Custom Subagents documentation — `.claude/agents/` pattern for sdlc-reviewer, ci-debug, test-writer agents. Skills vs agents comparison (#45)
|
|
16
|
+
- CLI distributes `/feedback` skill (9 template files, was 8)
|
|
17
|
+
- Improved CLI install restart messaging — `--continue` promoted as primary option for preserving conversation history
|
|
18
|
+
- 20 new tests across all 6 roadmap items
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- SDLC skill: added Auto-Approval, Debugging Workflow, Multiple Reviewers, Custom Subagents sections
|
|
22
|
+
- Setup skill: added branding asset detection (Step 1) and BRANDING.md generation (Step 8.5)
|
|
23
|
+
- Wizard doc: added Plan Auto-Approval, Debugging Workflow, N-Reviewer Pipeline, Custom Subagents, BRANDING.md template
|
|
24
|
+
|
|
7
25
|
## [1.21.0] - 2026-03-31
|
|
8
26
|
|
|
9
27
|
### Added
|
|
@@ -418,6 +418,8 @@ After planning, you get a free `/compact` - Claude's plan is preserved in the su
|
|
|
418
418
|
4. You run `/compact` → frees context, plan preserved in summary
|
|
419
419
|
5. Claude implements with clean context
|
|
420
420
|
|
|
421
|
+
**Plan Auto-Approval:** For HIGH confidence (95%+) tasks that are single-file or trivial (config tweak, small bug fix, string change) with no new patterns — skip plan approval and go straight to TDD. Claude still announces the approach but doesn't wait for approval. When in doubt, wait.
|
|
422
|
+
|
|
421
423
|
### 2. Confidence Levels Prevent Disasters
|
|
422
424
|
|
|
423
425
|
Claude MUST state confidence before implementing:
|
|
@@ -1773,6 +1775,19 @@ TodoWrite([
|
|
|
1773
1775
|
|
|
1774
1776
|
**Before TDD, MUST ask:** "Docs updated. Run `/compact` before implementation?"
|
|
1775
1777
|
|
|
1778
|
+
### Auto-Approval: Skip Plan Approval Step
|
|
1779
|
+
|
|
1780
|
+
If ALL of these are true, skip plan approval and go straight to TDD:
|
|
1781
|
+
- Confidence is **HIGH (95%+)** — you know exactly what to do
|
|
1782
|
+
- Task is **single-file or trivial** (config tweak, small bug fix, string change)
|
|
1783
|
+
- No new patterns introduced
|
|
1784
|
+
- No architectural decisions
|
|
1785
|
+
|
|
1786
|
+
When auto-approving, still announce your approach — just don't wait for approval:
|
|
1787
|
+
> "Confidence HIGH (95%). Single-file change. Proceeding directly to TDD."
|
|
1788
|
+
|
|
1789
|
+
**When in doubt, wait for approval.** Auto-approval is for clear-cut cases only.
|
|
1790
|
+
|
|
1776
1791
|
## Confidence Check (REQUIRED)
|
|
1777
1792
|
|
|
1778
1793
|
Before presenting approach, STATE your confidence:
|
|
@@ -1927,6 +1942,28 @@ Before any release/publish, add these to `review_instructions`:
|
|
|
1927
1942
|
|
|
1928
1943
|
Evidence: v1.20.0 cross-model review caught CHANGELOG section loss and stale wizard version examples that passed all tests and self-review.
|
|
1929
1944
|
|
|
1945
|
+
### Multiple Reviewers (N-Reviewer Pipeline)
|
|
1946
|
+
|
|
1947
|
+
When multiple reviewers comment on a PR (Claude, Codex, human reviewers), address each reviewer independently:
|
|
1948
|
+
|
|
1949
|
+
1. **Read all reviews** — collect feedback from every active reviewer
|
|
1950
|
+
2. **Respond per-reviewer** — each reviewer has different blind spots. Address each one's findings separately
|
|
1951
|
+
3. **Resolve conflicts** — if reviewers disagree, pick the stronger argument, note why
|
|
1952
|
+
4. **Iterate until all approve** — don't merge until every active reviewer is satisfied
|
|
1953
|
+
5. **Max 3 iterations per reviewer** — escalate to user if a reviewer keeps finding new things
|
|
1954
|
+
|
|
1955
|
+
The value of multiple reviewers: different models/humans catch different issues. No single reviewer is sufficient for high-stakes changes.
|
|
1956
|
+
|
|
1957
|
+
### Custom Subagents (`.claude/agents/`)
|
|
1958
|
+
|
|
1959
|
+
Claude Code supports custom subagents in `.claude/agents/`. These run as independent subprocesses focused on a single task:
|
|
1960
|
+
|
|
1961
|
+
- **`sdlc-reviewer`** — SDLC compliance review (planning, TDD, self-review checks)
|
|
1962
|
+
- **`ci-debug`** — CI failure diagnosis (reads logs, identifies root cause)
|
|
1963
|
+
- **`test-writer`** — Quality test writing following TESTING.md philosophies
|
|
1964
|
+
|
|
1965
|
+
**Skills vs agents:** Skills guide Claude's behavior for a task type. Agents are independent subprocesses that run autonomously and return results. Use agents when you want parallel work or a fresh context window.
|
|
1966
|
+
|
|
1930
1967
|
## Test Review (Harder Than Implementation)
|
|
1931
1968
|
|
|
1932
1969
|
During self-review, critique tests HARDER than app code:
|
|
@@ -2004,6 +2041,24 @@ Sometimes the flakiness is genuinely in CI infrastructure (runner environment, G
|
|
|
2004
2041
|
- **Keep quality gates strict** — the actual pass/fail decision must NOT have `continue-on-error`
|
|
2005
2042
|
- **Separate "fail the build" from "nice to have"** — a missing PR comment is not a regression
|
|
2006
2043
|
|
|
2044
|
+
## Debugging Workflow (Systematic Investigation)
|
|
2045
|
+
|
|
2046
|
+
When something breaks and the cause isn't obvious, follow this systematic debugging workflow:
|
|
2047
|
+
|
|
2048
|
+
```
|
|
2049
|
+
Reproduce → Isolate → Root Cause → Fix → Regression Test
|
|
2050
|
+
```
|
|
2051
|
+
|
|
2052
|
+
1. **Reproduce** — Can you make it fail consistently? If intermittent, stress-test (run N times). If you can't reproduce it, you can't fix it
|
|
2053
|
+
2. **Isolate** — Narrow the scope. Which file? Which function? Which input? Use binary search: comment out half the code, does it still fail?
|
|
2054
|
+
3. **Root cause** — Don't fix symptoms. Ask "why?" until you hit the actual cause. "It crashes on line 42" is a symptom. "Null pointer because the API returns undefined when rate-limited" is a root cause
|
|
2055
|
+
4. **Fix** — Fix the root cause, not the symptom
|
|
2056
|
+
5. **Regression test** — Write a test that fails without your fix and passes with it (TDD GREEN)
|
|
2057
|
+
|
|
2058
|
+
**For regressions** (it worked before, now it doesn't): Use `git bisect` to find the exact breaking commit. `git bisect start`, `git bisect bad` (current), `git bisect good <known-good-commit>`. Narrows to the breaking commit in O(log n) steps.
|
|
2059
|
+
|
|
2060
|
+
**Environment-specific bugs** (works locally, fails in CI/staging/prod): Check environment differences (env vars, OS version, dependency versions, file permissions). Reproduce the environment locally if possible. Add logging at the failure point — don't guess, observe.
|
|
2061
|
+
|
|
2007
2062
|
## CI Feedback Loop — Local Shepherd (After Commit)
|
|
2008
2063
|
|
|
2009
2064
|
**This is the "local shepherd" — your CI fix mechanism.** It runs in your active session with full context.
|
|
@@ -2346,7 +2401,7 @@ If deployment fails or post-deploy verification catches issues:
|
|
|
2346
2401
|
|
|
2347
2402
|
**SDLC.md:**
|
|
2348
2403
|
```markdown
|
|
2349
|
-
<!-- SDLC Wizard Version: 1.
|
|
2404
|
+
<!-- SDLC Wizard Version: 1.22.0 -->
|
|
2350
2405
|
<!-- Setup Date: [DATE] -->
|
|
2351
2406
|
<!-- Completed Steps: step-0.1, step-0.2, step-0.4, step-1, step-2, step-3, step-4, step-5, step-6, step-7, step-8, step-9 -->
|
|
2352
2407
|
<!-- Git Workflow: [PRs or Solo] -->
|
|
@@ -2455,6 +2510,36 @@ Reference: `components/ui/` or Storybook
|
|
|
2455
2510
|
|
|
2456
2511
|
**If you have external design system:** Point to Storybook/Figma URL instead of duplicating.
|
|
2457
2512
|
|
|
2513
|
+
### BRANDING.md (If Branding Assets Detected)
|
|
2514
|
+
|
|
2515
|
+
**Only generated if branding-related files are found:** BRANDING.md, brand/, logos/, style-guide.md, brand-voice.md, tone-of-voice.*, or UI/content-heavy project patterns.
|
|
2516
|
+
|
|
2517
|
+
```markdown
|
|
2518
|
+
# Brand Guidelines
|
|
2519
|
+
|
|
2520
|
+
## Brand Voice & Tone
|
|
2521
|
+
- [Detected from brand-voice.md or style guide, or ask user]
|
|
2522
|
+
- Formal/casual/technical/friendly
|
|
2523
|
+
- Target audience description
|
|
2524
|
+
|
|
2525
|
+
## Naming Conventions
|
|
2526
|
+
- Product name: [official name, capitalization]
|
|
2527
|
+
- Feature names: [naming pattern]
|
|
2528
|
+
- Technical terminology: [glossary of project-specific terms]
|
|
2529
|
+
|
|
2530
|
+
## Visual Identity
|
|
2531
|
+
- Logo usage: [reference to logo files or guidelines]
|
|
2532
|
+
- Color palette: [reference to DESIGN_SYSTEM.md if exists]
|
|
2533
|
+
- Typography: [font choices and usage]
|
|
2534
|
+
|
|
2535
|
+
## Content Style
|
|
2536
|
+
- [Any content writing guidelines]
|
|
2537
|
+
- [Error message tone]
|
|
2538
|
+
- [User-facing copy standards]
|
|
2539
|
+
```
|
|
2540
|
+
|
|
2541
|
+
**Why BRANDING.md?** Claude writing user-facing copy, error messages, or documentation needs to know the brand voice. Without this, output tone is inconsistent. Skip for backend-only or internal-tool projects.
|
|
2542
|
+
|
|
2458
2543
|
---
|
|
2459
2544
|
|
|
2460
2545
|
## Step 10: Verify Setup (Claude Does This Automatically)
|
|
@@ -3217,7 +3302,7 @@ Walk through updates? (y/n)
|
|
|
3217
3302
|
Store wizard state in `SDLC.md` as metadata comments (invisible to readers, parseable by Claude):
|
|
3218
3303
|
|
|
3219
3304
|
```markdown
|
|
3220
|
-
<!-- SDLC Wizard Version: 1.
|
|
3305
|
+
<!-- SDLC Wizard Version: 1.22.0 -->
|
|
3221
3306
|
<!-- Setup Date: 2026-01-24 -->
|
|
3222
3307
|
<!-- Completed Steps: step-0.1, step-0.2, step-1, step-2, step-3, step-4, step-5, step-6, step-7, step-8, step-9 -->
|
|
3223
3308
|
<!-- Git Workflow: PRs -->
|
package/README.md
CHANGED
|
@@ -186,7 +186,7 @@ This isn't the only Claude Code SDLC tool. Here's an honest comparison:
|
|
|
186
186
|
|--------|------------|----------------------|-------------|
|
|
187
187
|
| **Focus** | SDLC enforcement + measurement | Agent performance optimization | Plugin marketplace |
|
|
188
188
|
| **Hooks** | 3 (SDLC, TDD, instructions) | 12+ (dev blocker, prettier, etc.) | Webhook watcher |
|
|
189
|
-
| **Skills** |
|
|
189
|
+
| **Skills** | 4 (/sdlc, /setup, /update, /feedback) | 80+ domain-specific | 13 slash commands |
|
|
190
190
|
| **Evaluation** | 95% CI, CUSUM, SDP, Tier 1/2 | Configuration testing | skilltest framework |
|
|
191
191
|
| **CI Shepherd** | Local CI fix loop | No | No |
|
|
192
192
|
| **Auto-updates** | Weekly CC + community scan | No | No |
|
package/cli/init.js
CHANGED
|
@@ -22,6 +22,7 @@ const FILES = [
|
|
|
22
22
|
{ src: 'skills/sdlc/SKILL.md', dest: '.claude/skills/sdlc/SKILL.md' },
|
|
23
23
|
{ src: 'skills/setup/SKILL.md', dest: '.claude/skills/setup/SKILL.md' },
|
|
24
24
|
{ src: 'skills/update/SKILL.md', dest: '.claude/skills/update/SKILL.md' },
|
|
25
|
+
{ src: 'skills/feedback/SKILL.md', dest: '.claude/skills/feedback/SKILL.md' },
|
|
25
26
|
];
|
|
26
27
|
|
|
27
28
|
const WIZARD_HOOK_MARKERS = FILES
|
|
@@ -224,12 +225,12 @@ function init(targetDir, { force = false, dryRun = false } = {}) {
|
|
|
224
225
|
console.log(`
|
|
225
226
|
${GREEN}SDLC Wizard installed successfully!${RESET}
|
|
226
227
|
|
|
227
|
-
${YELLOW}
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
${YELLOW}Restart Claude Code${RESET} to load new hooks and skills:
|
|
229
|
+
${CYAN}/exit${RESET} then ${CYAN}claude --continue${RESET} (keeps conversation history)
|
|
230
|
+
${CYAN}/exit${RESET} then ${CYAN}claude${RESET} (fresh start)
|
|
230
231
|
|
|
231
232
|
Next steps:
|
|
232
|
-
1.
|
|
233
|
+
1. Restart Claude Code (see above)
|
|
233
234
|
2. Tell Claude anything — setup auto-invokes when SDLC files are missing
|
|
234
235
|
3. Claude reads the wizard doc and creates CLAUDE.md, SDLC.md, TESTING.md, ARCHITECTURE.md
|
|
235
236
|
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feedback
|
|
3
|
+
description: Submit feedback, bug reports, feature requests, or share SDLC patterns you've discovered. Privacy-first — always asks before scanning.
|
|
4
|
+
argument-hint: [optional: bug | feature | pattern | improvement]
|
|
5
|
+
effort: medium
|
|
6
|
+
---
|
|
7
|
+
# Feedback — Community Contribution Loop
|
|
8
|
+
|
|
9
|
+
## Task
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
Help users contribute back to the SDLC wizard: bug reports, feature requests, pattern sharing, and SDLC improvements. Privacy-first — never scan without explicit permission.
|
|
15
|
+
|
|
16
|
+
## Privacy & Permission (MANDATORY)
|
|
17
|
+
|
|
18
|
+
**NEVER scan the user's repo without explicit consent.** Always ask first:
|
|
19
|
+
|
|
20
|
+
> "I can scan your SDLC setup to identify what you've customized vs wizard defaults. This helps me create a more specific report. May I scan? (Only file names and SDLC config are read — no source code, secrets, or business logic.)"
|
|
21
|
+
|
|
22
|
+
**What IS scanned (with permission):**
|
|
23
|
+
- SDLC.md, TESTING.md, CLAUDE.md structure (not content details)
|
|
24
|
+
- Hook file names and which hooks are active
|
|
25
|
+
- Skill names and which skills exist
|
|
26
|
+
- .claude/settings.json hook configuration (not allowedTools or secrets)
|
|
27
|
+
|
|
28
|
+
**What is NEVER scanned:**
|
|
29
|
+
- Source code files
|
|
30
|
+
- .env files, secrets, credentials
|
|
31
|
+
- Business logic or proprietary code
|
|
32
|
+
- Git history or commit messages
|
|
33
|
+
|
|
34
|
+
## Feedback Types
|
|
35
|
+
|
|
36
|
+
### Bug Report
|
|
37
|
+
1. Ask user to describe the issue
|
|
38
|
+
2. With permission, check which wizard version is installed (`SDLC.md` metadata)
|
|
39
|
+
3. Check if hooks are properly configured
|
|
40
|
+
4. Create a GitHub issue with reproduction steps
|
|
41
|
+
|
|
42
|
+
### Feature Request
|
|
43
|
+
1. Ask user what they want
|
|
44
|
+
2. With permission, check if a similar capability already exists in their setup
|
|
45
|
+
3. Create a GitHub issue with the request and context
|
|
46
|
+
|
|
47
|
+
### Pattern Sharing
|
|
48
|
+
1. Ask user what pattern they've discovered (custom hook, modified philosophy, test approach)
|
|
49
|
+
2. With permission, diff their SDLC setup against wizard defaults to identify customizations
|
|
50
|
+
3. Ask: "Which of these customizations worked well for you?"
|
|
51
|
+
4. Create a GitHub issue describing the pattern and evidence it works
|
|
52
|
+
|
|
53
|
+
### SDLC Improvement
|
|
54
|
+
1. Ask what could be better about the SDLC workflow
|
|
55
|
+
2. With permission, check which SDLC steps they use most/least
|
|
56
|
+
3. Create a GitHub issue with the improvement suggestion
|
|
57
|
+
|
|
58
|
+
## Creating the Issue
|
|
59
|
+
|
|
60
|
+
Use `gh issue create` on the wizard repo:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
gh issue create \
|
|
64
|
+
--repo BaseInfinity/agentic-ai-sdlc-wizard \
|
|
65
|
+
--title "[feedback-type]: Brief description" \
|
|
66
|
+
--body "$(cat <<'EOF'
|
|
67
|
+
## Feedback Type
|
|
68
|
+
bug / feature / pattern / improvement
|
|
69
|
+
|
|
70
|
+
## Description
|
|
71
|
+
[User's description]
|
|
72
|
+
|
|
73
|
+
## Context
|
|
74
|
+
- Wizard version: [from SDLC.md metadata]
|
|
75
|
+
- Setup type: [detected stack if permission granted]
|
|
76
|
+
|
|
77
|
+
## Evidence (if pattern sharing)
|
|
78
|
+
[What the user customized and why it worked]
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
Submitted via `/feedback` skill
|
|
82
|
+
EOF
|
|
83
|
+
)"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Rules
|
|
87
|
+
|
|
88
|
+
- **Privacy first** — always ask before scanning anything
|
|
89
|
+
- **Opt-in only** — if user declines scan, still create the issue with whatever they tell you manually
|
|
90
|
+
- **No source code** — never include source code snippets in issues
|
|
91
|
+
- **Be specific** — vague issues waste maintainer time. Ask clarifying questions
|
|
92
|
+
- **Check for duplicates** — `gh issue list --repo BaseInfinity/agentic-ai-sdlc-wizard --search "keywords"` before creating
|
|
@@ -110,6 +110,19 @@ Critical miss on `tdd_red` or `self_review` = process failure regardless of tota
|
|
|
110
110
|
2. **Transition** (after approval): Update feature docs
|
|
111
111
|
3. **Implementation**: TDD RED -> GREEN -> PASS
|
|
112
112
|
|
|
113
|
+
### Auto-Approval: Skip Plan Approval Step
|
|
114
|
+
|
|
115
|
+
If ALL of these are true, skip plan approval and go straight to TDD:
|
|
116
|
+
- Confidence is **HIGH (95%+)** — you know exactly what to do
|
|
117
|
+
- Task is **single-file or trivial** (config tweak, small bug fix, string change)
|
|
118
|
+
- No new patterns introduced
|
|
119
|
+
- No architectural decisions
|
|
120
|
+
|
|
121
|
+
When auto-approving, still announce your approach — just don't wait for approval:
|
|
122
|
+
> "Confidence HIGH (95%). Single-file change. Proceeding directly to TDD."
|
|
123
|
+
|
|
124
|
+
**When in doubt, wait for approval.** Auto-approval is for clear-cut cases only.
|
|
125
|
+
|
|
113
126
|
## Confidence Check (REQUIRED)
|
|
114
127
|
|
|
115
128
|
Before presenting approach, STATE your confidence:
|
|
@@ -264,6 +277,32 @@ Before any release/publish, add these to `review_instructions`:
|
|
|
264
277
|
|
|
265
278
|
Evidence: v1.20.0 cross-model review caught CHANGELOG section loss and stale wizard version examples that passed all tests and self-review. Tests catch version mismatches; cross-model review catches semantic issues tests cannot.
|
|
266
279
|
|
|
280
|
+
### Multiple Reviewers (N-Reviewer Pipeline)
|
|
281
|
+
|
|
282
|
+
When multiple reviewers comment on a PR (Claude PR review, Codex, human reviewers), address each reviewer independently:
|
|
283
|
+
|
|
284
|
+
1. **Read all reviews** — `gh api repos/OWNER/REPO/pulls/PR/comments` to get every reviewer's feedback
|
|
285
|
+
2. **Respond per-reviewer** — Each reviewer has different blind spots and priorities. Address each one's findings separately
|
|
286
|
+
3. **Resolve conflicts** — If reviewers disagree, use your judgment: pick the stronger argument, note why you chose it
|
|
287
|
+
4. **Iterate until all approve** — Don't merge until every active reviewer is satisfied or their concerns are explicitly addressed
|
|
288
|
+
5. **Max 3 iterations per reviewer** — If a reviewer keeps finding new things after 3 rounds, escalate to the user
|
|
289
|
+
|
|
290
|
+
**The value of multiple reviewers:** Different models/humans catch different issues. Claude excels at SDLC/process compliance. Codex catches logic bugs. Humans catch "does this make sense for the product?" None alone is sufficient for high-stakes changes.
|
|
291
|
+
|
|
292
|
+
### Custom Subagents (`.claude/agents/`)
|
|
293
|
+
|
|
294
|
+
Claude Code supports custom subagents in `.claude/agents/`. These are specialized agents you can invoke for focused tasks:
|
|
295
|
+
|
|
296
|
+
- **`sdlc-reviewer`** — An agent focused purely on SDLC compliance review (planning, TDD, self-review checks)
|
|
297
|
+
- **`ci-debug`** — An agent specialized in diagnosing CI failures (reads logs, identifies root cause, suggests fix)
|
|
298
|
+
- **`test-writer`** — An agent focused on writing quality tests following TESTING.md philosophies
|
|
299
|
+
|
|
300
|
+
**When to use agents vs skills:**
|
|
301
|
+
- **Skills** (`.claude/skills/`) — Prompts that guide Claude's behavior for a task type. Claude reads and follows them
|
|
302
|
+
- **Agents** (`.claude/agents/`) — Independent subprocesses that run autonomously on a focused task and return results
|
|
303
|
+
|
|
304
|
+
Agents are useful when you want parallel work (e.g., run `sdlc-reviewer` while you continue implementing) or when a task benefits from a fresh context window focused on one thing.
|
|
305
|
+
|
|
267
306
|
## Test Review (Harder Than Implementation)
|
|
268
307
|
|
|
269
308
|
During self-review, critique tests HARDER than app code:
|
|
@@ -363,6 +402,35 @@ If tests fail:
|
|
|
363
402
|
|
|
364
403
|
Debug it. Find root cause. Fix it properly. Tests ARE code.
|
|
365
404
|
|
|
405
|
+
## Debugging Workflow (Systematic Investigation)
|
|
406
|
+
|
|
407
|
+
When something breaks and the cause isn't obvious, follow this systematic debugging workflow:
|
|
408
|
+
|
|
409
|
+
```
|
|
410
|
+
Reproduce → Isolate → Root Cause → Fix → Regression Test
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
1. **Reproduce** — Can you make it fail consistently? If intermittent, stress-test (run N times). If you can't reproduce it, you can't fix it
|
|
414
|
+
2. **Isolate** — Narrow the scope. Which file? Which function? Which input? Use binary search: comment out half the code, does it still fail?
|
|
415
|
+
3. **Root cause** — Don't fix symptoms. Ask "why?" until you hit the actual cause. "It crashes on line 42" is a symptom. "Null pointer because the API returns undefined when rate-limited" is a root cause
|
|
416
|
+
4. **Fix** — Fix the root cause, not the symptom. Write the fix
|
|
417
|
+
5. **Regression test** — Write a test that fails without your fix and passes with it (TDD GREEN)
|
|
418
|
+
|
|
419
|
+
**For regressions** (it worked before, now it doesn't):
|
|
420
|
+
- Use `git bisect` to find the exact commit that broke it
|
|
421
|
+
- `git bisect start`, `git bisect bad` (current), `git bisect good <known-good-commit>`
|
|
422
|
+
- Bisect narrows to the breaking commit in O(log n) steps
|
|
423
|
+
|
|
424
|
+
**Environment-specific bugs** (works locally, fails in CI/staging/prod):
|
|
425
|
+
- Check environment differences: env vars, OS version, dependency versions, file permissions
|
|
426
|
+
- Reproduce the environment locally if possible (Docker, env vars)
|
|
427
|
+
- Add logging at the failure point — don't guess, observe
|
|
428
|
+
|
|
429
|
+
**When to stop and ask:**
|
|
430
|
+
- After 2 failed fix attempts → STOP and ASK USER
|
|
431
|
+
- If the bug is in code you don't understand → read first, then fix
|
|
432
|
+
- If reproducing requires access you don't have → ASK USER
|
|
433
|
+
|
|
366
434
|
## CI Feedback Loop — Local Shepherd (After Commit)
|
|
367
435
|
|
|
368
436
|
**This is the "local shepherd" — the CI fix mechanism.** It runs in your active session with full context.
|
|
@@ -37,6 +37,7 @@ Scan the project root for:
|
|
|
37
37
|
- Feature docs: *_PLAN.md, *_DOCS.md, *_SPEC.md, docs/
|
|
38
38
|
- Deployment: Dockerfile, vercel.json, fly.toml, netlify.toml, Procfile, k8s/
|
|
39
39
|
- Design system: tailwind.config.*, .storybook/, theme files, CSS custom properties
|
|
40
|
+
- Branding assets: BRANDING.md, brand/, logos/, style-guide.md, brand-voice.md, tone-of-voice.*
|
|
40
41
|
- Existing docs: README.md, CLAUDE.md, ARCHITECTURE.md
|
|
41
42
|
- Scripts in package.json (lint, test, build, typecheck, etc.)
|
|
42
43
|
- Database config files (prisma/, drizzle.config.*, knexfile.*, .env with DB_*)
|
|
@@ -151,6 +152,16 @@ Only if design system artifacts were found in Step 1:
|
|
|
151
152
|
|
|
152
153
|
Skip this step if no UI/design system detected.
|
|
153
154
|
|
|
155
|
+
### Step 8.5: Generate BRANDING.md (If Branding Detected)
|
|
156
|
+
|
|
157
|
+
Only if branding-related assets were found in Step 1 (brand/, logos/, style-guide.md, brand-voice.md, existing BRANDING.md, or UI/content-heavy project detected):
|
|
158
|
+
- Brand voice and tone guidelines
|
|
159
|
+
- Naming conventions (product names, feature names, terminology)
|
|
160
|
+
- Visual identity summary (logo usage, color palette references)
|
|
161
|
+
- Content style guide (if the project has user-facing copy)
|
|
162
|
+
|
|
163
|
+
Skip this step if no branding assets or UI/content patterns detected.
|
|
164
|
+
|
|
154
165
|
### Step 9: Configure Tool Permissions
|
|
155
166
|
|
|
156
167
|
Based on detected stack, suggest `allowedTools` entries for `.claude/settings.json`:
|
|
@@ -45,13 +45,13 @@ Extract the latest version from the first `## [X.X.X]` line.
|
|
|
45
45
|
Parse all CHANGELOG entries between the user's installed version and the latest. Present a clear summary:
|
|
46
46
|
|
|
47
47
|
```
|
|
48
|
-
Installed: 1.
|
|
49
|
-
Latest: 1.
|
|
48
|
+
Installed: 1.20.0
|
|
49
|
+
Latest: 1.22.0
|
|
50
50
|
|
|
51
51
|
What changed:
|
|
52
|
+
- [1.22.0] Plan auto-approval, debugging workflow, /feedback skill, BRANDING.md detection, ...
|
|
52
53
|
- [1.21.0] Confidence-driven setup, prove-it gate, cross-model release review, ...
|
|
53
54
|
- [1.20.0] Version-pinned CC update gate, Tier 1 flakiness fix, flaky test guidance, ...
|
|
54
|
-
- [1.19.0] CI shepherd model, token efficiency, feature doc enforcement, ...
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
**If versions match:** Say "You're up to date! (version X.X.X)" and stop.
|