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.
development
Deep review of branch diffs, working trees, or GitHub PRs at any size. Use when the user asks for CodeRabbit-grade review, an incremental re-review after new pushes, publication of findings to a PR, a cross-LLM peer-review verdict round, or conformance review against spec artifacts. Don't use for applying fixes, reviewing specs or PRDs as documents, or quick single-file feedback.
tools
Orchestrate Claude and Codex worker TUIs from a controller agent through herdr panes and the herdr socket CLI. Use when delegating bounded tasks to herdr worker panes, running user-activated plan-first delegations (Claude Code plan mode, Codex Plan mode), waiting on native agent status (idle, working, blocked, done), or verifying worker reports. Workers launch as interactive TUIs via herdr agent start — never through headless runners (compozy exec, claude -p, codex exec). Not for cmux workspaces (see cmux-orchestration) and not for end-user herdr control.
tools
TanStack Query, Router, and Form patterns for React. Use when writing useQuery/queryOptions, mutations, caching, file-based routes, search params, loaders, or TanStack Form validation. Don't use for TanStack Start, TanStack DB/collections, Zustand client state, or non-TanStack routing.
development
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.