Files
holocron/plugins/kyberforge/skills/skill-audit/references/patterns.md
Defame1297 4a5c3c0cff feat(kyberforge): enforce the ADR-0020 context contract for skills and agents
Skill name+description pairs are preloaded into every session, costing
~6,200 tokens across 39 skills before any skill is invoked. The authoring
rules mandated that growth: skill-author:104 and description-quality.md:21
both required padding, while skill-author:102 (the deflating rule) had no
FAIL condition behind it.

Gates (blocking, no baseline file):
- description 250 chars SUGGESTION / 400 FAIL, measured on the folded
  YAML value
- body-only 600 words SUGGESTION / 900 FAIL, independent of the unchanged
  whole-file 2770-word / 500-line spec backstop
- every boundary-clause routing target must resolve to a real skill or
  agent; catches skill-improve, neuledge-context and gitea-labels
- agents take the description gates but deliberately no body gate; a test
  pins that absence

Vale: DescriptionOpener widened to ^This\b, new CompositionNote rule
banning architecture notes from descriptions. 10 hits, 0 false positives.

Kyberforge's own four skills retrofitted: descriptions 3,364 -> 938 chars
(-72%), bodies 8,306 -> 2,487 words (-70%), all via the apm-workflow
dispatch pattern. Fixes the skill-improve dangling route and the
agent-author misroute to manual review.

Also fixes a pre-existing false positive where any line-initial 'read '
was flagged as interactive input, which had already caused two scripts to
be rewritten around it.

Refs: ADR-0020
2026-08-14 21:13:13 +00:00

2.9 KiB

source_keys
source_keys
agentskills-spec
agentskills-best-practices

Patterns Reference

Upstream source: agentskills.io — best-practices (instruction patterns), specification.

Read this when judging the patterns dimension: whether each instruction construct a skill uses is the right construct for the job and is correctly formed. Formation, not content — a Gotcha's content is judged in references/body-discipline.md.

The constructs and when each is right

Construct Right when Wrong when
Gotchas An environment fact contradicts a reasonable default Used as a summary of the steps below
Prescriptive sequence The operation is fragile and flag order or exact arguments must not change Several approaches are equally valid
Checklist A multi-step workflow the agent must complete in order A single step dressed up as a list
Conditional reference Detail is needed on one branch only The reference is needed on every run and is loaded blind
Output template The agent must emit a specific format a caller consumes The output is prose nobody parses

Formation rules

Gotchas sit near the top of the body, before the steps that would otherwise walk into them. Placement late in the body is a SUGGESTION, not a FAIL — the content is still correct, it is just read after the mistake.

Prescriptive sequences that quote a fenced block inside another markdown block must escape the inner fence as \`\`\`. An unescaped inner fence terminates the outer block and the remaining instructions render as prose.

Conditional references state a specific trigger: "If the API returns a non-200 status, read references/api-errors.md." The generic form — pointing at the directory and hoping — defeats progressive disclosure, because the agent either loads everything or loads nothing. Kyberforge.PaddingPhrase catches the common generic phrasing deterministically; other malformed forms are judgment.

Output templates belong in the body when the agent must emit them on every run, and in references/ when only one dispatch branch produces that output. A template inlined for a branch most invocations never take is body-discipline padding.

Auditing guidance

Flag as FAIL if:

  • A Gotcha entry is a general tip or a reminder rather than a fact that defies a reasonable assumption
  • An inner code fence is unescaped inside a markdown block, breaking the render
  • A checklist wraps a single step
  • A conditional reference gives no trigger — Kyberforge.PaddingPhrase reports the common form
  • The agent must produce a specific format and no output template is given

Flag as SUGGESTION if:

  • Gotchas are correctly formed but placed late in the body
  • An output template is present but permissive where the consumer needs it exact
  • A conditional reference names a trigger that is real but broader than the branch it guards