skills
AGENTS.md4 starsChanged 9 months agoMITView on GitHub
Guidance for AI coding agents (Claude Code, Codex, and others) working in this repo. Claude Code also reads CLAUDE.md, which contains the full policy; keep the two in sync. These have broken published skills. Verify every one before pushing a skill change: 1. SKILL.md description must be plain text — NO XML/HTML tags or angle brackets <…>. The skill loader rejects a description containing <…> with the error "SKILL.md description cannot contain XML tags", and the downloads page then renders…
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,439 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 repository16 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- sf-apexSkill
- sf-auditSkill
- sf-cmsSkill
- sf-connect-restSkill
- sf-dataSkill
- sf-diagramSkill
- sf-flowSkill
- sf-help-fetchSkill
- sf-kugamonSkill
- sf-lwcSkill
- sf-metadataSkill
- sf-ordersSkill
- sf-permissionsSkill
- sf-provisioningSkill
The file
We split this AGENTS.md into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 32
After editing, re-run npx prettier --write <files> and confirm nothing turned into ``.
- Distinctive: line 69
Run the gates and fix any issues:
≈ “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
Guidance for AI coding agents (Claude Code, Codex, and others) working in this repo. Claude Code also reads CLAUDE.md, which contains the full policy; keep the two in sync.
Skill authoring — avoid these shipped-broken mistakes
These have broken published skills. Verify every one before pushing a skill change:
SKILL.mddescriptionmust be plain text — NO XML/HTML tags or angle brackets<…>. The skill loader rejects a description containing<…>with the error "SKILL.md description cannot contain XML tags", and the downloads page then renders a blank description. Use[…]or{…}for placeholders in bothdescriptionandargument-hint(e.g.[article-url|topic-id]), never<…>. Note:scripts/validate-skills.shdoes NOT catch this today — check it by eye.- Every new skill must be added to the top-level
README.mdskills table (with a link to the skill's ownREADME.md), and must ship askills/<skill-name>/README.md. A skill missing from the README is effectively invisible to users. - Bump
metadata.versioninskills/<skill-name>/SKILL.mdon any change to that skill. - Do not edit
plugins/— it is generated fromskills/bysync-plugins.ymlafter merge. Never write a bare
Object__c/Field__c/__r/__mdtin Markdown prose or tables. A pair of__is Markdown strong-emphasis, soprettier --write(which every push runs) rewritesAmount__c to Invoice__cintoAmount**c to Invoice**c— the API name is now wrong and renders as bold. This is silent: prettier reports the file as merely reformatted, and it has already shipped broken API names in published docs more than once. Write API names one of two ways:- Preferred: wrap in backticks —
`Invoice__c`. Emphasis does not apply inside a code span, so prettier leaves it alone and it renders as code, which is what an API name should look like anyway. - Plain text: escape both pairs —
Invoice\_\_c, matching the existing tables.
After editing, re-run
npx prettier --write <files>and confirm nothing turned into**.This one is enforced.
scripts/validate-skills.shfails on a corrupted name anywhere underskills/, so CI catches it — you do not have to spot it by eye. To check a tree yourself:python3 scripts/check_md_api_names.py # skills/ (what CI enforces) python3 scripts/check_md_api_names.py . # whole repoThe checker only reads prose: matches inside code spans and fenced blocks are ignored, because emphasis does not apply there — which is also why backticks are the better fix. For a deliberate case it misreads, put
md-api-names: allowin an HTML comment on the offending line or the line above.- Preferred: wrap in backticks —
Every MCP tool call in a skill must match the Cirra AI MCP Server schema.
soql_queryandtooling_api_querytakesObject,fieldsandwhereClause(all required;orderBy/limit/groupByare separate parameters and there is noquery=string);sobject_dmldelete takesrecordIds, notrecords; there is noorgAliasparameter. The canonical signatures live inshared/references/cirra-mcp-tools.md— link it from the skill rather than re-describing tools.This one is enforced.
scripts/validate-skills.shrunsscripts/check_mcp_signatures.pyon every skill (fenced blocks and inline code spans only). To check a tree yourself:python3 scripts/check_mcp_signatures.py # skills/ (what CI enforces) python3 scripts/check_mcp_signatures.py skills/sf-dataFor an example that shows a wrong call on purpose, put
mcp-signatures: allowin an HTML comment on the line above it.
Before every push
Run the gates and fix any issues:
npm run lint(prettier--check+ruff check)pytest tests/ skills/*/tests/bash scripts/validate-skills.sh
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.

