skills/deprecated/skill-load-tips/SKILL.md
Diagnoses and refactors existing SKILL.md files whose references or assets are ignored by agents. Applies Required Reading Routers, hard STOP directives, gist-tripwire trimming, and flat one-level reference structures so bundled context is loaded deliberately. Use when auditing or rewriting long skills that feel shallow despite deep reference files. Do not use for authoring new skills from scratch, non-skill Markdown, or documentation without SKILL.md front matter.
npx skillsauth add pedronauck/skills skill-load-tipsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Refactor pattern for SKILL.md files where the body is the only thing the agent ever reads. The references/ folder might as well not exist.
Large skills frequently ship with rich reference files (references/*.md) that contain the load-bearing detail — full ARIA patterns, banned-vocab lists, before/after examples, archetypes — and a SKILL.md body that summarizes them. The agent reads the body, feels it has "enough," and never fans out. The reference files become dead weight.
This is the inline-substitutes-for-reference antipattern. It is the single most common reason a well-organized skill underperforms.
A SKILL.md likely has this problem if two or more apply:
Insert a table immediately after the skill's opening paragraph (before any "Operating Loop" / "Steps" section). The table maps task type → file(s) that MUST be read for that task.
Template:
## Required Reading Router
Match your task to the row. Read the listed files **in full before** producing output. They are not appendices — they are load-bearing. Inline content in this SKILL.md is a pointer, not a substitute.
| Task | MUST read |
| --------------------------------------------- | ------------------------------------------------------------ |
| [Task type A] | `references/file-a.md` |
| [Task type B] | `references/file-b.md` + `references/file-c.md` |
| [Task type C] | `references/file-d.md` |
Pair the router with a Reference Index directly below it: one-line descriptions of what each file contains, so the router tells the agent when to load and the index tells what they get.
Every step that has a corresponding reference file gets a forced-read directive at the end. Replace soft phrasing with imperative.
Before:
For ARIA component patterns and verification recipes, read `references/accessibility-floor.md`.
After:
**STOP. Read `references/accessibility-floor.md` in full before implementing or reviewing any interactive widget.** That file contains the complete ARIA patterns (dialog, combobox, menu, tabs, slider, listbox) and the verification recipes. The inline summary above is a tripwire, not the contract.
Three rules for STOP directives:
When a SKILL.md step contains a 10-bullet checklist that is also in a reference file, the agent reads the checklist and skips the reference. Cut the inline to a 2-3 line "tripwire" — enough for the agent to detect violations during scanning, but obviously incomplete.
Before (inline 10-bullet WCAG checklist):
- Text contrast ≥ 4.5:1 (≥ 3:1 for large text)
- Non-text indicators contrast ≥ 3:1
- Focus visible (2px minimum)
- Keyboard reachable
- Target size ≥ 24×24
- prefers-reduced-motion honored
- Semantic landmarks
- Headings in order
- Form controls labeled
- Errors associated via aria-describedby
After (3-line tripwire + forced read):
Gist tripwires — the floor items that catch most slop:
- Text contrast ≥ 4.5:1; focus-visible ≥ 2px on every interactive element.
- Full keyboard reachability; `prefers-reduced-motion` honored.
- Semantic landmarks + heading order; form controls programmatically labeled.
**STOP. Read `references/accessibility-floor.md` in full before implementing or reviewing any interactive widget.** The three bullets above are tripwires, not the contract.
Trim aggressively. If the inline list and the reference cover the same ground, the reference always wins.
Per Anthropic's docs: when references link to references, the agent uses partial reads (head -100) and misses content. All references/*.md files must be linked directly from SKILL.md, not from each other.
Bad:
SKILL.md → references/advanced.md → references/details.md
Good:
SKILL.md → references/advanced.md
SKILL.md → references/details.md
Also: any reference file over 100 lines needs a ## Contents section at the top, so partial reads still surface the scope.
Things that look like fixes but aren't:
STOP. Read…), not adjectives.URGENT-read-this.md, MUST-READ.md). The filename does not change the read decision; the trigger phrasing in SKILL.md does.Before declaring a refactor done, verify against the rewritten SKILL.md:
**STOP. Read references/X.md …** directive.## Contents TOC at the top.For depth, see X or Read X for more phrasing remains — every reference mention is either router/index (descriptive) or a STOP directive (mandatory).references/ directory side by side.skill-best-practices.agent-md-refactor.A reference file the agent never loads is a reference file that does not exist.
The body of SKILL.md is a dispatcher, not an encyclopedia.
Trim the inline. Force the load. Flatten the depth.
testing
Assess DDD fit; discover domains with EventStorming, define language and bounded contexts, and design aggregates, value objects, events, and repositories. Excludes architecture-only audits, product specs, and CQRS/Event Sourcing catalogs.
development
Build terminal UIs with ratatui following 2026 Rust best practices. Use when: (1) Creating new TUI apps, (2) Adding widgets/layouts, (3) Keyboard navigation/state management, (4) Image integration via ratatui-image, (5) Async event handling, (6) Release optimization. Covers v0.30.0+ API, Elm Architecture, StatefulWidget, color-eyre.
development
Find 10x product opportunities and high-leverage improvements. Use when user wants strategic product thinking, mentions '10x', wants to find high-impact features, or says 'what would make this 10x better', 'product strategy', or 'what should we build next'.
development
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.