fix(skills): source pointers should match the documented release #109
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/version-matched-source-pointers"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source pointers in
verify-doc-driftandverify-readmenow match the documented release: audits read the source for that release and record a proof gap when it is unavailable, and pointers andnpxcommands use the release or pin to it.Addresses the release-pointer concession in #97. Stacked children #112 and #113 target this branch and must merge after it.
🤖 Generated with Claude Code
Review
01M482RJE4FVN83JWAJBTNJJHX— headb9c64c5a516403d1551a9e84c532a86d9bd125e3Review — j4k-oss/agent-skills @
457b2484eeScope: diff against base tree
bc96a7769926Status: dispatched — coverage complete (5/5 slots terminal)
Facts: current review-wide projection
Computed under:
Findings (3)
medium — The catalog description duplicates the finding categories and audit procedure
01M48322GSZKFX3930YSW01KZ4skills/verify-doc-drift/SKILL.md(snippet)01M4D6FPZ209XKBHC71AKHQEJS· valid: The exact-grounded description lists finding categories and explains verification and repair before its routing condition. The reviewer identifies Finding categories in this same anchored file, skills/verify-doc-drift/SKILL.md, as the source and supplies the identical members: incorrect, code-drift, obvious, and duplicate. No set exception applies, so the matching copy is a medium defect. Independently, the installed packaging standard requires capability descriptions to begin with Use when and excludes method summaries. The replacement preserves the documentation-audit selection intent and explicitly leaves the category definitions and audit procedure in the body. Reassessment of the earlier claim reveals no concrete refutation in its verdict or disposition.medium — The verification gate rejects findings that have no code contradiction
01M4832KS2Q3EG6P3YPEKCYJH4skills/verify-doc-drift/SKILL.md(snippet)01M4D6FPZ209XKBHC71AKHQEJS· valid: The exact-grounded gate applies to every candidate, demands a contradicting line, and requires evidence re-derived from code. The reviewer supplies a coherent instruction trace: duplicate findings can concern accurate facts repeated across documents, obvious findings can concern unnecessary prose, and the per-unit loop accepts documentary evidence for those categories. Such findings need not contradict any code line, so the universal gate conflicts with the reported category-specific evidence contract. The proposed replacement retains independent refutation and requires independently established evidence through the existing per-unit loop; it does not weaken verification into accepting unsupported assertions. Medium is appropriate. The earlier adjudication offers no contrary evidence, and its reasoning remains supported on reassessment.low — The README skill description puts audit mechanics in persistent catalog context
01M4833TVNV1CNR4Q35ABVV693skills/verify-readme/SKILL.md(snippet)01M4D6FPZ209XKBHC71AKHQEJS· valid: The exact-grounded description leads with an audit summary and includes the universal section order and package.json cross-check before Use when. The installed packaging standard requires a capability description to start with Use when and describe matching requests rather than its method. The reviewer reports a capability delivery contract and a calling skill, consistent with the grounded trigger-based description. The replacement retains audit, improvement, rewriting, drafting, and quality-checking intents. Removing the method summary and synonymous literal triggers loses no necessary routing distinction; the correction explicitly retains the operational instructions in the body. Low severity fits. The prior adjudication supplies no concrete refutation; its earlier suggested type enumeration is not needed in the current correction.Other claims
01M48338ASS1Q5BAYCK31H9QSJmedium — Quick Start and Usage repeat the project-type set defined in Inputs01M4835B3J6CYXS7FMAGZHYY7Qmedium — The catalog description copies the project-type set defined in InputsCoverage
Coverage pass: 01M482RJFP4ACC17AA0XND7S4W
Accounting: complete
Slot health: healthy
@ -41,3 +41,3 @@Replace drifted text that restates a set the code defines with a pointer to the source that defines it; correcting the copy only restarts the clock on the next drift. Text restates a set when it lists every member, or states how many there are, of a set that a file, directory, schema, or command defines, such as the flags `--help` prints or the keys a config schema declares.Name a source the doc's reader can reach: a command, a file the published package ships, an absolute repository URL, or, when the project isn't published, a repository-relative path.Name a source the doc's reader can reach: a command, a file the published package ships, an absolute repository URL, or, when the project isn't published, a repository-relative path. For versioned documentation, use a command or shipped file matching the documented release, or pin the repository or hosted docs URL to that release. Living documentation can point to a living source.low — "Living documentation can point to a living source" fails the no-op test and adds two undefined terms
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M4227SSC8TVZNGKZ90RNFJFEof review01M4225KGGVJNP0XQCW31H2RVGlow — verify-doc-drift's new versioned-docs sentence says to pin a "hosted docs URL", but the file's list of allowed sources never includes hosted docs URLs
lens
general-bug· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M4227Z74X4BP5H6VH1P91EN1of review01M4225KGGVJNP0XQCW31H2RVGFixed in
22825f0: removed the redundant undefined living-documentation sentence from both skills; the release-scoped qualification itself defines the boundary.Fixed in
22825f0: verify-doc-drift now qualifies repository URLs only, preserving its existing reachable-source list; verify-readme retains its existing hosted-docs source option.@ -41,3 +41,3 @@Replace drifted text that restates a set the code defines with a pointer to the source that defines it; correcting the copy only restarts the clock on the next drift. Text restates a set when it lists every member, or states how many there are, of a set that a file, directory, schema, or command defines, such as the flags `--help` prints or the keys a config schema declares.Name a source the doc's reader can reach: a command, a file the published package ships, an absolute repository URL, or, when the project isn't published, a repository-relative path.Name a source the doc's reader can reach: a command, a file the published package ships, an absolute repository URL, or, when the project isn't published, a repository-relative path. For versioned documentation, use a command or shipped file matching the documented release, or pin the repository URL to that release.medium — Versioned docs are still audited against the current source tree
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M422HQ1JWXC4T3TWTP6Q4Y6Zof review01M422DKR8F3C4EZ94VMP5R63NFixed in
921c1f9: the audit loop uses source for the documented release and records a proof gap if it is unavailable, retaining the existing no-citation/no-finding discipline.@ -107,3 +107,3 @@## Sets defined elsewhereWhen a file, directory, schema, or command already defines a set — `--help`, `package.json#scripts`, the env var schema or config parser, the workspace packages, a directory's children — the README names that source instead of listing the members or stating how many there are. A copy must change with every change to the set, and nothing flags it when it doesn't. Name a source the README's reader can reach: a command, a file the published package ships, an absolute repository or hosted docs URL, or, when the project isn't published, a repository-relative path.When a file, directory, schema, or command already defines a set — `--help`, `package.json#scripts`, the env var schema or config parser, the workspace packages, a directory's children — the README names that source instead of listing the members or stating how many there are. A copy must change with every change to the set, and nothing flags it when it doesn't. Name a source the README's reader can reach: a command, a file the published package ships, an absolute repository or hosted docs URL, or, when the project isn't published, a repository-relative path. For versioned documentation, use a command or shipped file matching the documented release, or pin the repository or hosted docs URL to that release.medium — Versioned README guidance conflicts with the required unpinned Agent Rule command
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M422H3DVCYSV4D4239C9Q28Mof review01M422DKR8F3C4EZ94VMP5R63NFixed in
921c1f9: the Agent Rule template and mandatory help instruction qualify the package with the documented release for versioned READMEs. npm11.19.1 installed libnpmexec source confirms bare names may resolve local/global binaries or registry manifest while exact @version is a version spec; no registry installation reproduction is claimed.@ -163,3 +165,3 @@- Start with `# Rule:` followed by the tool name in backticks.- Make `npx -y <tool> --help` the first instruction.- Make `npx -y <tool> --help` the first instruction, qualifying the package with `@<documented-release>` for a README describing a specific release.low — Agent Rule release qualifier is repeated on both sides of the template
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M4235CYEDGQPMVK3D61T0YCHof review01M422YNE5XADPMHJAZHPM3036Fixed in
0ded8c636b: removed duplicate preceding qualifier; mandatory Agent Rule release qualification remains.For report-only claim
01M4234C95J4M0A5Q8H5K4Y524of review01M422YNE5XADPMHJAZHPM3036: no manifest-parity policy change is adopted. #109 implements the release-matching source-pointer concession from #97, plus contradictions directly affecting those pointers and help commands. The existingpackage.json#descriptionparity rule and Task steps apply to the target repository's README and manifest; defining a cross-release manifest-selection contract would expand that separate check. The proposed mismatched-manifest path has no served-agent or repository reproduction. The user explicitly excludes new policy from this task.A stable three-surface sweep found this claim only in the stamped summary, with no corresponding inline finding or native anchor. This records the bounded scope rejection without inventing a tracked item or claiming an inline status transition.
@ -27,3 +27,3 @@## The per-unit audit loopSplit the docs into units — root docs (README, standards, glossary, ADRs) and one unit per package/app (its README + CONTEXT + ADRs + source doc-comments). For each unit: read the docs in full, then read the corresponding source, **following imports to the definition**, and check each claim. Require a concrete citation — `file:line` plus a short quoted snippet — for every finding: the contradicting source line for `incorrect`/`code-drift`, the canonical doc location for a `duplicate`, the doc line itself for an `obvious`. No citation, no finding. Returning zero findings for accurate docs is the correct outcome; do not pad.Split the docs into units — root docs (README, standards, glossary, ADRs) and one unit per package/app (its README + CONTEXT + ADRs + source doc-comments). For each unit: read the docs in full, then read the corresponding source, **following imports to the definition**, and check each claim. For versioned documentation, read the source for its documented release; if that source is unavailable, record a proof gap rather than inferring drift from current code. Require a concrete citation — `file:line` plus a short quoted snippet — for every finding: the contradicting source line for `incorrect`/`code-drift`, the canonical doc location for a `duplicate`, the doc line itself for an `obvious`. No citation, no finding. Returning zero findings for accurate docs is the correct outcome; do not pad.low — verify-doc-drift tells the agent to "record a proof gap" but neither defines the term nor gives it a place in the Output report
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M42J019MA22Z7VSDDMJ1PZ5Qof review01M42HX67C17WYHYAPWCNJEXDT@ -107,3 +107,3 @@## Sets defined elsewhereWhen a file, directory, schema, or command already defines a set — `--help`, `package.json#scripts`, the env var schema or config parser, the workspace packages, a directory's children — the README names that source instead of listing the members or stating how many there are. A copy must change with every change to the set, and nothing flags it when it doesn't. Name a source the README's reader can reach: a command, a file the published package ships, an absolute repository or hosted docs URL, or, when the project isn't published, a repository-relative path.When a file, directory, schema, or command already defines a set — `--help`, `package.json#scripts`, the env var schema or config parser, the workspace packages, a directory's children — the README names that source instead of listing the members or stating how many there are. A copy must change with every change to the set, and nothing flags it when it doesn't. Name a source the README's reader can reach: a command, a file the published package ships, an absolute repository or hosted docs URL, or, when the project isn't published, a repository-relative path. For versioned documentation, use a command or shipped file matching the documented release, or pin the repository or hosted docs URL to that release.low — verify-readme uses two terms ("versioned documentation" and "a README describing a specific release") for the same condition
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M42HZRDWPCX18S3KPG2D3HWPof review01M42HX67C17WYHYAPWCNJEXDT@ -163,3 +163,3 @@- Start with `# Rule:` followed by the tool name in backticks.- Make `npx -y <tool> --help` the first instruction.- Make `npx -y <tool> --help` the first instruction, qualifying the package with `@<documented-release>` for a README describing a specific release.medium — Agent Rule guidance still has generated rules run untagged
npx -y <tool>, which can serve a stale installed copy and contradicts the repo's npx rulelens
general-bug· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M42HZ3G0EMRR7HYBM050RRYQof review01M42HX67C17WYHYAPWCNJEXDT@ -166,3 +166,3 @@- State when and why to use the tool.Why `npx -y <tool> --help` instead of an embedded flag reference: the agent reads live help text from the installed version — never stale, no rule edits when the CLI interface changes, and it works on fresh machines, CI, and containers.Why `npx -y <tool> --help` instead of an embedded flag reference: the agent reads the selected package's help text rather than an embedded flag copy, including on fresh machines, CI, and containers.low — Agent Rule rationale restates its own contrast and drops the reason live help beats an embedded flag copy
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M42HZD16B7Y7RY5QCSX40RJSof review01M42HX67C17WYHYAPWCNJEXDTTracked in #112: explicitly tagged help selection follows the existing
rules/general/package-manager-execution.mdrule. Installed npm 11.19.1libnpmexec/lib/index.jslines 47–85 and 167–176 confirm that bare-name execution can choose installed binaries while tags select a manifest. This is a bounded follow-up to #109, not a new package policy. #112 also owns the rationale and consistent release wording from #112059 and #112060.Tracked in #113: claims with unavailable documented-release source are reported as unverified in the existing report. This clarifies the existing release-evidence limitation, without declaring drift or adding a finding category.
Both follow-ups stack on #109 and remain unmerged. #109 itself is not claimed fixed by either child.
0ded8c636bb9c64c5a51Rebased onto
mainand retargeted the base fromfix/skills-point-to-sources, because #97 has merged. No content changes beyond the rebase. Remaining review items are tracked in #112 and #113.Conclusions on the five unadjudicated claims in review
01M482RJE4FVN83JWAJBTNJJHXfor headb9c64c5. The triage failed, so the claims have titles only. I checked each title against the text onmain; none of them concerns a line this PR changes.01M48322GSZKFX3930YSW01KZ4(theverify-doc-driftdescription duplicates the finding categories): valid, pre-existing. Already owned by #119.01M4832KS2Q3EG6P3YPEKCYJH4(the verification gate rejects findings without a code contradiction): valid, pre-existing.duplicateandobviousfindings cite a doc line, not code. Tracked in #124.01M48338ASS1Q5BAYCK31H9QSJ(Quick Start and Usage repeat the project-type set): not a defect. The per-type bullets carry the detail each type needs, whichInputscannot, so they have to name the type.01M4833TVNV1CNR4Q35ABVV693and01M4835B3J6CYXS7FMAGZHYY7Q(theverify-readmedescription carries audit mechanics and the project-type list): valid, pre-existing. Tracked in #125.