Context
During PR #12912 (peer-naming skill authoring, 2026-06-11), following the create-skill authoring guide verbatim threw Error: Cannot find module '.../ai/scripts/lint-skill-manifest.mjs' (MODULE_NOT_FOUND). The documented lint command points at a path that no longer exists.
The Problem
The skill-manifest lint script lives at ai/scripts/lint/lint-skill-manifest.mjs (note the lint/ subdir), but several live, agent-consumed docs still reference the pre-lint/ path ai/scripts/lint-skill-manifest.mjs. Any agent running the documented command verbatim hits MODULE_NOT_FOUND and must re-derive the real path. The CI workflow itself already uses the correct path (so CI is unaffected — the drift is docs-only), which is exactly why it went unnoticed.
The Architectural Reality
Live (non-archive) stale references, verified via grep -rn 'ai/scripts/lint-skill-manifest':
.agents/skills/create-skill/references/skill-authoring-guide.md:183 — the Verification-checklist command (the one that bit #12912).
learn/agentos/decisions/0008-skill-anatomy-and-authoring-contract.md:77, 125, 145 — ADR 0008, the canonical skill-anatomy decision substrate (3 refs).
test/playwright/unit/ai/scripts/lint/lintSkillManifest.spec.mjs:22 — a test.describe(...) label (cosmetic; the test file's own path already carries lint/).
Real path confirmed: ls ai/scripts/lint/lint-skill-manifest.mjs → exists.
The Fix
Replace ai/scripts/lint-skill-manifest.mjs → ai/scripts/lint/lint-skill-manifest.mjs (and the bare describe-label) across the 5 live references. One coherent cleanup, one PR (not micro-PRs).
Decision Record impact
aligned-with ADR 0008 — a factual path correction within the ADR's prose; no change to the decision itself.
Acceptance Criteria
Out of Scope
- The ~55
resources/content/{discussions,pulls}/** archive references (frozen historical record — they document what was written at the time).
- Any change to the lint script itself or the CI workflow (both already correct).
Related
- Empirical anchor: PR #12912 (peer-naming skill authoring). Surfaced as a friction→gold spawned-task during that PR.
Release classification: boardless — substrate-doc hygiene, non-blocking.
Origin Session ID: 0bc22bf2-9ded-4cdb-b351-182c3ab1d16f
Retrieval Hint: "stale lint-skill-manifest path create-skill guide ADR 0008 MODULE_NOT_FOUND"
Context
During PR #12912 (peer-naming skill authoring, 2026-06-11), following the
create-skillauthoring guide verbatim threwError: Cannot find module '.../ai/scripts/lint-skill-manifest.mjs'(MODULE_NOT_FOUND). The documented lint command points at a path that no longer exists.The Problem
The skill-manifest lint script lives at
ai/scripts/lint/lint-skill-manifest.mjs(note thelint/subdir), but several live, agent-consumed docs still reference the pre-lint/pathai/scripts/lint-skill-manifest.mjs. Any agent running the documented command verbatim hits MODULE_NOT_FOUND and must re-derive the real path. The CI workflow itself already uses the correct path (so CI is unaffected — the drift is docs-only), which is exactly why it went unnoticed.The Architectural Reality
Live (non-archive) stale references, verified via
grep -rn 'ai/scripts/lint-skill-manifest':.agents/skills/create-skill/references/skill-authoring-guide.md:183— the Verification-checklist command (the one that bit #12912).learn/agentos/decisions/0008-skill-anatomy-and-authoring-contract.md:77, 125, 145— ADR 0008, the canonical skill-anatomy decision substrate (3 refs).test/playwright/unit/ai/scripts/lint/lintSkillManifest.spec.mjs:22— atest.describe(...)label (cosmetic; the test file's own path already carrieslint/).Real path confirmed:
ls ai/scripts/lint/lint-skill-manifest.mjs→ exists.The Fix
Replace
ai/scripts/lint-skill-manifest.mjs→ai/scripts/lint/lint-skill-manifest.mjs(and the bare describe-label) across the 5 live references. One coherent cleanup, one PR (not micro-PRs).Decision Record impact
aligned-with ADR 0008— a factual path correction within the ADR's prose; no change to the decision itself.Acceptance Criteria
skill-authoring-guide.md:183lint command usesai/scripts/lint/lint-skill-manifest.mjs.lint/path.describelabel aligned (cosmetic).grep -rn 'ai/scripts/lint-skill-manifest'over non-archive paths returns zero.node ai/scripts/lint/lint-skill-manifest.mjs --base origin/devruns (proves the corrected command works).resources/content/**archive snapshots left untouched.Out of Scope
resources/content/{discussions,pulls}/**archive references (frozen historical record — they document what was written at the time).Related
Release classification: boardless — substrate-doc hygiene, non-blocking.
Origin Session ID: 0bc22bf2-9ded-4cdb-b351-182c3ab1d16f
Retrieval Hint: "stale lint-skill-manifest path create-skill guide ADR 0008 MODULE_NOT_FOUND"