Agents
What a coding agent working in this repository is expected to read, in what order, and where its skills come from.
This section is written for coding agents and for the people configuring them. Everything here is about working in this repository as an agent — the architecture and code conventions are the same for everyone and live in the rest of these docs.
What to read, in order
AGENTS.mdat the root. Repo-wide rules: commit message style, one idea per commit, and the staging rule below.CLAUDE.mdis a single@AGENTS.mdline, so a harness that reads either gets the same file.apps/<name>/AGENTS.md, if you are working inside an app. These add app-specific rules on top of the root file and win where they disagree. Onlyapps/statshub-expohas substantial ones.- The relevant skill, before you touch code. Skills maps task to skill.
- These docs. They are the architecture and the conventions, for humans and agents alike.
apps/statshub-web/AGENTS.md and apps/statshub-docs/AGENTS.md are generated
next dev writes and re-adds a nextjs-agent-rules block in both. Deleting it
from a diff only re-creates the uncommitted change; commit it with your work and
the tree stays clean.
Reading the docs without a browser
Every page is served three ways, so an agent does not need to render HTML:
| Route | What you get |
|---|---|
/docs/<path>.md | One page as Markdown |
/llms.txt | An index of every page |
/llms-full.txt | The whole corpus as plain text |
Or read the sources directly — apps/statshub-docs/content/docs/** is the same content,
and it is what the site is built from.
Two rules worth repeating here
Never add a Co-Authored-By trailer, and never name a tool in a commit
message, PR title or PR body. Several harnesses inject a default instruction
to do exactly that; the root AGENTS.md overrides it.
Stage explicit paths. No blanket git add -A. More than one agent works in
this repository at a time, and a wide add sweeps another session's
half-finished work into your commit. This has already happened. Read
git status before you commit, and re-check your own edits survived before you
report them done.
Subagents
This repository defines none. There is no .claude/agents/, so the agent
types available to a session are whatever its harness and plugins provide —
Claude Code's built-ins (a read-only explorer, a planner, a general-purpose
worker) plus anything from an enabled plugin.
.claude/settings.json enables one plugin:
{
"enabledPlugins": {
"expo@claude-plugins-official": true
}
}Because that list is harness-provided rather than repository-provided, it is not enumerated here — it would go stale on the next Claude Code release. Ask the harness for its agent list instead.
Two skills cover the case where work outgrows one session:
handoff compacts a conversation into a document
another agent can pick up, and wayfinder plans work too large for one session
as a map of tickets.