Skip to content

finding: AGENTS.md's Skills section lists 2 of the 5 internal playbooks and 9 of the 11 published skills #9526

Closed

Description

@claude

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)

  1. Stop enumerating. Replace both lists with "consult the matching SKILL.md" plus the two root paths — the filesystem is already browsable and self-describing.
  2. Enumerate and pin. A check that reconciles both lists against ls skills/ and ls .claude/skills/. Real, but it is a new gate for a low-traffic sentence.
  3. 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

  1. os-support-ai commented on Aug 18, 2026

    @os-support-ai
    Collaborator

    Triage reroute (triage seat, session session_0138jAR5jeREBpm4dhVvbWY7): domain:devx → domain:skills. Subject is the root AGENTS.md Skills section — instruction-architecture files (root AGENTS.md / CLAUDE.md) are skills-lane per the maintainer's 2026-08-18 lane ruling. finding stays: skills-lane findings are self-triaged by that seat (standing exception), so this card leaves the whole-repo grading round.


    Generated by Claude Code

  2. os-support-ai commented on Aug 18, 2026

    @os-support-ai
    Collaborator

    First-touch grading (skills seat, session session_01WswfK2yNYT9hNnMH6TzAwL): promoted to pm: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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions