Three popular skills, each with its longest stretch of text under one heading removed by a fixed rule, run again on the same tasks. What moved, what did not, and how to try it yourself.
What we did
A skill is a file of instructions that people add to an AI assistant. A long file raises a fair question: which lines do anything? Driftproof's compare command runs two versions of a file on the same tasks and says whether the scores clearly moved between them.
This page is a worked example. We took three skills Driftproof had already measured in Report 018, removed from each the longest stretch of text under one heading by the rule below, and ran compare: the whole file against the file without that text.
Claude Haiku 5.5 answered every task and Claude Haiku 5.5 graded each answer 5 times, the same arrangement as Report 018. For each skill the whole file ran first, then the reduced file. The run was made by Driftproof on 2026-11-08.
How the three were chosen, and what was removed
The skills are the first three, in Report 018's own order, whose result there read “Clearly helped”, that are not routers (a router's whole text hands the task to another skill), and whose file has at least two sections below its title. No skill was chosen by hand.
In each file we measured the text under every heading, from its heading line to the next heading line of any level, so a subsection is measured on its own and does not count toward the heading above it. A heading line starts with one to six # characters and a space. The title at the top and anything inside a code block do not count. The heading with the most bytes of its own text was removed, with that text. Every other byte stayed as it was.
This is not how the --list-sections option measures. It runs each section to the next heading of the same or a higher level, so a heading's subsections count toward its size. On two of the three files above it shows a section called Process as larger than the one removed, because Process holds it. The cards used the any-level measure. Each heading removed has no subsections, so naming it to the --without-section option on the pinned file gives the same reduced file.
What this can and cannot say
Read these before the readings below. They apply to every card.
The three tasks were drafted by Driftproof from the skill's own description; they are not the author's tests.
One section was removed, so sections that matter only together are not seen.
A shorter file is also a shorter file, so length moved too.
This model, this judge (the model grading itself), this day.
The two runs were sequential, so time-of-day conditions were not identical.
No clear difference is not proof the section does nothing.
Across these nine tasks, chance alone can produce a difference like the ones below; this page does not say whether one came from the removal, from the time between the two runs or from chance.
The three skills
Each card gives the plain reading first, then the exact lines compare prints for the two folders, worked out again from the sealedreceipts in today's wording. A reading is about these tasks on this day; it is not advice about the skill.
Three of three pairs completed.
mattpocock/skills
improve-codebase-architecture
With “2. Present candidates as an HTML report” removed, answers on the report task scored lower on average, by more than their usual spread, and there were too few answers to tell on the adr and candidate tasks.
Task by task
report: answers scored lower on average without the section, by more than their usual spread
- report: B (improve-codebase-architecture, the folder given second) scored clearly lower than A (improve-codebase-architecture, the folder given first)
- adr: too few answers
Not enough draws to conclude at this effect floor. Draws needed: no draw count at these spreads (case adr: the two arms' spreads sum to 0.332, at or above the 0.05 floor).
- candidate: too few answers
Not enough draws to conclude at this effect floor. Draws needed: no draw count at these spreads (case candidate: the two arms' spreads sum to 0.058, at or above the 0.05 floor).
B (improve-codebase-architecture, the folder given second) scored lower than A (improve-codebase-architecture, the folder given first) on the report task, and no other task separated. This is a separation detected under the rule (the two averages differ by more than their usual spread), not proof of its cause.
The edit
Section removed
### 2. Present candidates as an HTML report
Its size
2304 bytes, 38.4% of the file, about 576 estimated tokens (the whole file's estimate minus the reduced file's)
Whole file
6000 bytes, about 1500 estimated tokens; its hash (sha256) 552240a5ab5cec6b67c15dd1ad6e9f6962b1bca6ce870059a8c2713760c20392
Reduced file
3696 bytes, about 924 estimated tokens; its hash (sha256) e2111574b01a03c22fd746fced2c4e42413a6732c6c1323f0d8a94a88b0980ca
Source
mattpocock/skills at commit 49dd158d1076134a641b33efb035946536778336, skills/engineering/improve-codebase-architecture/SKILL.md
Receipts
whole file f95f2a97f82743a4039ece0c0cc3bbc3aff33368e6c459dc15d6b7617d59a5ff, run 2026-11-08; reduced file 3c42e2155cb6c63bebdd50471de6df5de4074ab9b617bb0c649b04cd6c35b4e1, run 2026-11-08
heygen-com/hyperframes
hyperframes-cli
With “Agent conventions” removed, there were too few answers to tell on these three tasks.
- render: too few answers
Not enough draws to conclude at this effect floor. Draws needed: no draw count at these spreads (case render: the two arms' spreads sum to 0.098, at or above the 0.05 floor).
- timeline: too few answers
Not enough draws to conclude at this effect floor. Draws needed: no draw count at these spreads (case timeline: the two arms' spreads sum to 0.050, at or above the 0.05 floor).
- loop: too few answers
Not enough draws to conclude at this effect floor. Draws needed: no draw count at these spreads (case loop: the two arms' spreads sum to 0.141, at or above the 0.05 floor).
No separation was detected between A (hyperframes-cli, the folder given first) and B (hyperframes-cli, the folder given second) on any task at this sample size; this is not evidence that the two files behave alike.
The edit
Section removed
## Agent conventions
Its size
6659 bytes, 25.6% of the file, about 1664 estimated tokens (the whole file's estimate minus the reduced file's)
Whole file
25989 bytes, about 6491 estimated tokens; its hash (sha256) be481984f8d3c871c353a4ba82bb295a416634e11938de2081b950e9e488a3ff
Reduced file
19330 bytes, about 4827 estimated tokens; its hash (sha256) bfe78e0b081ab280292f11e65d034c9a03e16f013177068a8bab7f9b4e8813d0
Source
heygen-com/hyperframes at commit c4440dfb200def5e0c0afee938778f05b5985039, skills/hyperframes-cli/SKILL.md
Receipts
whole file 2961784c8388bbd3fed5e88c22b015ea49163f35e5bea8d3794615e3f63a2043, run 2026-11-08; reduced file 73f7eb993f53d23133cff1a2e2da8edd78bcd4e33f4258b70a4d1404dbe134ca, run 2026-11-08
mattpocock/skills
setup-matt-pocock-skills
With “2. Present findings and ask” removed, answers on the monorepo task scored lower on average, by more than their usual spread, and there were too few answers to tell on the labels and local tasks.
Task by task
monorepo: answers scored lower on average without the section, by more than their usual spread
- monorepo: B (setup-matt-pocock-skills, the folder given second) scored clearly lower than A (setup-matt-pocock-skills, the folder given first)
- labels: too few answers
Not enough draws to conclude at this effect floor. Draws needed: no draw count at these spreads (case labels: the two arms' spreads sum to 0.121, at or above the 0.05 floor).
- local: too few answers
Not enough draws to conclude at this effect floor. Draws needed: no draw count at these spreads (case local: the two arms' spreads sum to 0.186, at or above the 0.05 floor).
B (setup-matt-pocock-skills, the folder given second) scored lower than A (setup-matt-pocock-skills, the folder given first) on the monorepo task, and no other task separated. This is a separation detected under the rule (the two averages differ by more than their usual spread), not proof of its cause.
The edit
Section removed
### 2. Present findings and ask
Its size
2814 bytes, 40.3% of the file, about 704 estimated tokens (the whole file's estimate minus the reduced file's)
Whole file
6978 bytes, about 1745 estimated tokens; its hash (sha256) f148858ffb7f63c03c06fca06e6fdb1d91a35c6b293244b8fdfacd5f4cc028c4
Reduced file
4164 bytes, about 1041 estimated tokens; its hash (sha256) 686627dd3cb7ba6829a0d641a1ffd097ffa96ad5a10d954fd916cd23490a7ef7
Source
mattpocock/skills at commit 49dd158d1076134a641b33efb035946536778336, skills/engineering/setup-matt-pocock-skills/SKILL.md
Receipts
whole file de973b2be878049b7c236e782010db51004d5c73d4a2f150de890e02c2ec78d4, run 2026-11-08; reduced file 3517654bcdb0c2f3ad9cc03e02319eb7bda47d92331bc964f9ee2db5837b4926, run 2026-11-08
Do this to your own file
The same two commands work on any Markdown rules file, such as a CLAUDE.md or AGENTS.md, with a tasks file beside it. The first lists the sections and their sizes without spending anything. The second removes one named section, runs both versions on your tasks, and writes the two receipts and the reading. Both count a heading's subsections as part of its section, unlike the rule the cards used.
For a skill folder, make a copy, remove the section from the copy's SKILL.md, keep the same evals/evals.json in both, and compare the two folders. To redo one of the three above, fetch the pinned file from the repository at the commit shown, check its hash, apply the removal rule, and check the reduced file's hash against the card.
The removal rule in one line: find the heading below the title with the most bytes of its own text, from its heading line to the next heading line of any level, and remove those lines, leaving every other byte as it was.
Where the evidence is
The six receipts, the three readings and the manifest are in the public repository. Each receipt has its own page with the two arms, what was verified and how to check the file yourself.