all-for-claudecode 2.11.0 → 2.13.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.
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Automated pipeline for Claude Code — spec → plan → implement → review → clean",
9
- "version": "2.11.0"
9
+ "version": "2.13.0"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "afc",
14
14
  "source": "./",
15
15
  "description": "Automated pipeline for Claude Code. Automates the full development cycle: spec → plan → implement → review → clean.",
16
- "version": "2.11.0",
16
+ "version": "2.13.0",
17
17
  "category": "automation",
18
18
  "tags": ["pipeline", "automation", "spec", "plan", "implement", "review", "critic-loop"]
19
19
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "afc",
3
- "version": "2.11.0",
3
+ "version": "2.13.0",
4
4
  "description": "Automated pipeline for Claude Code. Automates the full development cycle: spec → plan → implement → review → clean.",
5
5
  "author": { "name": "jhlee0409", "email": "relee6203@gmail.com" },
6
6
  "homepage": "https://github.com/jhlee0409/all-for-claudecode",
package/MIGRATION.md CHANGED
@@ -20,7 +20,7 @@
20
20
  - If you previously used `/afc:analyze` for artifact consistency checking, use `/afc:validate` instead (or let the pipeline invoke it automatically).
21
21
  - Agent memory files (`.claude/agent-memory/afc-architect/MEMORY.md`, `.claude/agent-memory/afc-security/MEMORY.md`) exceeding 100 lines will be auto-pruned on next pipeline run.
22
22
  - Memory subdirectories exceeding rotation thresholds will be auto-pruned during the Clean phase.
23
- - Run `/afc:init` to update the `AFC:VERSION` tag in your CLAUDE.md.
23
+ - Run `/afc:setup` to update the `AFC:VERSION` tag in your CLAUDE.md.
24
24
 
25
25
  ---
26
26
 
@@ -77,7 +77,7 @@ Replace the `SELFISH:START` / `SELFISH:END` block in your project's CLAUDE.md:
77
77
  - Change all `selfish:` command references → `afc:`
78
78
  - Change `selfish-architect` / `selfish-security` → `afc-architect` / `afc-security`
79
79
 
80
- Or simply run `/afc:init` to regenerate the block.
80
+ Or simply run `/afc:setup` to regenerate the block.
81
81
 
82
82
  #### 4. Migrate state files (if pipeline was active)
83
83
 
package/README.md CHANGED
@@ -28,7 +28,8 @@ npx all-for-claudecode
28
28
  Then:
29
29
 
30
30
  ```
31
- /afc:init # Detect your stack, generate config
31
+ /afc:setup # Set up global routing in ~/.claude/CLAUDE.md
32
+ /afc:init # Detect your stack, generate project config
32
33
  /afc:auto "Add user authentication" # Run the full pipeline
33
34
  ```
34
35
 
@@ -115,7 +116,8 @@ Performance: ✓ no N+1 queries
115
116
  | `/afc:clean` | Pipeline artifact cleanup and codebase hygiene |
116
117
  | `/afc:research` | Technical research with persistent storage |
117
118
  | `/afc:debug` | Bug diagnosis and fix |
118
- | `/afc:init` | Project setup — detects stack and generates config |
119
+ | `/afc:init` | Project setup — detects stack and generates project config |
120
+ | `/afc:setup` | Global CLAUDE.md configuration — injects/updates AFC routing block |
119
121
  | `/afc:doctor` | Diagnose project health and plugin setup |
120
122
  | `/afc:architect` | Architecture analysis (persistent memory) |
121
123
  | `/afc:security` | Security scan (persistent memory, isolated worktree) |
@@ -130,6 +132,8 @@ Performance: ✓ no N+1 queries
130
132
  | `/afc:qa` | Project quality audit — test confidence, error resilience, code health |
131
133
  | `/afc:consult` | Expert consultation (backend, infra, PM, design, marketing) |
132
134
  | `/afc:triage` | Analyze open PRs and issues in parallel |
135
+ | `/afc:issue` | Analyze a single GitHub issue and create actionable document |
136
+ | `/afc:resolve` | Analyze and address LLM bot review comments on a PR |
133
137
  | `/afc:pr-comment` | Generate structured PR review comments |
134
138
  | `/afc:release-notes` | Generate release notes from git history |
135
139
  | `/afc:learner` | Review and promote learned patterns to project rules |
@@ -248,10 +252,12 @@ Dependencies are tracked via DAG. CI gate + Mini-Review + Auto-Checkpoint run at
248
252
  ## Configuration
249
253
 
250
254
  ```
251
- /afc:init
255
+ /afc:setup # One-time: inject routing block into ~/.claude/CLAUDE.md
256
+ /afc:init # Per-project: detect stack and generate .claude/afc.config.md
252
257
  ```
