agent-skills
AGENTS.md3 starsChanged 7 days agoMITView on GitHub
This is the canonical instruction file for AI coding agents working in this repository. Tools that understand AGENTS.md (Cursor, Codex, Windsurf, Claude Code, Cline, Continue, Aider, ...) read this file directly. Per-tool files like CLAUDE.md or .cursorrules are stubs that point here so the guidance lives in one place. logmind log replaces git add + git commit + git push for any change that carries a decision — do not run those git commands directly. DO NOT run raw git…
- Commits and pushes
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,843 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository66 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- clud-bug-collaborationSkill
- critical-issues-onlySkill
- evidence-based-reviewSkill
- respect-existing-conventionsSkill
- skill-frontmatter-qualitySkill
- apca-contrastSkill
- api-contract-enforcementSkill
- brand-voice-reviewSkill
- chroma-harmonizationSkill
- clud-bug-collaborationSkill
- component-sizing-principlesSkill
- component-sizingSkill
- composing-a-screenSkill
- consuming-a-design-systemSkill
- conventions-templateSkill
- critical-issues-onlySkill
- curating-a-skill-catalogSkill
- designing-a-design-systemSkill
- designing-elite-uiSkill
- design-system-consistencySkill
- design-token-namingSkill
- dtcg-formatSkill
- empirical-design-principlesSkill
- evidence-based-reviewSkill
- finding-a-catalog-skillSkill
- frontend-a11ySkill
- guarding-a-regressionSkill
- ios-safari-surfacesSkill
- line-height-gridSkill
- logmindSkill
- motion-continuitySkill
- oklch-color-spaceSkill
- orchestrating-agent-delegationSkill
- orchestrating-a-multi-agent-runSkill
- orchestrating-elite-agent-qaSkill
- palette-relationshipsSkill
- pii-and-complianceSkill
- proving-an-absenceSkill
- respect-existing-conventionsSkill
- retiring-a-superseded-decisionSkill
- reviewing-design-workSkill
- semver-design-tokensSkill
- session-heartbeatSkill
- skillforgeSkill
- skill-frontmatter-qualitySkill
- spacing-systemSkill
- technical-writingSkill
- test-disciplineSkill
- thrill-designSkill
- token-frugal-toolingSkill
- token-naming-conventionsSkill
- type-scaleSkill
- udts-component-sizing-laddersSkill
- udts-dtcg-extensionsSkill
- udts-linter-rulesSkill
- udts-naming-conventionSkill
- udts-reviewSkill
- udts-semver-defaultsSkill
- udts-spacing-defaultsSkill
- The first 60 shown.
The file
We split this AGENTS.md into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 61
not: write it has reviewed it and its findings are addressed — a refute-first panel, or clud-bug in local mode.
- Distinctive: line 70
A red check is fixed, not merged past: Read the failing step first.
- Very specific: line 85
Nothing in the forge enforces any of the above: No rule protects dev; main's approving-review rule is bypassed in practice.
- Distinctive: line 97
Read that skill before pushing fixes addressing prior review threads.
- Very specific: line 116
Before #188, mixed — not a clean era: #187 carries a workflow-produced success (from the then-extant clud-bug-review.yml on its own branch) …
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
This is the canonical instruction file for AI coding agents working in this
repository. Tools that understand AGENTS.md (Cursor, Codex, Windsurf,
Claude Code, Cline, Continue, Aider, ...) read this file directly. Per-tool
files like CLAUDE.md or .cursorrules are stubs that point here so the
guidance lives in one place.
<!-- logmind-start --><!-- logmind-block-version: v8-pointer -->Decision logging — logmind log is REQUIRED for substantive commits
logmind log replaces git add + git commit + git push for any change that carries a decision — do not run those git commands directly.
DO NOT run raw
git add/git commit/git pushfor substantive code changes. The commit-msg hook installed bylogmind initwarns when raw git is used on a substantive commit; the intent is to prevent the warning, not bypass it via--no-verify. Typo / whitespace / dep-bump-only commits MAY use raw git.
logmind log "summary" -r "why" -a "alternative" -i "implication"This project uses logmind. What counts as a decision, branch routing, --stage scoped for unrelated WIP, logmind doctor, and the required-reading list (docs/timeline.md, docs/decisions.md, docs/file-structure.md, docs/decisions-branches/<branch>.md) all live in the logmind agent skill at https://github.com/thrillmade/agent-skills/tree/main/skills/logmind.
<!-- logmind-end -->Project Overview
<!-- Replace with a short description of what this project does. -->Development Commands
python3 .github/scripts/validate_skills.py # the skill gate — run it before you push
pytest tests/ -q # the gates' own regression guard
logmind log "…" -r "…" -a "…" -i "…" # the commit primitive (see above)The validator runs in about a second. The suite takes minutes: most of its wall clock is the
two mutation files (test_prose_retention_mutations.py, test_skill_directory_mutations.py),
which each run the real suites in a subprocess once per mutation — that is what makes "this
guard can fail" a fact rather than a claim, and it is worth the wait. Run the fast subset while
iterating —
pytest tests/ -q --ignore=tests/test_prose_retention_mutations.py --ignore=tests/test_skill_directory_mutations.py
— and the whole thing before you push. Neither command is optional before opening a PR — CI
runs the same two, unconditionally. (No test count or duration is quoted here on purpose: a
hand-kept number with no gate reads as true until one quietly isn't. Run it and read the
output.)
The dev branch
Work lands on dev first and reaches main in batches. dev is somewhere work passes
through, not somewhere work lives. These are the organisation's rules, not this repo's;
changing them is not a local decision.
Branch from dev, and open the pull request into dev. The default base is main, so set
it by hand. Never push straight to dev — no workflow runs on a push there, so the commit is
checked by nothing.
Into dev: an independent adversarial review. A change may merge once a reviewer that did
not write it has reviewed it and its findings are addressed — a refute-first panel, or
clud-bug in local mode. Independence means a different agent. A fresh context window on the
same agent is not a different agent, and neither is the same agent asked to look again. The
review is a panel, not a GitHub approval; a PR into dev reports no review decision at all.
This is the only rule applied per change rather than per batch, so it carries the weight.
Into main: a person. An agent does not open or merge the dev → main promotion; it
reports the batch ready and hands off.
A red check is fixed, not merged past. Read the failing step first.
Every failing step is real — including one where the check's own step never ran because a setup step died. A skipped verdict is not a passing verdict. Re-run it or fix it; do not reason your way past it.
(check-links and check-derived-docs used to check out the head branch by name, so a run
still in flight when the PR merged died at the checkout step with A branch or tag with the
name '…' could not be found — a red that was an artifact, not a verdict. Fixed in #223 by
checking out the SHA instead; if you see that exact message again, it's a regression, not a
known quirk.)
Batching dilutes exactly one check. check-decisions asks only whether some decision file
is in the diff, so one entry clears a whole batch. Every change still logs its own regardless.
Nothing in the forge enforces any of the above. No rule protects dev; main's
approving-review rule is bypassed in practice; nothing there tells an agent from a person. That
a rule is not enforced is a property of the forge, not a permission.
<!-- clud-bug-start --><!-- clud-bug-block-version: v2 -->clud-bug — Claude PR review
This repo uses clud-bug for automatic PR reviews.
Full collaboration rules — fix-push flow, skill structure, comment format,
strict-mode mechanics, workflow-edit constraint — live in the bundled
clud-bug-collaboration skill.
Read that skill before pushing fixes addressing prior review threads.
Strict mode is on in this repo (workflow check fails on critical findings). Toggle via .claude/skills/.clud-bug.json
(read from PR base ref, so PRs can't disable strict-mode on themselves).
For agent invocations of the clud-bug CLI, prefer CLUD_BUG_QUIET=1
(or pass --quiet) — suppresses progress chatter and emits a single
ok <key-value> summary line per command.
Installed at clud-bug v0.7.0-rc.20.
<!-- clud-bug-end -->clud-bug review coverage here is intermittent — measure it, don't assume it
The block above describes the mechanism and is regenerated by clud-bug update weekly, so
nothing measured belongs inside it. What is measured belongs here. The clud-bug-review
check on this repo has had four eras (measured 2026-11-03; probe control-tested against
the known hits below):
- Before #188, mixed — not a clean era: #187 carries a workflow-produced
success(from the then-extantclud-bug-review.ymlon its own branch) and an App-postedneutral; #150 is an Appfailure; #120 has no run at all. neutral"clud-bug review unavailable" from #188 through at least #269 — the outage era.success"clud-bug review — clean (notarized)" from the App on #274 and #277 (October) — the App did produce real reviews after the outage.- Absent entirely on #293–#296 (November): no check-run at all. The review workflow was removed in #117 (the App migration), so a check-run exists only when the App posts one — and today it posts nothing here. Strict mode cannot fail on a review that never runs.
While the check is absent, the per-change review gate above is carried entirely by local panels. Re-check before relying on it, and control-test an empty result against #274's head SHA (the cleanest known hit) before reading absence as fact:
gh api repos/thrillmade/agent-skills/commits/<sha>/check-runs \
--jq '.check_runs[] | select(.name=="clud-bug-review") | "\(.conclusion) \(.output.title)"'Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

