fix(skills): resolve references/ links from the skill directory
Every SKILL.md linked the shared checklists as `references/<file>.md`, a path relative to the skill's own directory. Those files live in the repo root `references/`, two levels up, so all 18 links across 11 skills resolved to paths that do not exist -- in the repo and in every plugin-install layout (~/.claude/plugins/cache/..., ~/.codex/...). An agent following the guidance -- using-agent-skills pointing at the Definition of Done, for example -- hit a file-not-found on every one. Rewrite the 18 links to `../../references/<file>.md`, which resolves correctly from `skills/<name>/`. Text-only; no structure or tone changed. Verified: all 18 links resolve; hooks/session-start-test.sh passes (required by CONTRIBUTING.md when touching using-agent-skills/SKILL.md); validate-skills, validate-versions, validate-commands and validate-artifact-paths all pass. Refs #468 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -348,8 +348,8 @@ For triaging `npm audit` findings and supply-chain risk (typosquatting, compromi
|
||||
```
|
||||
## See Also
|
||||
|
||||
- For detailed security review guidance, see `references/security-checklist.md`
|
||||
- For performance review checks, see `references/performance-checklist.md`
|
||||
- For detailed security review guidance, see `../../references/security-checklist.md`
|
||||
- For performance review checks, see `../../references/performance-checklist.md`
|
||||
|
||||
## Common Rationalizations
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ If you doubt every keystroke, you ship nothing. The skill applies only to non-tr
|
||||
|
||||
This skill is designed for the **main-session orchestrator**, where Step 3 (DOUBT, detailed below) can spawn a fresh-context reviewer.
|
||||
|
||||
- **Do NOT add this skill to a persona's `skills:` frontmatter.** A persona that follows Step 3 would spawn another persona — the orchestration anti-pattern explicitly forbidden by `references/orchestration-patterns.md` ("personas do not invoke other personas").
|
||||
- **Do NOT add this skill to a persona's `skills:` frontmatter.** A persona that follows Step 3 would spawn another persona — the orchestration anti-pattern explicitly forbidden by `../../references/orchestration-patterns.md` ("personas do not invoke other personas").
|
||||
- **If you find yourself applying this skill from inside a subagent context** (where Claude Code prevents nested subagent spawn): the preferred path is to surface to the user that doubt-driven cannot run nested and let the main session handle it. As a last resort only, a degraded self-questioning fallback exists — rewrite ARTIFACT + CONTRACT as a fresh self-prompt with a hard mental separator from your prior reasoning, and walk Steps 1–5. This is **not fresh-context review** (you carry your own context with you), so flag the result as degraded and prefer escalation whenever the user is reachable.
|
||||
|
||||
## The Process
|
||||
@@ -226,7 +226,7 @@ If 3 cycles is "obviously insufficient" because the artifact is large: the artif
|
||||
- **`source-driven-development`**: SDD verifies *facts about frameworks* against official docs. Doubt-driven verifies *your reasoning about the artifact*. SDD checks the API exists; doubt-driven checks you used it correctly under the contract.
|
||||
- **`test-driven-development`**: TDD's RED step is doubt made concrete — a failing test is a disproof attempt. When TDD applies, that failing test *is* the doubt step for behavioral claims.
|
||||
- **`debugging-and-error-recovery`**: when the reviewer surfaces a real failure mode, drop into the debugging skill to localize and fix.
|
||||
- **Repo orchestration rules** (`references/orchestration-patterns.md`): this skill orchestrates from the main session. A persona calling another persona is anti-pattern B — see Loading Constraints above.
|
||||
- **Repo orchestration rules** (`../../references/orchestration-patterns.md`): this skill orchestrates from the main session. A persona calling another persona is anti-pattern B — see Loading Constraints above.
|
||||
|
||||
## Verification
|
||||
|
||||
|
||||
@@ -294,7 +294,7 @@ function useToggleTask() {
|
||||
|
||||
## See Also
|
||||
|
||||
For detailed accessibility requirements and testing tools, see `references/accessibility-checklist.md`.
|
||||
For detailed accessibility requirements and testing tools, see `../../references/accessibility-checklist.md`.
|
||||
|
||||
## Common Rationalizations
|
||||
|
||||
|
||||
@@ -246,4 +246,4 @@ After completing all increments for a task:
|
||||
|
||||
## See Also
|
||||
|
||||
Per-increment verification is the local check. Before declaring a task done, apply the project-wide Definition of Done as the final gate, the standing bar every increment clears regardless of the task. See `references/definition-of-done.md`.
|
||||
Per-increment verification is the local check. Before declaring a task done, apply the project-wide Definition of Done as the final gate, the standing bar every increment clears regardless of the task. See `../../references/definition-of-done.md`.
|
||||
|
||||
@@ -200,4 +200,4 @@ After instrumenting a feature, confirm:
|
||||
- [ ] Every new alert is symptom-based, has a runbook link, and was test-fired once
|
||||
- [ ] An induced failure in staging was located via telemetry alone, without reading the source
|
||||
|
||||
For the at-a-glance version of this list, including the pre-launch instrumentation gate, see `references/observability-checklist.md`.
|
||||
For the at-a-glance version of this list, including the pre-launch instrumentation gate, see `../../references/observability-checklist.md`.
|
||||
|
||||
@@ -349,7 +349,7 @@ npx lhci autorun
|
||||
|
||||
## See Also
|
||||
|
||||
For detailed performance checklists, optimization commands, and anti-pattern reference, see `references/performance-checklist.md`.
|
||||
For detailed performance checklists, optimization commands, and anti-pattern reference, see `../../references/performance-checklist.md`.
|
||||
|
||||
|
||||
## Common Rationalizations
|
||||
|
||||
@@ -231,4 +231,4 @@ Before starting implementation, confirm:
|
||||
|
||||
## See Also
|
||||
|
||||
Acceptance criteria are per-task and answer "did we build the right thing?". They sit on top of the project-wide Definition of Done, the standing bar every task clears before it counts as done. See `references/definition-of-done.md`.
|
||||
Acceptance criteria are per-task and answer "did we build the right thing?". They sit on top of the project-wide Definition of Done, the standing bar every task clears before it counts as done. See `../../references/definition-of-done.md`.
|
||||
|
||||
@@ -74,7 +74,7 @@ If you can't name the trust boundaries for a feature, you're not ready to secure
|
||||
|
||||
## OWASP Top 10 Prevention Patterns
|
||||
|
||||
These are prevention patterns, not a ranking. For the 2021 ordering, see the quick-reference table in `references/security-checklist.md`.
|
||||
These are prevention patterns, not a ranking. For the 2021 ordering, see the quick-reference table in `../../references/security-checklist.md`.
|
||||
|
||||
### Injection (SQL, NoSQL, OS Command)
|
||||
|
||||
@@ -300,7 +300,7 @@ When you defer a fix, document the reason and set a review date.
|
||||
|
||||
Do not assume npm or treat the nearest manifest as the install root. Apply this order:
|
||||
|
||||
1. **Find the installation boundary and manager.** Use the workspace root that owns the lockfile, or an independent nested project only when it is outside that workspace. There, corroborate `packageManager` (when present), the lockfile, and CI; stop on disagreement or competing lockfiles. Pin the manager version and use the matrix in `references/security-checklist.md`.
|
||||
1. **Find the installation boundary and manager.** Use the workspace root that owns the lockfile, or an independent nested project only when it is outside that workspace. There, corroborate `packageManager` (when present), the lockfile, and CI; stop on disagreement or competing lockfiles. Pin the manager version and use the matrix in `../../references/security-checklist.md`.
|
||||
2. **Block dependency scripts before first execution.** Bootstrap with scripts disabled or a documented fail-closed policy, inspect the pending script source, approve only the minimum required packages, commit the policy, then verify with a clean frozen/immutable install. Never blanket-approve scripts.
|
||||
|
||||
Audits only find known advisories; they do not catch a newly malicious or typosquatted package. Therefore:
|
||||
@@ -424,7 +424,7 @@ container.textContent = await llm.reply(userMessage);
|
||||
```
|
||||
## See Also
|
||||
|
||||
For detailed security checklists and pre-commit verification steps, see `references/security-checklist.md`.
|
||||
For detailed security checklists and pre-commit verification steps, see `../../references/security-checklist.md`.
|
||||
|
||||
## Common Rationalizations
|
||||
|
||||
|
||||
@@ -265,10 +265,10 @@ Every deployment needs a rollback plan before it happens:
|
||||
```
|
||||
## See Also
|
||||
|
||||
- For the project-wide Definition of Done that every change must clear before this checklist, see `references/definition-of-done.md`
|
||||
- For security pre-launch checks, see `references/security-checklist.md`
|
||||
- For performance pre-launch checklist, see `references/performance-checklist.md`
|
||||
- For accessibility verification before launch, see `references/accessibility-checklist.md`
|
||||
- For the project-wide Definition of Done that every change must clear before this checklist, see `../../references/definition-of-done.md`
|
||||
- For security pre-launch checks, see `../../references/security-checklist.md`
|
||||
- For performance pre-launch checklist, see `../../references/performance-checklist.md`
|
||||
- For accessibility verification before launch, see `../../references/accessibility-checklist.md`
|
||||
|
||||
## Common Rationalizations
|
||||
|
||||
|
||||
@@ -358,7 +358,7 @@ This separation ensures the test is written without knowledge of the fix, making
|
||||
|
||||
## See Also
|
||||
|
||||
For JavaScript/TypeScript testing patterns illustrating these principles — Jest, React Testing Library, Supertest, Playwright — see `references/testing-patterns.md`. The principles transfer to any ecosystem; the syntax and tools there are JS/TS-specific.
|
||||
For JavaScript/TypeScript testing patterns illustrating these principles — Jest, React Testing Library, Supertest, Playwright — see `../../references/testing-patterns.md`. The principles transfer to any ecosystem; the syntax and tools there are JS/TS-specific.
|
||||
|
||||
## Common Rationalizations
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ Your job is surgical precision, not unsolicited renovation.
|
||||
|
||||
Every skill includes a verification step. A task is not complete until verification passes. "Seems right" is never sufficient — there must be evidence (passing tests, build output, runtime data).
|
||||
|
||||
Per-skill verification is the local check. The project-wide bar that applies to *every* change, regardless of which skill is active, is the Definition of Done: tests pass, no regressions, behavior verified at runtime, docs updated. See `references/definition-of-done.md`. It complements each task's acceptance criteria rather than replacing them.
|
||||
Per-skill verification is the local check. The project-wide bar that applies to *every* change, regardless of which skill is active, is the Definition of Done: tests pass, no regressions, behavior verified at runtime, docs updated. See `../../references/definition-of-done.md`. It complements each task's acceptance criteria rather than replacing them.
|
||||
|
||||
## Failure Modes to Avoid
|
||||
|
||||
|
||||
Reference in New Issue
Block a user