chore: refresh skills-index and add deterministic consistency check#121
Merged
chore: refresh skills-index and add deterministic consistency check#121
Conversation
The metadata index used by task-analyzer (skills-index.yaml) had drifted from the actual SKILL.md content for three entries. Refresh those entries and add a pre-commit script that detects future drift automatically. - coding-principles: yaml section list referenced "Security Principles (Secure Defaults, ...)" with bracketed subsections; the actual SKILL.md H2 heading is just "Security Principles". Trimmed to match. - integration-e2e-testing: tags and typical-use updated to reflect the two-lane E2E split (fixture-e2e and service-integration-e2e) introduced in 0.17.0. - test-implement: tags and typical-use updated so references/e2e.md is described as covering both fixture-e2e (mocked backend) and service-integration-e2e (live local stack) patterns. - New scripts/check-skills-index.mjs walks every entry in skills-index.yaml, reads the corresponding skill's SKILL.md, extracts H2 headings in order, and exits non-zero on any mismatch (missing skill directory, empty sections list, or order/text divergence). Reports yaml vs md diff per index for fast triage. - Registered as pnpm script `check:skills-index` and wired into lefthook pre-commit (fires when any skill SKILL.md or skills-index.yaml changes). Patch version bump 0.17.0 -> 0.17.1. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refreshes three stale entries in the
task-analyzerskills metadata index and adds a pre-commit script that detects future drift automatically.Changes
Skills index entries refreshed
Security Principles (Secure Defaults, ...)with bracketed subsections; the actualSKILL.mdH2 heading is justSecurity Principles. Trimmed to match.tagsandtypical-useupdated to reflect the two-lane E2E split (fixture-e2eandservice-integration-e2e) introduced in 0.17.0. Added tag terms:fixture-e2e,service-integration-e2e,lane-selection.tagsandtypical-useupdated soreferences/e2e.mdis described as covering both fixture-e2e (mocked backend) and service-integration-e2e (live local stack) patterns. Added tag terms:fixture-e2e,service-integration-e2e.New consistency checker
scripts/check-skills-index.mjs:skills-index.yaml.skills/<name>/SKILL.md, extracts H2 headings in order.sectionslist (strict order + text match).Scope is intentionally narrow — sections are deterministically checkable; tags/typical-use are subjective and remain manual.
Wiring
pnpm check:skills-indexregistered inpackage.json.lefthook.ymlpre-commit jobcheck-skills-indexfires when anyskills/*/SKILL.mdorskills/task-analyzer/references/skills-index.yamlchanges.Version
0.17.0→0.17.1(semver patch: bug fix + tooling, no behavior change).Test Plan
pnpm check:skills-indexpasses (verified locally — 10/10 skills consistent).exit 1with diff output showing[index] yaml: "..." vs md: "...".claude plugin validatepasses for marketplace and all three plugin manifests (run by lefthook pre-commit).