AGENTS.md is 17,521 tokens against a 6,000 budget, and all four of this
repo's reference docs are orphaned — nothing in the policy file links any of
them. The maintenance cost is being paid; the routing benefit is not.
This issue asks this repo to adopt curating-context
v1.2 and run it once.
Measured today, read-only
measure-context.sh --exact against remote HEAD, counted with the
count_tokens endpoint — exact, not estimated. Nothing was written here.
|
|
AGENTS.md |
17,521 tokens / 304 lines |
| Budget |
6,000 |
| Live reference docs |
4 — all orphaned |
Whole live surface (tokens_live) |
17,521 |
| Dead links |
0 |
| Orphaned docs |
4 |
What a run will find
## Bus Conventions is 50% of the file at 8,831 tokens — on its own, 1.5× the
whole budget. Above ~30% a section is the finding rather than a symptom, so it
gets demoted wholesale. Its largest subsection is Retention (2,143), which
suggests a clean A+B split: the two or three rules needed on nearly every task
stay inline, the reference material moves.
Next: Environment Variables 2,850 (16%) and Conventions 1,505 (8%).
Every doc is an orphan — docs/COMMANDS.md, docs/SKILLS.md,
docs/contracts/content-fetch-issuer-contract.md,
docs/contracts/replicator-boundaries.md. This is the most common defect in the
cohort and the cheapest to fix: a ## Detail Docs index with one line per doc
naming what a task would need it for. Note the consequence in the numbers
above — tokens_live equals the policy file exactly, because nothing else is
reachable.
docs/contracts/content-fetch-issuer-contract.md is 14,772 tokens, over the
10,000 per-doc budget. Don't demote into it; it needs splitting first.
docs/COMMANDS.md (2,881) and replicator-boundaries.md (6,682) have room.
Zero dead links — the cleanest link hygiene in wave A.
Pairing
Wave A, pair 3, matched against watcher (19,715 at the last cohort
measurement). This is the weakest match in the roster: 29% apart where every
other pair is within 8%, because watcher has no size neighbour. A difference on
this pair is partly a difference in difficulty, and the analysis will say so
rather than pretending otherwise.
Vendored pointer
This repo is at 82702ea, 22 commits behind main, and that pointer
predates curating-context entirely — the skill is not vendored here yet, so
step 1 below is required rather than optional. Other vendored skills also moved
in those 22 commits; expect to review more than this one skill's effects.
You are wave A — adopt now, then hold
The twelve cohort repos are the held-out validation split for curating-context
itself. Changes to the skill are no longer adopted on judgement: a proposal is
tried on one arm and scored against the other, and it is adopted only if it wins
every informative pair with no safety gate tripped. See
validation-gate.md.
That means the ask here has two halves, and the second one matters as much:
- Adopt v1.2 and curate once. Record the telemetry row.
- Then hold at v1.2 until the wave-B comparison resolves.
Wave A is the control arm. When the next change to the skill is proposed,
wave B adopts it and your repo's v1.2 run is what it gets scored against.
Bumping the vendored pointer past v1.2 before then takes this repo out of the
experiment — the roll-up would show two versions inside one arm and
score-cohort.sh returns INCONCLUSIVE rather than a verdict.
A repo's first curation is the unit of comparison, because a first run and a
fifth are not the same task. That is the whole reason adoption is staged instead
of going out to all twelve at once: a simultaneous rollout spends every first
curation at one version and forfeits the comparison permanently.
How to adopt
# 1. Bump the vendored skills pointer to the merge that carries v1.2
git -C skills-vendor/gregoryfoster-skills fetch origin
git -C skills-vendor/gregoryfoster-skills checkout 3fc7b71
# 2. Link the skill (relative, per the vendoring convention)
ln -s ../../skills-vendor/gregoryfoster-skills/skills/curating-context \
.claude/skills/curating-context
# 3. Heal any dangling vendor symlinks the bump created
bash .skills/doctor.sh
Then run the skill in a Claude Code session in this repo — "curate context" — and
let it work its eight phases. Three things make the resulting ledger row usable
as experiment data rather than just a number:
--exact must actually succeed. A Claude Code session exports no
ANTHROPIC_API_KEY; the skill will read one from a repo-root .env. If it
falls back to the offline estimate the row records tokens_exact: false and
record-telemetry.sh will refuse to append it (exit 4) rather than reset the
trend baseline. Fix the credential; do not pass --allow-method-change.
- Pass
--no-loss ok once prove-no-loss.sh confirms nothing was dropped.
The gate treats a missing verdict as unscorable, never as a pass, so a row
without it cannot clear the safety check and the pair drops out.
- Tag
--actions specifically. demote:Project Layout teaches something;
cleanup does not. The tags are the only thing connecting a token delta to
its cause in the cross-repo roll-up.
Commit the ledger with the edits, on a branch, and open a PR whose body carries
the before/after count, the per-section disposition, every relocated block with
its destination, and every deletion with its warrant.
Finally
Phase 8 will offer the write-guard hook. Take it — it is the other half of the
ratchet. The weekly run recovers ground; the guard stops regrowth between runs,
and a repo with the run but no guard sawtooths back to where it started.
This issue was filed from gregoryfoster/skills and nothing was written to this
repo. Cross-repo work goes out as issues, never as commits.
AGENTS.mdis 17,521 tokens against a 6,000 budget, and all four of thisrepo's reference docs are orphaned — nothing in the policy file links any of
them. The maintenance cost is being paid; the routing benefit is not.
This issue asks this repo to adopt
curating-contextv1.2 and run it once.
Measured today, read-only
measure-context.sh --exactagainst remoteHEAD, counted with thecount_tokensendpoint — exact, not estimated. Nothing was written here.AGENTS.mdtokens_live)What a run will find
## Bus Conventionsis 50% of the file at 8,831 tokens — on its own, 1.5× thewhole budget. Above ~30% a section is the finding rather than a symptom, so it
gets demoted wholesale. Its largest subsection is
Retention(2,143), whichsuggests a clean A+B split: the two or three rules needed on nearly every task
stay inline, the reference material moves.
Next:
Environment Variables2,850 (16%) andConventions1,505 (8%).Every doc is an orphan —
docs/COMMANDS.md,docs/SKILLS.md,docs/contracts/content-fetch-issuer-contract.md,docs/contracts/replicator-boundaries.md. This is the most common defect in thecohort and the cheapest to fix: a
## Detail Docsindex with one line per docnaming what a task would need it for. Note the consequence in the numbers
above —
tokens_liveequals the policy file exactly, because nothing else isreachable.
docs/contracts/content-fetch-issuer-contract.mdis 14,772 tokens, over the10,000 per-doc budget. Don't demote into it; it needs splitting first.
docs/COMMANDS.md(2,881) andreplicator-boundaries.md(6,682) have room.Zero dead links — the cleanest link hygiene in wave A.
Pairing
Wave A, pair 3, matched against
watcher(19,715 at the last cohortmeasurement). This is the weakest match in the roster: 29% apart where every
other pair is within 8%, because
watcherhas no size neighbour. A difference onthis pair is partly a difference in difficulty, and the analysis will say so
rather than pretending otherwise.
Vendored pointer
This repo is at
82702ea, 22 commits behindmain, and that pointerpredates
curating-contextentirely — the skill is not vendored here yet, sostep 1 below is required rather than optional. Other vendored skills also moved
in those 22 commits; expect to review more than this one skill's effects.
You are wave A — adopt now, then hold
The twelve cohort repos are the held-out validation split for
curating-contextitself. Changes to the skill are no longer adopted on judgement: a proposal is
tried on one arm and scored against the other, and it is adopted only if it wins
every informative pair with no safety gate tripped. See
validation-gate.md.
That means the ask here has two halves, and the second one matters as much:
Wave A is the control arm. When the next change to the skill is proposed,
wave B adopts it and your repo's v1.2 run is what it gets scored against.
Bumping the vendored pointer past v1.2 before then takes this repo out of the
experiment — the roll-up would show two versions inside one arm and
score-cohort.shreturns INCONCLUSIVE rather than a verdict.A repo's first curation is the unit of comparison, because a first run and a
fifth are not the same task. That is the whole reason adoption is staged instead
of going out to all twelve at once: a simultaneous rollout spends every first
curation at one version and forfeits the comparison permanently.
How to adopt
Then run the skill in a Claude Code session in this repo — "curate context" — and
let it work its eight phases. Three things make the resulting ledger row usable
as experiment data rather than just a number:
--exactmust actually succeed. A Claude Code session exports noANTHROPIC_API_KEY; the skill will read one from a repo-root.env. If itfalls back to the offline estimate the row records
tokens_exact: falseandrecord-telemetry.shwill refuse to append it (exit 4) rather than reset thetrend baseline. Fix the credential; do not pass
--allow-method-change.--no-loss okonceprove-no-loss.shconfirms nothing was dropped.The gate treats a missing verdict as unscorable, never as a pass, so a row
without it cannot clear the safety check and the pair drops out.
--actionsspecifically.demote:Project Layoutteaches something;cleanupdoes not. The tags are the only thing connecting a token delta toits cause in the cross-repo roll-up.
Commit the ledger with the edits, on a branch, and open a PR whose body carries
the before/after count, the per-section disposition, every relocated block with
its destination, and every deletion with its warrant.
Finally
Phase 8 will offer the write-guard hook. Take it — it is the other half of the
ratchet. The weekly run recovers ground; the guard stops regrowth between runs,
and a repo with the run but no guard sawtooths back to where it started.
This issue was filed from
gregoryfoster/skillsand nothing was written to thisrepo. Cross-repo work goes out as issues, never as commits.