# What Makes a Good reference.md

`reference.md` is the routing file required in every `references/`
subdirectory (see
`${CLAUDE_PLUGIN_ROOT}/references/layout/skill-structure.md`). It exists so
a model can decide what to read next without opening every knowledge doc.

This file is a pointer to the full pattern, kept here so
`references/layout/` stays a complete map of the layout — the actual
authoring detail lives in progressive-disclosure:

→ `${CLAUDE_PLUGIN_ROOT}/references/progressive-disclosure/reference-md-pattern.md`
  (required sections: what's here table, when to use this module, model
  guidance; anti-patterns like duplicating child content or exceeding ~50
  lines)

## When to split a reference doc out

A `reference.md` should point to a separate knowledge doc — rather than
inline the knowledge itself — whenever the content stops being "what's
here and when to read it" and becomes the knowledge itself. Concretely:

- The explanation would push `reference.md` past ~50 lines
- The content is only needed for a subset of workflows, not every reader
  of this directory
- The doc covers a distinct concept that could stand alone under a
  different topic subdirectory

Full splitting criteria (the "always needed together?" test, size
guidelines, how to split, depth limits) are in:
→ `${CLAUDE_PLUGIN_ROOT}/references/progressive-disclosure/splitting-knowledge.md`

## Quick checklist

1. Table of files/subdirs with purpose + "when to read"
2. "When to use this module" section
3. "Model guidance" (cheap vs. stronger model)
4. No duplication of child file content
5. <=50 lines total
