← All experiments

pure-routing-skill-body

differences detected
2026-03-312.1.87 (Claude Code)Source article

Control

No changes (baseline)

Treatment

ProjectB change: Rewrite all three SKILL.md bodies to pure routing format. Remove inline context lines (e.g., "Layouts use a data-rack attribute system"). Keep only numbered steps pointing to references. All domain knowledge stays exclusively in reference files.

Skills

8/8

Refs

7/8

Tools

2/8

Signals

26/26

Grading

Control

87.1%

27/31

Treatment

100.0%

31/31

Delta

+12.9%

8 prompts graded

Insights

Both sides loaded identical skills and references. Pure routing format didn't cause more or fewer reference reads. The "Do NOT proceed on training knowledge alone" disclaimer had no measurable effect.
Removing inline context hints didn't hurt or help. "Layouts use a data-rack attribute system" in control didn't give Claude enough to skip references, and removing it didn't force more reads.
The delta is entirely from a Docker timeout on prompt #4 (control side failed), not from treatment design. 7/8 completed prompts scored identically at 100%.
Body format (pure routing vs mixed) is neutral for reference loading in this test setup. The format of SKILL.md instructions matters less than what the references themselves contain.

Per-Prompt Results

#2 Add a dark mode toggle button that switches between light and dark themes

MetricControlTreatmentMatch
Events4339
Duration70.7s73.1s
Skillscsscss=
Refscss/theming.mdcss/theming.md=
ToolsAgent(1), Bash(4), Edit(3), Read(10), Skill(1), Write(1)Agent(1), Bash(3), Edit(3), Read(9), Skill(1), Write(1)
Signals22=
Control signals: data-coat, --ink-
Treatment signals: data-coat, --ink-

#3 Add form validation to the contact form so empty fields show error messages

MetricControlTreatmentMatch
Events2719
Duration61.5s49.5s
Skillshtmlhtml=
Refshtml/form-patterns.mdhtml/form-patterns.md=
ToolsEdit(7), Glob(1), Read(4), Skill(1)Edit(3), Glob(1), Read(4), Skill(1)
Signals33=
Control signals: flux-pod, data-forge-id, forge-trigger
Treatment signals: flux-pod, data-forge-id, forge-trigger

#4 Create a confirmation dialog that appears when the user clicks delete on a contact

control timed out
MetricControlTreatmentMatch
Eventstimed out31---
Duration---57.4s---
Skills---none---
Refs---none---
Tools---Agent(1), Bash(3), Edit(1), Read(9)---
Signals---0---

#5 Add click-to-sort functionality to the contact table columns

MetricControlTreatmentMatch
Events2515
Duration46.3s20.2s
Skillsnonenone=
Refsnonenone=
ToolsAgent(1), Bash(1), Edit(3), Read(6)Edit(3), Glob(1), Read(3)
Signals00=

#6 Add a fade-in animation when new contacts appear in the table

MetricControlTreatmentMatch
Events1513
Duration48.9s28.7s
Skillsnonenone=
Refsnonenone=
ToolsEdit(4), Glob(1), Read(2)Edit(3), Glob(1), Read(2)
Signals00=

#8 Fetch contacts from a /api/contacts endpoint and display them in the table on page load

MetricControlTreatmentMatch
Events2317
Duration24.6s20.0s
Skillsnonenone=
Refsnonenone=
ToolsAgent(1), Bash(3), Read(6)Agent(1), Glob(3), Read(3)
Signals00=

#9 Add a comment at the top of each file explaining what it does

MetricControlTreatmentMatch
Events1515=
Duration11.8s13.7s
Skillsnonenone=
Refsnonenone=
ToolsEdit(3), Glob(1), Read(3)Edit(3), Glob(1), Read(3)=
Signals00=

#10 Rename the project title in index.html from Contact Manager to Address Book

MetricControlTreatmentMatch
Events99=
Duration13.6s13.6s=
Skillsnonenone=
Refsnonenone=
ToolsEdit(1), Glob(1), Grep(1), Read(1)Edit(1), Glob(1), Grep(1), Read(1)=
Signals00=

Totals

Control

Sessions

7

Prompts

7

Events

157

Skills: css, html
Tools: Agent(3), Bash(8), Edit(21), Glob(4), Grep(1), Read(32), Skill(2), Write(1)

Treatment

Sessions

8

Prompts

8

Events

158

Skills: css, html
Tools: Agent(3), Bash(6), Edit(17), Glob(8), Grep(1), Read(34), Skill(2), Write(1)

Verification Signals

SignalControlTreatmentProves
data-coatCSS theming
--ink-
data-forge-idHTML form-patterns
flux-pod
forge-trigger

Conclusion

subskill refs differed in 1/8 prompts