fix(skills): four description boundary clauses route to targets that do not exist #100

Closed
opened 2026-08-14 19:39:35 +00:00 by Claude · 2 comments
Collaborator

Found while measuring the preload tax for ADR-0020. Four skills route users to targets that cannot resolve. ADR-0020 adds a deterministic resolvable-target check that will fail on all four, but the defects are live now and are worth fixing independently of the retrofit.

  1. skill-audit → /skill-improve — no such skill exists under plugins/*/.apm/skills/. The capability lives in skill-author, whose own description explicitly covers "improve this skill" and "apply these audit findings". Appears twice in the description (handoff clause and boundary clause) and again at plugins/kyberforge/.apm/skills/skill-audit/README.md:10.
  2. research → neuledge-context — the string "use neuledge-context" names a skill that exists nowhere in the repo.
  3. agent-author — "Do not use for read-only review — examine agent files manually or run a grill session". This routes away from agent-audit, which is the correct sibling and exists. Actively wrong, not merely wasteful.
  4. gitea-issues — the description contains the literal string gitea-labels- milestones (stray space). Introduced by YAML folded-scalar wrapping mid-token, so the skill name is broken in preloaded text.

Reference: docs/adr/0020-skill-description-and-body-context-contract.md (committed on branch refactor/trim-skills-agents-context).

Found while measuring the preload tax for ADR-0020. Four skills route users to targets that cannot resolve. ADR-0020 adds a deterministic resolvable-target check that will fail on all four, but the defects are live now and are worth fixing independently of the retrofit. 1. **`skill-audit` → `/skill-improve`** — no such skill exists under `plugins/*/.apm/skills/`. The capability lives in `skill-author`, whose own description explicitly covers "improve this skill" and "apply these audit findings". Appears twice in the description (handoff clause and boundary clause) and again at `plugins/kyberforge/.apm/skills/skill-audit/README.md:10`. 2. **`research` → `neuledge-context`** — the string "use neuledge-context" names a skill that exists nowhere in the repo. 3. **`agent-author`** — "Do not use for read-only review — examine agent files manually or run a grill session". This routes *away* from `agent-audit`, which is the correct sibling and exists. Actively wrong, not merely wasteful. 4. **`gitea-issues`** — the description contains the literal string `gitea-labels- milestones` (stray space). Introduced by YAML folded-scalar wrapping mid-token, so the skill name is broken in preloaded text. --- Reference: `docs/adr/0020-skill-description-and-body-context-contract.md` (committed on branch `refactor/trim-skills-agents-context`).
Claude added this to the Skills & Agents milestone 2026-08-14 19:39:35 +00:00
Claude added the Kind/Bug
Priority
Medium
3
labels 2026-08-14 19:39:35 +00:00
Author
Collaborator

One of the four is fixed on refactor/trim-skills-agents-context, as a forced consequence rather than a deliberate scope grab: the new resolvable-target check FAILs on an unresolvable routing target, so skill-audit could not pass its own gate while pointing at /skill-improve.

Fixed: skill-audit → /skill-improve. Both occurrences in the description and the Step 4 handoff line now point at skill-author. README.md:10 updated too. tests/test-skill-size-check.sh carries a SKIP branch asserting the name no longer appears.

Still open — all three now detected automatically by the resolvable-target check in scripts/skill-size-check.sh and skill-audit/scripts/validate.sh:

  • research → neuledge-context (no such skill anywhere in the repo)
  • agent-author → the misroute is fixed on this branch as part of its rewrite ("Not read-only review → agent-audit"), so verify before re-fixing
  • gitea-issues → the literal string gitea-labels- milestones, a stray space from YAML folding; the checker reports it as an unresolvable target named gitea-labels

The check reports 3 findings across all 43 artifacts with zero false positives, so this issue is now self-verifying: pre-commit run skill-size-check --all-files lists exactly what remains.

One of the four is fixed on `refactor/trim-skills-agents-context`, as a forced consequence rather than a deliberate scope grab: the new resolvable-target check FAILs on an unresolvable routing target, so `skill-audit` could not pass its own gate while pointing at `/skill-improve`. **Fixed**: `skill-audit` → `/skill-improve`. Both occurrences in the description and the Step 4 handoff line now point at `skill-author`. `README.md:10` updated too. `tests/test-skill-size-check.sh` carries a SKIP branch asserting the name no longer appears. **Still open** — all three now detected automatically by the resolvable-target check in `scripts/skill-size-check.sh` and `skill-audit/scripts/validate.sh`: - `research` → `neuledge-context` (no such skill anywhere in the repo) - `agent-author` → the misroute is fixed on this branch as part of its rewrite ("Not read-only review → `agent-audit`"), so verify before re-fixing - `gitea-issues` → the literal string `gitea-labels- milestones`, a stray space from YAML folding; the checker reports it as an unresolvable target named `gitea-labels` The check reports 3 findings across all 43 artifacts with zero false positives, so this issue is now self-verifying: `pre-commit run skill-size-check --all-files` lists exactly what remains.
Author
Collaborator

Closing — folded into #99. See #99 (comment) for the full residue.

Two of the four are already fixed on main: skill-audit → /skill-improve and agent-author → "examine agent files manually", both as forced consequences of the ADR-0020 gate landing.

The remaining two are not separable bugs. skill-size-check is stages: ['pre-commit'] with pass_filenames: true, so it fires on exactly the files you touch — and both offenders are already FAILs on description length (research 583 chars, gitea-issues 827). There is no edit to either file that does not pull the #99 retrofit in first, which makes this issue a line item on that one rather than independent work.

For gitea-issues there is nothing left to decide: gitea-labels- milestones is a fold artifact inside a composition note that #99 step 2 already says to move to README.md and that Kyberforge.CompositionNote already flags. The retrofit deletes it.

research does need a decision, recorded on #99: its target is a deleted skill (commit 6146120, 2026-06-23), not a typo — recommendation is to drop the clause outright, since nothing in the repo owns MCP-server installation.

Both remain self-verifying while open: pre-commit run skill-size-check --all-files reports exactly what is left.

Closing — folded into #99. See [#99 (comment)](https://git.dev.rkdr.net/Defame1297/holocron/issues/99#issuecomment-1728) for the full residue. Two of the four are already fixed on `main`: `skill-audit` → `/skill-improve` and `agent-author` → "examine agent files manually", both as forced consequences of the ADR-0020 gate landing. The remaining two are not separable bugs. `skill-size-check` is `stages: ['pre-commit']` with `pass_filenames: true`, so it fires on exactly the files you touch — and both offenders are already FAILs on description length (`research` 583 chars, `gitea-issues` 827). There is no edit to either file that does not pull the #99 retrofit in first, which makes this issue a line item on that one rather than independent work. For `gitea-issues` there is nothing left to decide: `gitea-labels- milestones` is a fold artifact inside a composition note that #99 step 2 already says to move to `README.md` and that `Kyberforge.CompositionNote` already flags. The retrofit deletes it. `research` does need a decision, recorded on #99: its target is a **deleted** skill (commit `6146120`, 2026-06-23), not a typo — recommendation is to drop the clause outright, since nothing in the repo owns MCP-server installation. Both remain self-verifying while open: `pre-commit run skill-size-check --all-files` reports exactly what is left.
Sign in to join this conversation.