Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion careful/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ hooks:
- matcher: "Bash"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/bin/check-careful.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/bin/check-careful.sh"
statusMessage: "Checking for destructive commands..."
---
<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly -->
Expand Down
2 changes: 1 addition & 1 deletion careful/SKILL.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ hooks:
- matcher: "Bash"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/bin/check-careful.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/bin/check-careful.sh"
statusMessage: "Checking for destructive commands..."
sensitive: true
---
Expand Down
4 changes: 2 additions & 2 deletions freeze/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ hooks:
- matcher: "Edit"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/bin/check-freeze.sh"
statusMessage: "Checking freeze boundary..."
- matcher: "Write"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/bin/check-freeze.sh"
statusMessage: "Checking freeze boundary..."
---
<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly -->
Expand Down
4 changes: 2 additions & 2 deletions freeze/SKILL.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ hooks:
- matcher: "Edit"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/bin/check-freeze.sh"
statusMessage: "Checking freeze boundary..."
- matcher: "Write"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/bin/check-freeze.sh"
statusMessage: "Checking freeze boundary..."
sensitive: true
---
Expand Down
6 changes: 3 additions & 3 deletions guard/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ hooks:
- matcher: "Bash"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../careful/bin/check-careful.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../careful/bin/check-careful.sh"
statusMessage: "Checking for destructive commands..."
- matcher: "Edit"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh"
statusMessage: "Checking freeze boundary..."
- matcher: "Write"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh"
statusMessage: "Checking freeze boundary..."
---
<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly -->
Expand Down
6 changes: 3 additions & 3 deletions guard/SKILL.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ hooks:
- matcher: "Bash"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../careful/bin/check-careful.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../careful/bin/check-careful.sh"
statusMessage: "Checking for destructive commands..."
- matcher: "Edit"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh"
statusMessage: "Checking freeze boundary..."
- matcher: "Write"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh"
statusMessage: "Checking freeze boundary..."
sensitive: true
---
Expand Down
6 changes: 3 additions & 3 deletions investigate/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ hooks:
- matcher: "Edit"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh"
statusMessage: "Checking debug scope boundary..."
- matcher: "Write"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh"
statusMessage: "Checking debug scope boundary..."
---
<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly -->
Expand Down Expand Up @@ -622,7 +622,7 @@ Output: **"Root cause hypothesis: ..."** — a specific, testable claim about wh
After forming your root cause hypothesis, lock edits to the affected module to prevent scope creep.

```bash
[ -x "${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh" ] && echo "FREEZE_AVAILABLE" || echo "FREEZE_UNAVAILABLE"
[ -x "${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh" ] && echo "FREEZE_AVAILABLE" || echo "FREEZE_UNAVAILABLE"
```

**If FREEZE_AVAILABLE:** Identify the narrowest directory containing the affected files. Write it to the freeze state file:
Expand Down
6 changes: 3 additions & 3 deletions investigate/SKILL.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ hooks:
- matcher: "Edit"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh"
statusMessage: "Checking debug scope boundary..."
- matcher: "Write"
hooks:
- type: command
command: "bash ${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh"
command: "bash ${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh"
statusMessage: "Checking debug scope boundary..."
---

Expand Down Expand Up @@ -72,7 +72,7 @@ Output: **"Root cause hypothesis: ..."** — a specific, testable claim about wh
After forming your root cause hypothesis, lock edits to the affected module to prevent scope creep.

```bash
[ -x "${CLAUDE_SKILL_DIR}/../freeze/bin/check-freeze.sh" ] && echo "FREEZE_AVAILABLE" || echo "FREEZE_UNAVAILABLE"
[ -x "${CLAUDE_PLUGIN_ROOT}/../freeze/bin/check-freeze.sh" ] && echo "FREEZE_AVAILABLE" || echo "FREEZE_UNAVAILABLE"
```

**If FREEZE_AVAILABLE:** Identify the narrowest directory containing the affected files. Write it to the freeze state file:
Expand Down
2 changes: 1 addition & 1 deletion scripts/resolvers/review.ts
Original file line number Diff line number Diff line change
Expand Up @@ -946,7 +946,7 @@ curl -s -o /dev/null -w '%{http_code}' http://localhost:4000 2>/dev/null || echo
Read the \`/qa-only\` skill from disk:

\`\`\`bash
cat \${CLAUDE_SKILL_DIR}/../qa-only/SKILL.md
cat \${CLAUDE_PLUGIN_ROOT}/../qa-only/SKILL.md
\`\`\`

**If unreadable:** Skip with "Could not load /qa-only — skipping plan verification."
Expand Down
4 changes: 2 additions & 2 deletions ship/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -1509,7 +1509,7 @@ curl -s -o /dev/null -w '%{http_code}' http://localhost:4000 2>/dev/null || echo
Read the `/qa-only` skill from disk:

```bash
cat ${CLAUDE_SKILL_DIR}/../qa-only/SKILL.md
cat ${CLAUDE_PLUGIN_ROOT}/../qa-only/SKILL.md
```

**If unreadable:** Skip with "Could not load /qa-only — skipping plan verification."
Expand Down Expand Up @@ -2484,7 +2484,7 @@ After the PR is created, automatically sync project documentation. Read the
`document-release/SKILL.md` skill file (adjacent to this skill's directory) and
execute its full workflow:

1. Read the `/document-release` skill: `cat ${CLAUDE_SKILL_DIR}/../document-release/SKILL.md`
1. Read the `/document-release` skill: `cat ${CLAUDE_PLUGIN_ROOT}/../document-release/SKILL.md`
2. Follow its instructions — it reads all .md files in the project, cross-references
the diff, and updates anything that drifted (README, ARCHITECTURE, CONTRIBUTING,
CLAUDE.md, TODOS, etc.)
Expand Down
2 changes: 1 addition & 1 deletion ship/SKILL.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -621,7 +621,7 @@ After the PR is created, automatically sync project documentation. Read the
`document-release/SKILL.md` skill file (adjacent to this skill's directory) and
execute its full workflow:

1. Read the `/document-release` skill: `cat ${CLAUDE_SKILL_DIR}/../document-release/SKILL.md`
1. Read the `/document-release` skill: `cat ${CLAUDE_PLUGIN_ROOT}/../document-release/SKILL.md`
2. Follow its instructions — it reads all .md files in the project, cross-references
the diff, and updates anything that drifted (README, ARCHITECTURE, CONTRIBUTING,
CLAUDE.md, TODOS, etc.)
Expand Down
16 changes: 16 additions & 0 deletions test/gen-skill-docs.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,22 @@ describe('gen-skill-docs', () => {
expect(browseTmpl).toContain('{{PREAMBLE}}');
});

test('skill templates do not reference legacy CLAUDE_SKILL_DIR hook paths', () => {
for (const skill of ALL_SKILLS) {
const tmplPath = path.join(ROOT, skill.dir, 'SKILL.md.tmpl');
const content = fs.readFileSync(tmplPath, 'utf-8');
expect(content).not.toContain('CLAUDE_SKILL_DIR');
}
});

test('generated skills do not reference legacy CLAUDE_SKILL_DIR hook paths', () => {
for (const skill of ALL_SKILLS) {
const mdPath = path.join(ROOT, skill.dir, 'SKILL.md');
const content = fs.readFileSync(mdPath, 'utf-8');
expect(content).not.toContain('CLAUDE_SKILL_DIR');
}
});

test('generated SKILL.md contains operational self-improvement (replaced contributor mode)', () => {
const content = fs.readFileSync(path.join(ROOT, 'SKILL.md'), 'utf-8');
expect(content).not.toContain('Contributor Mode');
Expand Down