AgentSkills
AGENTS.md1 starsChanged 50 days agoMITView on GitHub
This repository is a set of Agent Skills for Claude Code and OpenAI Codex, the necturalabs marketplace that pins the third-party plugins the NecturaLabs setup uses, and the necturalabs-fab CLI behind the fab skill. The Markdown under skills/ is the product, not prose about the product. Run from bash on Linux: - Full offline suite: npm test (equivalently bash tests/run-all.sh) - Structure validation only: bash scripts/validate.sh --strict - Install into this machine's harnesses: bash scripts/install.sh (--dry-run to preview) - Report…
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 repository10 other files it gives its agents.
- agent-instructionsSkill
- agent-orchestrationSkill
- backlog-maintenanceSkill
- estimate-timeSkill
- fabSkill
- independent-reviewSkill
- memory-hygieneSkill
- open-project-terminalSkill
- project-docsSkill
- testingSkill
The file
We split this AGENTS.md into the rules it gives an agent
9 rules. About 0 are common, 3 are distinctive, and 6 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.
6
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 10
Run from bash on Linux:
- Very specific: line 19
Remove this project's links: bash scripts/uninstall.sh
- Distinctive: line 63
AGENTS.md is the only maintained policy source here: No competing CLAUDE policy layer, no GEMINI.md, context loader, or session-start hook …
- Very specific: line 91
Every reference and template file must be reachable from its SKILL.md.
- Distinctive: line 93
Write harness-neutral prose.
- Very specific: line 95
Every skill carries five eval cases under evals/: <skill>-explicit, -implicit, -contextual, -negative, -ambiguous.
- Very specific: line 100
Always: run the suite before claiming done.
- Very specific: line 105
Never: write anything under .claude/worktrees/ — sibling branches live there with their own uncommitted state, and the shell's working …
- Very specific: line 107
Never: add a check needing the network, credentials, or the claude CLI.
≈ “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
AgentSkills — Agent Guidelines
This repository is a set of Agent Skills for Claude Code and OpenAI Codex, the necturalabs
marketplace that pins the third-party plugins the NecturaLabs setup uses, and the necturalabs-fab
CLI behind the fab skill. The Markdown under skills/ is the product, not prose about the
product.
Commands
Run from bash on Linux:
- Full offline suite:
npm test(equivalentlybash tests/run-all.sh) - Structure validation only:
bash scripts/validate.sh --strict - Install into this machine's harnesses:
bash scripts/install.sh(--dry-runto preview) - Report installation health:
bash scripts/doctor.sh - Build or update the pinned MCP servers in
setup/tools.tsv:bash scripts/tools.sh install;bash scripts/tools.sh status --remotelists upstream's newest tags beside the pins (network, so no suite runs either for real) - Remove this project's links:
bash scripts/uninstall.sh - Version agreement (package, plugin, crate; optionally a tag):
sh scripts/check-version.sh [vX.Y.Z] - Fab CLI: see
cli/fab/AGENTS.md(cargo testfromcli/fab)
The suite is entirely offline: every check reads files in this repo. Nothing needs the network, the
claude CLI, or credentials, and nothing that does may be added — no API key belongs in this repo
or its CI, so such a check could only ever be skipped, and a permanently skipped check reads as
coverage while providing none.
Two official tools exist alongside the suite, and CI runs neither:
claude plugin validate . --strict— Anthropic's own manifest and frontmatter validator. It makes no model calls: run it with the suite before a release.claude plugin eval .— runs the routing evals underevals/. It spends tokens and needs credentials, which is why CI validates the eval files and never executes them. Runbash scripts/fetch-eval-plugins.shfirst (it fetches the pinned third-party plugins some cases load into the ignoredevals/.plugins/). It makes real model calls, so run it only when the owner asks for an eval run, never on API billing, and record the result indocs/evals.md.
Architecture
Four layers, each with one job. Putting content in the wrong layer is the defect this repository exists to avoid.
AGENTS.md— persistent instruction and policy. The only such layer. Small.skills/*/SKILL.md+references/— conditional procedure, loaded on demand.docs/, code, config — authoritative project truth, read when relevant.scripts/,tests/, CI — deterministic enforcement, never a model call.
cli/fab/ is a Rust crate with its own AGENTS.md; its docs are docs/fab/. plugins/ holds only
files of our own: connector manifests whose servers users install from upstream, a language-server
config, and our own patches to an upstream that users build from source (each patch named in its
UPSTREAM.md, with upstream's copyright notice). Third-party plugins are marketplace entries pinned
to upstream commits in .claude-plugin/marketplace.json; never commit their code here. setup/
holds the recommended settings, the pinned tool manifest (tools.tsv), worker agents and the hook
scripts (setup/claude/scripts/: the Agent-call guard, the memory check and the duplicate-skill check, never under a hooks/
directory) the README's setup section merges in.
examples/ sits outside those layers: finished AGENTS.md files shipped for users to copy, not
instructions for work on this repo. They are named *-agents.md so an agent working under
examples/ never loads one as scoped instructions, and scripts/validate.sh fails the build if a
file named AGENTS.md, AGENTS.override.md or .cursorrules appears there, or if a required
example goes missing. The root AGENTS.md — this file — governs work on AgentSkills itself.
AGENTS.md is the only maintained policy source here. No competing CLAUDE policy layer, no
GEMINI.md, context loader, or session-start hook that reinjects instruction text. A repository
CLAUDE.md is forbidden and scripts/validate.sh fails the build if one reappears; the one
verified exception is a user-scope shim outside this repo, covered in docs/installation.md.
The checkout is the single canonical source for skill content. scripts/install.sh symlinks each
skill into ~/.claude/skills/ and ~/.agents/skills/; both harnesses follow symlinked skill
directories. Codex also scans $CODEX_HOME/skills (default ~/.codex/skills); install never writes
there, and doctor.sh checks it for a shadowing duplicate. Never maintain a copied per-harness
skill body.
Skill authoring
- Frontmatter carries only the six Agent Skills spec keys:
name,description,license,compatibility,metadata,allowed-tools. Claude-Code-only keys such aswhen_to_use,model,effortorcontextare hard-rejected by the Skills API and undocumented for Codex; the validator fails on any key outside the six. nameis 1–64 lowercase alphanumeric-and-hyphen characters, no leading, trailing or consecutive hyphens, and equals the directory name.namenever reuses a harness-native capability's name or alias;scripts/native-names.tsvlists them and the validator enforces it. Name what the skill adds, not the job a harness already does. Refresh the list when a harness release adds bundled skills, following the steps in its header.- A skill complements a native capability rather than competing with it: where a harness does the same job, the skill is the portable procedure around it and the fallback where it is missing.
descriptionis 1–1024 characters and is routing logic: it must make the trigger distinguishable from every neighbouring skill, and say what the skill is not for.SKILL.mdis a router and workflow contract — mode selection, invariants, process, output contract, pointers. Under 500 lines. Detail belongs inreferences/, one level deep, no chains.- Every reference and template file must be reachable from its
SKILL.md. Unreferenced files are dead weight in a progressive-disclosure design, and the validator treats them as a defect. - Write harness-neutral prose. Name capabilities ("read the file", "search the repository"), not a specific harness's tool names — that is what made the old per-harness mapping tables necessary.
- Every skill carries five eval cases under
evals/:<skill>-explicit,-implicit,-contextual,-negative,-ambiguous.
Boundaries
- Always: run the suite before claiming done; keep
package.json,.claude-plugin/plugin.jsonandcli/fab/Cargo.tomlon the same version; keep the skill lists inscripts/install.sh,uninstall.sh,doctor.shandtests/install-guard.shequal toskills/(the validator checks). - Ask first: adding or removing a skill; changing what
tests/run-all.shaggregates. - Never: write anything under
.claude/worktrees/— sibling branches live there with their own uncommitted state, and the shell's working directory persists between commands. - Never: add a check needing the network, credentials, or the
claudeCLI. - Never: let a suite write inside
tests/orscripts/, or depend on another suite having run.run-all.shmay start them concurrently, so shared state is a race. A suite that needs to write builds its own sandbox undermktemp -d.
Versioning
Semver across package.json, .claude-plugin/plugin.json and cli/fab/Cargo.toml, which change
together (a vX.Y.Z tag also builds the necturalabs-fab release binaries): patch for
fixes and typos, minor for new skills or features, major for removed skills or restructured
layout. Work lands directly on main.
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.