253
258
 
254
- Auto-detects your tech stack (package manager, framework, architecture, testing, linting) and generates `.claude/afc.config.md` with CI commands, architecture rules, and code style conventions. No manual preset selection needed the init command analyzes your project structure directly.
259
+ - **`/afc:setup`** Manages the AFC routing block in your global `~/.claude/CLAUDE.md`. Run once after install and again after plugin updates. Idempotentskips if version matches.
260
+ - **`/afc:init`** — Auto-detects your tech stack (package manager, framework, architecture, testing, linting) and generates project-local config files. No manual preset selection needed.
255
261
 
256
262
  ## FAQ
257
263
 
package/bin/cli.mjs CHANGED
@@ -97,6 +97,7 @@ async function main() {
97
97
  console.log(" ✓ Installation complete!");
98
98
  console.log();
99
99
  console.log(" Next steps:");
100
+ console.log(" /afc:setup Set up global routing");
100
101
  console.log(" /afc:init Create project config");
101
102
  console.log(' /afc:auto "feature desc" Run the pipeline');
102
103
  console.log();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "all-for-claudecode",
3
- "version": "2.11.0",
3
+ "version": "2.13.0",
4
4
  "description": "Claude Code plugin that automates the full dev cycle — spec, plan, implement, review, clean.",
5
5
  "bin": {
6
6
  "all-for-claudecode": "bin/cli.mjs"
@@ -264,7 +264,7 @@ check_command_docs() {
264
264
  [ -d "$skills_dir" ] || return
265
265
 
266
266
  local readme="$PROJECT_DIR/README.md"
267
- local init_skill="$skills_dir/init/SKILL.md"
267
+ local setup_skill="$skills_dir/setup/SKILL.md"
268
268
  local claude_md="$PROJECT_DIR/CLAUDE.md"
269
269
  local issues=0
270
270
 
@@ -281,12 +281,12 @@ check_command_docs() {
281
281
  fi
282
282
  fi
283
283
 
284
- # Sub-check B: init/SKILL.md should mention afc:{name} for user-invocable skills
284
+ # Sub-check B: setup/SKILL.md should mention afc:{name} for user-invocable skills
285
285
  local invocable
286
286
  invocable=$(get_cmd_field "$skill_file" "user-invocable")
287
- if [ "$invocable" != "false" ] && [ -f "$init_skill" ]; then
288
- if ! grep -qE "afc:${cmd_name}([^a-z0-9-]|$)" "$init_skill" 2>/dev/null; then
289
- warn "Skill '$cmd_name' missing from init/SKILL.md skill routing"
287
+ if [ "$invocable" != "false" ] && [ -f "$setup_skill" ]; then
288
+ if ! grep -qE "afc:${cmd_name}([^a-z0-9-]|$)" "$setup_skill" 2>/dev/null; then
289
+ warn "Skill '$cmd_name' missing from setup/SKILL.md skill routing"
290
290
  issues=$((issues + 1))
291
291
  fi
292
292
  fi
@@ -303,7 +303,7 @@ check_command_docs() {
303
303
  done
304
304
 
305
305
  if [ "$issues" -eq 0 ]; then
306
- ok "Skill docs: all skills referenced in README.md, init/SKILL.md, CLAUDE.md"
306
+ ok "Skill docs: all skills referenced in README.md, setup/SKILL.md, CLAUDE.md"
307
307
  fi
308
308
  }
309
309
 
@@ -55,6 +55,20 @@ section() {
55
55
  printf '\n%s\n' "$1"
56
56
  }
57
57
 
58
+ # --- Header: show which plugin version is running ---
59
+ if [ -f "$PLUGIN_ROOT/package.json" ]; then
60
+ if command -v jq >/dev/null 2>&1; then
61
+ RUNNING_VERSION=$(jq -r '.version // "unknown"' "$PLUGIN_ROOT/package.json" 2>/dev/null || echo "unknown")
62
+ else
63
+ RUNNING_VERSION=$(grep -o '"version"[[:space:]]*:[[:space:]]*"[^"]*"' "$PLUGIN_ROOT/package.json" 2>/dev/null | head -1 | sed 's/.*: *"//;s/"//' || echo "unknown")
64
+ fi
65
+ printf 'all-for-claudecode Doctor (v%s)\n' "$RUNNING_VERSION"
66
+ printf 'Plugin root: %s\n' "$PLUGIN_ROOT"
67
+ else
68
+ printf 'all-for-claudecode Doctor (version unknown)\n'
69
+ printf 'Plugin root: %s\n' "$PLUGIN_ROOT"
70
+ fi
71
+
58
72
  # --- Category 1: Environment ---
59
73
  section "Environment"
60
74
 
@@ -160,15 +174,15 @@ if [ -f "$GLOBAL_CLAUDE" ]; then
160
174
  if [ "$BLOCK_VERSION" = "$PLUGIN_VERSION" ]; then
161
175
  pass "Block version matches plugin ($PLUGIN_VERSION)"
162
176
  else
163
- warn "all-for-claudecode block outdated (block: $BLOCK_VERSION, plugin: $PLUGIN_VERSION)" "run /afc:init to update"
177
+ warn "all-for-claudecode block outdated (block: $BLOCK_VERSION, plugin: $PLUGIN_VERSION)" "run /afc:setup to update"
164
178
  fi
165
179
  fi
166
180
  fi
167
181
  else
168
- fail "all-for-claudecode block not found" "run /afc:init to inject all-for-claudecode block"
182
+ fail "all-for-claudecode block not found" "run /afc:setup to inject all-for-claudecode block"
169
183
  fi
170
184
  else
171
- warn "No global ~/.claude/CLAUDE.md" "run /afc:init"
185
+ warn "No global ~/.claude/CLAUDE.md" "run /afc:setup"
172
186
  fi
173
187
 
174
188
  # --- Category 4: Legacy Migration ---
@@ -179,7 +193,7 @@ LEGACY_FOUND=false
179
193
  # Legacy CLAUDE.md block
180
194
  if [ -f "$GLOBAL_CLAUDE" ] && grep -q '<!-- SELFISH:START -->' "$GLOBAL_CLAUDE" 2>/dev/null; then
181
195
  LEGACY_FOUND=true
182
- warn "Legacy SELFISH:START block in ~/.claude/CLAUDE.md" "run /afc:init (will replace)"
196
+ warn "Legacy SELFISH:START block in ~/.claude/CLAUDE.md" "run /afc:setup (will replace)"
183
197
  fi
184
198
 
185
199
  # Legacy config
@@ -42,7 +42,7 @@ if ! afc_state_is_active; then
42
42
  LOWER=$(printf '%s' "$USER_TEXT" | tr '[:upper:]' '[:lower:]' | cut -c1-500)
43
43
 
44
44
  # Compact skill catalog: injected when regex misses, so the model classifies semantically
45
- FALLBACK_HINT="[afc] Route via Skill tool if applicable — debug(bug/에러/수정/fix) | review(코드검토/리뷰/PR) | test(테스트/coverage) | spec(요구사항/스펙) | plan(설계/계획) | implement(구현/리팩터) | auto(새기능/feature) | consult(조언/상의/discuss) | analyze(분석/trace) | research(조사/리서치) | security(보안/취약점) | architect(아키텍처/설계) | qa(품질감사) | launch(릴리스/배포) | triage(PR정리/이슈분류) | clean(정리/cleanup) | ideate(아이디어/brainstorm) | doctor(진단/health) | release-notes(변경이력)"
45
+ FALLBACK_HINT="[afc] Route via Skill tool if applicable — debug(bug/에러/수정/fix) | review(코드검토/리뷰/PR) | test(테스트/coverage) | spec(요구사항/스펙) | plan(설계/계획) | implement(구현/리팩터) | auto(새기능/feature) | consult(조언/상의/discuss) | analyze(분석/trace) | research(조사/리서치) | security(보안/취약점) | architect(아키텍처/설계) | qa(품질감사) | launch(릴리스/배포) | triage(PR정리/이슈분류) | issue(이슈분석) | resolve(LLM리뷰대응) | clean(정리/cleanup) | ideate(아이디어/brainstorm) | doctor(진단/health) | release-notes(변경이력)"
46
46
 
47
47
  # Early exit for empty prompts (context-only messages, malformed JSON)
48
48
  if [ -z "$LOWER" ]; then
@@ -83,6 +83,10 @@ if ! afc_state_is_active; then
83
83
  SKILL="afc:launch"
84
84
  elif printf '%s' "$LOWER" | grep -qE '(triage|pr.?정리|이슈.?정리|백로그.?정리|pr.?분류|이슈.?분류)' 2>/dev/null; then
85
85
  SKILL="afc:triage"
86
+ elif printf '%s' "$LOWER" | grep -qE '(issue.*분석|이슈.*분석|analyze.*issue|issue.*#[0-9]|이슈.*#[0-9])' 2>/dev/null; then
87
+ SKILL="afc:issue"
88
+ elif printf '%s' "$LOWER" | grep -qE '(review.*comment|resolve.*comment|coderabbit|copilot.*review|리뷰.*코멘트|봇.*리뷰|bot.*review.*fix)' 2>/dev/null; then
89
+ SKILL="afc:resolve"
86
90
  # Medium confidence: still distinctive but broader
87
91
  elif printf '%s' "$LOWER" | grep -qE '(specification|requirements|acceptance criteria|요구.?사항|기능.?정의|인수.?조건)' 2>/dev/null; then
88
92
  SKILL="afc:spec"
@@ -73,7 +73,7 @@ if [ -f "$PLUGIN_ROOT/package.json" ]; then
73
73
  if [ -f "$GLOBAL_CLAUDE" ]; then
74
74
  BLOCK_VERSION=$(grep -o 'AFC:VERSION:[0-9][0-9.]*' "$GLOBAL_CLAUDE" 2>/dev/null | head -1 | sed 's/AFC:VERSION://' || true)
75
75
  if [ -n "${BLOCK_VERSION:-}" ] && [ "$BLOCK_VERSION" != "$PLUGIN_VERSION" ]; then
76
- OUTPUT="${OUTPUT:+$OUTPUT | }[AFC VERSION MISMATCH] v$PLUGIN_VERSION installed but CLAUDE.md block is v$BLOCK_VERSION. Run /afc:init to update."
76
+ OUTPUT="${OUTPUT:+$OUTPUT | }[AFC VERSION MISMATCH] v$PLUGIN_VERSION installed but CLAUDE.md block is v$BLOCK_VERSION. Run /afc:setup to update."
77
77
  fi
78
78
  fi
79
79
  fi
@@ -99,7 +99,7 @@ Structure analysis results and **print to console**:
99
99
 
100
100
  ### 4. Critic Loop
101
101
 
102
- > **Always** read `${CLAUDE_PLUGIN_ROOT}/docs/critic-loop-rules.md` first and follow it.
102
+ > **Always** read `${CLAUDE_SKILL_DIR}/../../docs/critic-loop-rules.md` first and follow it.
103
103
 
104
104
  Run the critic loop until convergence. Safety cap: 5 passes.
105
105
 
@@ -88,7 +88,7 @@ Route based on **what expertise the feature actually needs**, not keyword presen
88
88
 
89
89
  ## Critic Loop Rules (common to all phases)
90
90
 
91
- > **Always** read `${CLAUDE_PLUGIN_ROOT}/docs/critic-loop-rules.md` first and follow it.
91
+ > **Always** read `${CLAUDE_SKILL_DIR}/../../docs/critic-loop-rules.md` first and follow it.
92
92
  > Core: minimum 1 concern per criterion + mandatory Adversarial failure scenario each pass + quantitative evidence required. "PASS" as a single word is prohibited. Uses convergence-based termination with 4 verdicts (PASS/FAIL/ESCALATE/DEFER). On ESCALATE: pause and present options to user even in auto mode.
93
93
 
94
94
  ---
@@ -102,18 +102,18 @@ Route based on **what expertise the feature actually needs**, not keyword presen
102
102
  3. Determine feature name (2-3 keywords → kebab-case)
103
103
  3.5. **Preflight Check**:
104
104
  ```bash
105
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-preflight-check.sh"
105
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-preflight-check.sh"
106
106
  ```
107
107
  - If exit 1 (hard failure) → print error and **abort**
108
108
  - If warnings only (exit 0) → print warnings and continue
109
109
  4. **Activate Pipeline Flag** (hook integration):
110
110
  ```bash
111
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" start {feature}
111
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" start {feature}
112
112
  ```
113
113
  - Safety Snapshot created automatically (`afc/pre-auto` git tag)
114
114
  - Stop Gate Hook activated (blocks response termination on CI failure)
115
115
  - File change tracking started
116
- - Timeline log: `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" log pipeline-start "Auto pipeline: {feature}"`
116
+ - Timeline log: `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" log pipeline-start "Auto pipeline: {feature}"`
117
117
  5. Create `.claude/afc/specs/{feature}/` directory → **record path as `PIPELINE_ARTIFACT_DIR`** (for Clean scope)
118
118
  6. **Initialize Skill Advisor**: `ADVISOR_COUNT = 0`, `ADVISOR_TRANSFORM_USED = false`. Persist to pipeline state for context-loss resilience:
119
119
  ```bash
@@ -134,7 +134,7 @@ Before investing pipeline resources, evaluate whether the request warrants execu
134
134
  1. **Necessity check**: Explore codebase for existing implementations related to `$ARGUMENTS`.
135
135
  - If the feature substantially exists → ask user via AskUserQuestion:
136
136
  - "This feature appears to already exist at {path}. (1) Enhance existing (2) Replace entirely (3) Abort"
137
- - If user chooses abort → release pipeline flag (`"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" end`), end with: `"Pipeline aborted — feature already exists."`
137
+ - If user chooses abort → release pipeline flag (`"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" end`), end with: `"Pipeline aborted — feature already exists."`
138
138
 
139
139
  2. **Scope check**: Estimate the scope of `$ARGUMENTS`:
140
140
  - If description implies 10+ files or multiple unrelated concerns → warn:
@@ -171,8 +171,8 @@ If all checks pass, proceed to Phase 0.8.
171
171
  3. If change touches > 2 files OR modifies any `.sh` script: **rollback fast-path changes** (`git reset --hard afc/pre-auto`), then restart with full pipeline
172
172
  4. **Checkpoint**:
173
173
  ```bash
174
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase fast-path
175
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" ci-pass
174
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase fast-path
175
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" ci-pass
176
176
  ```
177
177
  5. Run `/afc:review` logic inline (mini-review only — single Critic pass)
178
178
  6. Run Phase 5 Clean logic (artifact cleanup, CI gate, pipeline flag release)
@@ -187,7 +187,7 @@ If all checks pass, proceed to Phase 0.8.
187
187
 
188
188
  ### Phase 0.5: Auto-Clarify Gate (conditional)
189
189
 
190
- `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase clarify`
190
+ `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase clarify`
191
191
 
192
192
  **Trigger condition**: Score `$ARGUMENTS` on 5 ambiguity signals. If score >= 3, trigger clarification.
193
193
 
@@ -274,7 +274,7 @@ If all checks pass, proceed to Phase 0.8.
274
274
 
275
275
  ### Phase 1: Spec (1/5)
276
276
 
277
- `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase spec`
277
+ `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase spec`
278
278
 
279
279
  Execute `/afc:spec` logic inline:
280
280
 
@@ -381,7 +381,7 @@ Execute `/afc:spec` logic inline:
381
381
 
382
382
  ### Phase 2: Plan (2/5)
383
383
 
384
- `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase plan`
384
+ `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase plan`
385
385
 
386
386
  Execute `/afc:plan` logic inline:
387
387
 
@@ -523,7 +523,7 @@ Execute `/afc:plan` logic inline:
523
523
 
524
524
  ### Phase 3: Implement (3/5)
525
525
 
526
- `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase implement`
526
+ `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase implement`
527
527
 
528
528
  **Session context reload**: At implement start, read `.claude/afc/specs/{feature}/context.md` if it exists. This restores key decisions and constraints from Plan phase (resilient to context compaction).
529
529
 
@@ -576,14 +576,14 @@ Execute `/afc:implement` logic inline — **follow all orchestration rules defin
576
576
 
577
577
  #### Step 3.2: TDD Pre-Generation (conditional)
578
578
 
579
- `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase test-pre-gen`
579
+ `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase test-pre-gen`
580
580
 
581
581
  **Trigger condition**: tasks.md contains at least 1 task targeting a `.sh` file in `scripts/`.
582
582
 
583
583
  **If triggered**:
584
584
  1. Run the test pre-generation script:
585
585
  ```bash
586
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-test-pre-gen.sh" ".claude/afc/specs/{feature}/tasks.md" "spec/"
586
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-test-pre-gen.sh" ".claude/afc/specs/{feature}/tasks.md" "spec/"
587
587
  ```
588
588
  2. Review generated skeleton files — verify they are parseable:
589
589
  ```bash
@@ -598,14 +598,14 @@ Execute `/afc:implement` logic inline — **follow all orchestration rules defin
598
598
 
599
599
  #### Step 3.3: Blast Radius Analysis (conditional)
600
600
 
601
- `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase blast-radius`
601
+ `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase blast-radius`
602
602
 
603
603
  **Trigger condition**: plan.md File Change Map lists >= 3 files to change.
604
604
 
605
605
  **If triggered**:
606
606
  1. Run the blast radius analysis:
607
607
  ```bash
608
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-blast-radius.sh" ".claude/afc/specs/{feature}/plan.md" "${CLAUDE_PROJECT_DIR}"
608
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-blast-radius.sh" ".claude/afc/specs/{feature}/plan.md" "${CLAUDE_PROJECT_DIR}"
609
609
  ```
610
610
  2. If exit 1 (cycle detected): **ESCALATE** — present the cycle to user with options:
611
611
  - Option 1: Refactor plan to break the cycle
@@ -621,11 +621,11 @@ Execute `/afc:implement` logic inline — **follow all orchestration rules defin
621
621
  0. **Baseline test** (follows implement.md Step 1, item 5): if `{config.test}` is non-empty, run `{config.test}` before starting task execution. On failure, report pre-existing test failures to user and ask: "(1) Proceed anyway (2) Fix first (3) Abort". On pass or empty config, continue.
622
622
  1. Execute tasks phase by phase using implement.md orchestration rules (sequential/batch/swarm based on [P] count)
623
623
  2. **Implementation Context injection**: Every sub-agent prompt includes the `## Implementation Context` section from plan.md **and relevant FR/AC items from spec.md** (ensures spec intent propagates to workers)
624
- 3. Perform **3-4 step gate** on each Implementation Phase completion — **always** read `${CLAUDE_PLUGIN_ROOT}/docs/phase-gate-protocol.md` first. Cannot advance to next phase without passing the gate.
625
- - On gate pass: create phase rollback point `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase-tag {phase_number}`
624
+ 3. Perform **3-4 step gate** on each Implementation Phase completion — **always** read `${CLAUDE_SKILL_DIR}/../../docs/phase-gate-protocol.md` first. Cannot advance to next phase without passing the gate.
625
+ - On gate pass: create phase rollback point `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase-tag {phase_number}`
626
626
  4. Real-time `[x]` updates in tasks.md
627
627
  5. After full completion, run `{config.ci}` final verification
628
- - On pass: `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" ci-pass` (releases Stop Gate)
628
+ - On pass: `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" ci-pass` (releases Stop Gate)
629
629
  - **On fail: Debug-based RCA** (replaces blind retry):
630
630
  1. Execute `/afc:debug` logic inline with the CI error output as input
631
631
  2. Debug performs RCA: error trace → data flow → hypothesis → targeted fix
@@ -656,7 +656,7 @@ Execute `/afc:implement` logic inline — **follow all orchestration rules defin
656
656
 
657
657
  #### Step 3.6: Implement Critic Loop
658
658
 
659
- > **Always** read `${CLAUDE_PLUGIN_ROOT}/docs/critic-loop-rules.md` first and follow it.
659
+ > **Always** read `${CLAUDE_SKILL_DIR}/../../docs/critic-loop-rules.md` first and follow it.
660
660
 
661
661
  **Critic Loop until convergence** (safety cap: 5, follow Critic Loop rules):
662
662
  - **SCOPE_ADHERENCE**: Compare `git diff` changed files against plan.md File Change Map. Flag any file modified that is NOT in the plan. Flag any planned file NOT modified. Provide "M of N files match" count.
@@ -750,7 +750,7 @@ Execute `/afc:implement` logic inline — **follow all orchestration rules defin
750
750
 
751
751
  ### Phase 4: Review (4/5)
752
752
 
753
- `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase review`
753
+ `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase review`
754
754
 
755
755
  Execute `/afc:review` logic inline — **follow all review perspectives defined in `skills/review/SKILL.md`** (A through H). The review skill is the single source of truth for review criteria.
756
756
 
@@ -902,7 +902,7 @@ If Checkpoint D produced outputs, inject them into the review context:
902
902
 
903
903
  #### Step 4.9: Critic Loop
904
904
 
905
- > **Always** read `${CLAUDE_PLUGIN_ROOT}/docs/critic-loop-rules.md` first and follow it.
905
+ > **Always** read `${CLAUDE_SKILL_DIR}/../../docs/critic-loop-rules.md` first and follow it.
906
906
 
907
907
  **Critic Loop until convergence** (safety cap: 5, follow Critic Loop rules):
908
908
  - COMPLETENESS: were all changed files reviewed across all 8 perspectives (A-H)?
@@ -1005,7 +1005,7 @@ Persist the review results for memory:
1005
1005
 
1006
1006
  ### Phase 5: Clean (5/5)
1007
1007
 
1008
- `"${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase clean`
1008
+ `"${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase clean`
1009
1009
 
1010
1010
  Artifact cleanup and codebase hygiene check after implementation and review:
1011
1011
 
@@ -1078,11 +1078,11 @@ Artifact cleanup and codebase hygiene check after implementation and review:
1078
1078
  - Clear `.claude/afc/memory/checkpoint.md` **and** `~/.claude/projects/{ENCODED_PATH}/memory/checkpoint.md` (pipeline complete = session goal achieved, dual-delete prevents stale checkpoint in either location; `ENCODED_PATH` = project path with `/` replaced by `-`)
1079
1079
  7. **Timeline finalize**:
1080
1080
  ```bash
1081
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" log pipeline-end "Pipeline complete: {feature}"
1081
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" log pipeline-end "Pipeline complete: {feature}"
1082
1082
  ```
1083
1083
  8. **Release Pipeline Flag** (hook integration):
1084
1084
  ```bash
1085
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" end
1085
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" end
1086
1086
  ```
1087
1087
  - Stop Gate Hook deactivated
1088
1088
  - Change tracking log deleted
@@ -24,7 +24,7 @@ model: sonnet
24
24
  ### 1. Resolve Feature
25
25
 
26
26
  ```bash
27
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase clean
27
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase clean
28
28
  ```
29
29
 
30
30
  - If pipeline is active: read feature from state
@@ -98,13 +98,13 @@ Clear `.claude/afc/memory/checkpoint.md` **and** `~/.claude/projects/{ENCODED_PA
98
98
  ### 8. Timeline Finalize
99
99
 
100
100
  ```bash
101
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" log pipeline-end "Pipeline complete: {feature}"
101
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" log pipeline-end "Pipeline complete: {feature}"
102
102
  ```
103
103
 
104
104
  ### 9. Release Pipeline Flag
105
105
 
106
106
  ```bash
107
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" end
107
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" end
108
108
  ```
109
109
 
110
110
  - Stop Gate Hook deactivated
@@ -86,7 +86,7 @@ If hypothesis 0 is rejected: verify remaining hypotheses starting from highest p
86
86
 
87
87
  ### 5. Critic Loop
88
88
 
89
- > **Always** read `${CLAUDE_PLUGIN_ROOT}/docs/critic-loop-rules.md` first and follow it.
89
+ > **Always** read `${CLAUDE_SKILL_DIR}/../../docs/critic-loop-rules.md` first and follow it.
90
90
 
91
91
  Run the critic loop until convergence. Safety cap: 5 passes.
92
92
 
@@ -16,7 +16,7 @@ model: sonnet
16
16
  > Like `brew doctor` or `flutter doctor` — verifies the **tool's setup**, NOT the project's code quality.
17
17
  > Read-only — never modifies files. Reports issues with actionable fix commands.
18
18
  >
19
- > **IMPORTANT: Do NOT analyze project source code, architecture, or code quality. Only check afc plugin configuration, hooks, state, and environment as defined in the check tables below.**
19
+ > **IMPORTANT: Do NOT analyze project source code, architecture, or code quality. Only check afc plugin configuration, hooks, state, and environment. All checks are handled by the bash script — just run it and print the output.**
20
20
 
21
21
  ## Arguments
22
22
 
@@ -39,7 +39,7 @@ Each failing check includes a **Fix:** line with the exact command to resolve it
39
39
 
40
40
  1. Run the health check script (covers ALL categories — no manual checks needed):
41
41
  ```
42
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-doctor.sh" $ARGUMENTS
42
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-doctor.sh" $ARGUMENTS
43
43
  ```
44
44
 
45
45
  2. Print the script's stdout output as-is. Do not reformat, summarize, or interpret.
@@ -54,8 +54,8 @@ Each failing check includes a **Fix:** line with the exact command to resolve it
54
54
  ## Example Output
55
55
 
56
56
  ```
57
- all-for-claudecode Doctor
58
- =======================
57
+ all-for-claudecode Doctor (v2.11.0)
58
+ Plugin root: /path/to/plugin
59
59
 
60
60
  Environment
61
61
  ✓ git installed (2.43.0)
@@ -64,34 +64,38 @@ Environment
64
64
 
65
65
  Project Config
66
66
  ✓ .claude/afc.config.md exists
67
- ✓ Required sections: ci, gate, architecture, code_style
68
- CI command runnable
69
- ✓ Gate command runnable
67
+ ✓ Required sections present
68
+ Gate command defined
70
69
 
71
70
  CLAUDE.md Integration
72
71
  ✓ Global ~/.claude/CLAUDE.md exists
73
72
  ✓ all-for-claudecode block present
74
- ⚠ all-for-claudecode block version outdated (1.0.0 1.1.0)
75
- Fix: /afc:init
76
- ✓ No conflicting routing
73
+ ⚠ all-for-claudecode block outdated (block: 1.0.0, plugin: 1.1.0)
74
+ Fix: run /afc:setup to update
75
+
76
+ Legacy Migration
77
+ ✓ No legacy artifacts found
77
78
 
78
79
  Pipeline State
79
- ✓ No stale pipeline flag
80
+ ✓ No stale pipeline state
80
81
  ✓ No orphaned artifacts
81
- ✓ No lingering safety tags
82
- No stale checkpoint
82
+
83
+ Memory Health
83
84
 
84
85
  Hook Health
85
86
  ✓ hooks.json valid
86
- ✓ All scripts exist
87
+ ✓ All hook scripts exist
87
88
  ✓ All scripts executable
88
89
 
90
+ Learner Health
91
+ ✓ Learner not enabled (opt-in via /afc:learner enable)
92
+
89
93
  Version Sync (dev)
90
- ✓ Version triple match
94
+ ✓ Version triple match (1.1.0)
91
95
  ✓ Cache in sync
92
96
 
93
- Command Definitions (dev)
94
- ✓ Frontmatter exists (25 files)
97
+ Skill Definitions (dev)
98
+ ✓ Frontmatter exists (29 files)
95
99
  ✓ Required fields present
96
100
  ✓ Name-filename match
97
101
  ✓ Fork-agent references valid
@@ -108,7 +112,7 @@ Doc References (dev)
108
112
  ✓ Domain adapters exist (3 files)
109
113
 
110
114
  ─────────────────────────
111
- Results: 28 passed, 2 warnings, 0 failures
115
+ Results: 26 passed, 2 warnings, 0 failures
112
116
  2 warnings found. Non-blocking but review recommended.
113
117
  ```
114
118
 
@@ -119,4 +123,4 @@ Results: 28 passed, 2 warnings, 0 failures
119
123
  - **Always run all checks**: do not stop on first failure. The full picture is the value.
120
124
  - **Actionable fixes**: every non-pass result must include a Fix line. Never report a problem without a solution.
121
125
  - **Fast execution**: skip CI/gate command checks if `--fast` is in arguments (these are the slowest checks).
122
- - **Development checks**: Categories 8–11 (Version Sync, Command Definitions, Agent Definitions, Doc References) only run when inside the all-for-claudecode source repo.
126
+ - **Development checks**: Version Sync, Skill Definitions, Agent Definitions, Doc References only run when inside the all-for-claudecode source repo.
@@ -43,8 +43,8 @@ git tag -f afc/pre-implement
43
43
  **Standalone safety activation** (skip if inside `/afc:auto`):
44
44
  If no active pipeline state exists, activate it for the duration of this command:
45
45
  ```bash
46
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" start {feature-name-from-plan.md}
47
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase implement
46
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" start {feature-name-from-plan.md}
47
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase implement
48
48
  ```
49
49
  This enables Stop Gate and CI Gate hooks during standalone implementation. Release on completion (Step 7) or failure rollback.
50
50
 
@@ -81,8 +81,8 @@ If `.claude/afc/specs/{feature}/tasks.md` does not exist, generate it from plan.
81
81
  - Constraint → tasks (every spec Constraint is addressed by at least one task)
82
82
  3. **Validate** (script-based, no critic loop):
83
83
  ```bash
84
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-dag-validate.sh" .claude/afc/specs/{feature}/tasks.md
85
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-parallel-validate.sh" .claude/afc/specs/{feature}/tasks.md
84
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-dag-validate.sh" .claude/afc/specs/{feature}/tasks.md
85
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-parallel-validate.sh" .claude/afc/specs/{feature}/tasks.md
86
86
  ```
87
87
  4. If validation fails → fix tasks.md and re-validate (max 2 attempts)
88
88
  5. Save to `.claude/afc/specs/{feature}/tasks.md`
@@ -312,12 +312,12 @@ When a worker agent returns an error:
312
312
 
313
313
  #### Phase Completion Gate (3 steps)
314
314
 
315
- > **Always** read `${CLAUDE_PLUGIN_ROOT}/docs/phase-gate-protocol.md` first and perform the 3–4 steps (CI gate → Mini-Review → Integration/E2E Gate (conditional) → Auto-Checkpoint) in order.
315
+ > **Always** read `${CLAUDE_SKILL_DIR}/../../docs/phase-gate-protocol.md` first and perform the 3–4 steps (CI gate → Mini-Review → Integration/E2E Gate (conditional) → Auto-Checkpoint) in order.
316
316
  > Cannot advance to the next phase without passing the gate. Abort and report to user after 3 consecutive CI failures.
317
317
 
318
318
  After passing the gate, create a phase rollback point:
319
319
  ```bash
320
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" phase-tag {phase_number}
320
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" phase-tag {phase_number}
321
321
  ```
322
322
  This enables granular rollback: `git reset --hard afc/phase-{N}` restores state after Phase N completed.
323
323
 
@@ -359,7 +359,7 @@ After all tasks are complete:
359
359
 
360
360
  After CI passes, run a convergence-based Critic Loop to verify design alignment before reporting completion.
361
361
 
362
- > **Always** read `${CLAUDE_PLUGIN_ROOT}/docs/critic-loop-rules.md` first and follow it.
362
+ > **Always** read `${CLAUDE_SKILL_DIR}/../../docs/critic-loop-rules.md` first and follow it.
363
363
 
364
364
  **Critic Loop until convergence** (safety cap: 5):
365
365
 
@@ -378,7 +378,7 @@ After CI passes, run a convergence-based Critic Loop to verify design alignment
378
378
 
379
379
  **Standalone cleanup** (if pipeline was activated in Step 0):
380
380
  ```bash
381
- "${CLAUDE_PLUGIN_ROOT}/scripts/afc-pipeline-manage.sh" end
381
+ "${CLAUDE_SKILL_DIR}/../../scripts/afc-pipeline-manage.sh" end
382
382
  ```
383
383
 
384
384
  ```