agenticloop
AGENTS.md3 starsChanged 6 days agoMITView on GitHub
This is the Castwork toolkit itself: shared task records and roles for agent work. It provides Markdown task records carrying work, candidates, evidence, and assessments, four role presets, reusable skills, thin host adapters, and a few pure checks. Agents choose the workflow. Hosts execute it. Status: version 0.9.17 is current. Canonical sources live at the repository root. Host directories are generated projections; never edit generated output by hand and never add a parallel authoritative copy for one host. - One…
1 other project uses a version of this.
Adopted by
Most recently taken up by
- bartoszarendt/castworkword for word, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 1
- bartoszarendt/castwork★ 3100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
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,774 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 repository6 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- assessmentSkill
- blocked-stateSkill
- decision-captureSkill
- task-record-contractSkill
- verification-evidenceSkill
The file
We split this AGENTS.md into the rules it gives an agent
7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
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
- could be automatic: a setting could enforce it
- Distinctive: line 36
No lifecycle: Do not add a transition graph, state machine, mandatory role sequence, delegation prerequisite, retry budget, or …
- Very specific: line 67
Read CASTWORK.md for the vocabulary and docs/record-format.md for the record contract.
- Distinctive: line 69
Read the role preset or skill you are changing, and keep it independently usable: no skill may require activation or a prior command.
- Distinctive: line 71
Add a concept only when a real consumer needs it.
- Distinctive: line 84
Run the suite before reporting a change complete.
- Distinctive: line 96
Do not merge to main, tag, release, or publish without explicit owner authorization.
- Very specific: line 100
Never commit secrets, local runtime state, .castwork/local/, or the .docs symlink.
≈ “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
Castwork repository instructions
This is the Castwork toolkit itself: shared task records and roles for agent work. It provides Markdown task records carrying work, candidates, evidence, and assessments, four role presets, reusable skills, thin host adapters, and a few pure checks. Agents choose the workflow. Hosts execute it.
Status: version 0.9.17 is current.
Layout
| Path | Contents |
src/ | the CLI, the record parser, and the pure checks |
bin/ | the castwork entry point |
agents/ | the four canonical role presets |
skills/ | reusable procedures, one directory per skill |
commands/ | the canonical start entry command |
src/adapters/ | per-host templates for Codex, Claude Code, OpenCode, and Pi |
memory/ | record templates |
tests/ | unit tests |
docs/ | public documentation |
Canonical sources live at the repository root. Host directories are generated projections; never edit generated output by hand and never add a parallel authoritative copy for one host.
Rules
- One spelling per concept. snake_case for every machine field and enum value. kebab-case for CLI command names.
- Records are ordinary Markdown. Structured data goes in YAML frontmatter; the body is prose. A record stays readable and editable in every state.
- Checks are pure. They take a parsed record plus an optional observation map and perform no I/O. The CLI gathers observations; the checks never do.
- No lifecycle. Do not add a transition graph, state machine, mandatory role sequence, delegation prerequisite, retry budget, or authorization gate.
- No substitute subsystem. Nothing removed may return under "semantic", "history", "policy", "evaluator", or "lane" terminology. If you find yourself adding a registry, store, transition table, signature, freshness rule, or repair path, stop and remove it.
- No authentication. Castwork reports what was recorded and who asserted it. It never claims to prove who recorded it.
- Candidate references, not HEAD. Evidence and assessments bind to the explicit candidate reference an agent recorded.
- Generated files carry no absolute paths and are tracked in the target
repository. Machine-specific state belongs in the gitignored
.castwork/local/. - Configuration lives in
castwork.jsonat the target root, and it describes the repository rather than the machine:hostsare the hosts the project supports, and role settings, role routes and role levels are its deliberate choices.project.mdis prose;.castwork/local/is machine-local state. The one exception is.castwork/local/castwork.json, gitignored with that state, which chooses one machine's models and reasoning, the model-choice keys ofrole_settingsand of levelscastwork.jsondeclares, and itsrole_routesamong the hostscastwork.jsonlists, and nothing else. It is the user's:updateandremovenever write or delete it. It never changes the tracked manifest, and its output is never committed. - Four roles, and they do not vary by project. A specialist is an
actorunder a canonical role, carrying a skill, chosen by prose policy. Do not add a role registry or derive roles from policy. - Generated skills are invoked, not inferred. The entry command's
skill_descriptionsays when to use Castwork and when not to, and a host that documents a way to refuse implicit invocation gets it from its adapter.
Before changing the product
- Read
CASTWORK.mdfor the vocabulary anddocs/record-format.mdfor the record contract. - Read the role preset or skill you are changing, and keep it independently usable: no skill may require activation or a prior command.
- Add a concept only when a real consumer needs it. A new requirement kind, status value, host, or command must name that consumer.
Verification
npm testruns the unit suite.npx castwork validatechecks skills, config, links, and generated adapter output.npm run typecheckruns the TypeScript checker over the JSDoc types.claude plugin validate . --strict, where Claude Code is installed, checks the plugin and marketplace manifests: run it when.claude-plugin/changes and before a release.
Run the suite before reporting a change complete. Prefer removing a concept over adding one.
For an owner-authorized release from main, bump the version in package.json
and add a user-facing CHANGELOG.md entry. Before publishing, run npm pack,
install the tarball in a disposable repository, and verify setup, update,
and remove. Breaking changes get a major-or-minor bump and state in the
changelog that there is no migration path; Castwork does not ship compatibility
shims, aliases, or deprecated commands.
Boundaries
- Do not merge to
main, tag, release, or publish without explicit owner authorization. - Branch
feat/phase-36-followupand commit63cd512are pinned by downstream projects; never delete them. - Never commit secrets, local runtime state,
.castwork/local/, or the.docssymlink.
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.

