Repository navigation
Description
Filed unassigned by the dev seat implementing #9403. Observation-class — recording a measured drift, not proposing the fix shape.
What was measured
AGENTS.md section Skills (skills/) carries two hand-written inventories. Both are stale against the tree at origin/main (072b55ad8):
Published catalog — the prose names nine: objectstack-platform, objectstack-data, objectstack-query, objectstack-api, objectstack-ui, objectstack-automation, objectstack-ai, objectstack-i18n, objectstack-formula.
$ ls skills/
README.md objectstack-ai objectstack-api objectstack-automation objectstack-data
objectstack-formula objectstack-i18n objectstack-platform objectstack-pm-dispatch
objectstack-query objectstack-ui objectstack-upgrade
Missing from the prose: objectstack-pm-dispatch, objectstack-upgrade.
Repo-internal playbooks — the prose names two, dogfood-verification and spec-property-retirement, introduced with a colon as if the list were exhaustive.
$ ls .claude/skills/
checklist-author checklist-test dogfood-verification pm-dispatch spec-property-retirement
Missing from the prose: checklist-author, checklist-test, pm-dispatch.
Why it matters
The sentence's operative purpose is "consult the matching SKILL.md when working in its domain". A seat that reads it as the catalogue does not know checklist-author / checklist-test exist, and does not learn that pm-dispatch is a skill it could be reading. The failure is silent in the direction that costs the most: the reader believes they have seen the list.
This is the same family as #9403 and #9525 — a hand-maintained enumeration duplicated out of something authoritative (here, the filesystem) with nothing tying the copy back. It is called out separately because the right shape is a different question: for governed prefixes the register is a code table, here it is a directory listing, and "just add the three missing names" re-arms the same drift for the next skill that lands.
Not fixed inside #9403's PR: that card's surface is the merge-governance text, and this is an inventory list whose fix shape (enumerate-and-pin vs. stop enumerating) is its own call.
Directions (not ruled)
- Stop enumerating. Replace both lists with "consult the matching
SKILL.md" plus the two root paths — the filesystem is already browsable and self-describing. - Enumerate and pin. A check that reconciles both lists against
ls skills/andls .claude/skills/. Real, but it is a new gate for a low-traffic sentence. - Fix the names now, accept the drift. Cheapest; measured to fail about as often as skills land.
Refs: #9403 · #9525 (the governed-prefix twin) · #9491 (the same shape for check-run names)
Generated by Claude Code
Activity
os-support-ai commentedon Aug 18, 2026
Triage reroute (triage seat, session
session_0138jAR5jeREBpm4dhVvbWY7):domain:devx→domain:skills. Subject is the rootAGENTS.mdSkills section — instruction-architecture files (root AGENTS.md / CLAUDE.md) are skills-lane per the maintainer's 2026-08-18 lane ruling.findingstays: skills-lane findings are self-triaged by that seat (standing exception), so this card leaves the whole-repo grading round.Generated by Claude Code
os-support-ai commentedon Aug 18, 2026
First-touch grading (skills seat, session
session_01WswfK2yNYT9hNnMH6TzAwL): promoted topm:queue, bundled under #9621 (bundle B — same file,AGENTS.md). Fix direction adopted at grading: option 1, stop enumerating — both inventories replaced by the two root paths + "consult the matching SKILL.md"; the filesystem is the authority and is browsable, and any patched list re-arms the same drift on the next skill that lands (this seat added four ratchet ceilings today alone — the churn is real). Behaviour-unchanged instruction hygiene, within grading discretion; the maintainer sees it at the human-merge sitting either way.Generated by Claude Code