Skip to content

skills: context-frugal skill discipline, and a lint that counts what a skill costs #104

Description

@rookslog

Motivation

A local log study (2026-08-13, unpromoted — operator transcript corpus, 3,887 files, ~92k requests) found that user-facing prose is roughly 3% of list-priced spend while context volume (cache reads and writes) is roughly 75%. The single worst observed event was a bundled skill that injected ~70k tokens of inlined reference to answer a four-number lookup. Skill delivery cost, not output verbosity, is the dominant style-adjacent cost lever.

Proposal

Progressive disclosure is a principle of style. Ship it as one:

  1. A craft-tier skill teaching context-frugal skill authoring:
    • The frontmatter description is trigger text only. It rides in every session, so every word there is a standing tax.
    • The SKILL.md body carries triggers and procedure under a stated token budget. Everything else moves to references/, read on demand.
    • A body never inlines what a file on disk can answer with a targeted read.
  2. A lint check over skill files: estimate SKILL.md and description token counts, warn past a budget. Warn, never error — a large skill is sometimes right, and the entry must state why (same three conditions as word lists).

Measurement contract (per #96)

  • Construct: delivery cost of a skill without loss of trigger accuracy or task performance.
  • Measures: resident description tokens, body tokens, per-invocation context cost.
  • Counterweight: trigger accuracy and task success (bench arms). Cutting tokens that costs triggering is a regression, not a win.
  • Falsifier: a promoted study showing budgeted skills trigger or perform worse than unbudgeted ones.

Grounding: the skill gets a matrix in grounding/craft/ like any other. The lint gets tests and joins npm run check as a named script.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions