AgentSkills
AGENTS.md0 starsChanged 33 days agoMITView on GitHub
This repository stores OpenAI/Codex-compatible agent skills. Put distributable skills under: Start each new skill with: Then edit the generated files. Every skill must include SKILL.md with YAML frontmatter containing only: Optional per-skill resources: Register each plugin in both .claude-plugin/marketplace.json and .agents/plugins/marketplace.json. Maintain the native instruction block in docs/coding-principles.md and its local/remote Bash installer in scripts/install-coding-principles.sh. Keep it separate from skills and plugin hooks. Support Bash 3.2 with standard Unix commands; Python and Node remain optional. Use the bundled skills CLI…
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 repository12 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- apple-app-icon-generatorSkill
- apple-bundle-id-guardrailsSkill
- break-it-downSkill
- css-typography-koSkill
- docs-syncSkill
- flutter-flavorsSkill
- github-workflowSkill
- git-workflowSkill
- macos-dev-app-cleanupSkill
- macos-release-reinstallSkill
- prepare-release-githubSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
14 rules. About 0 are common, 7 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 7
Put distributable skills under:
- Distinctive: line 13
Start each new skill with:
- Very specific: line 21
Every skill must include SKILL.md with YAML frontmatter containing only:
- Distinctive: line 39
Keep each skill focused on one job.
- Very specific: line 40
Put trigger words and the main use case early in description.
- Distinctive: line 41
Prefer imperative steps with explicit inputs and outputs.
- Very specific: line 42
Keep SKILL.md concise; move detailed material to references/.
- Distinctive: line 45
Do not add README, changelog, or installation docs inside individual skill folders.
- Distinctive: line 47
Use kebab-case for skill folder names and plugin names.
- Very specific: line 49
When plugin content changes, bump version in that plugin's .claude-plugin/plugin.json and .codex-plugin/plugin.json so plugin hosts detect …
- Very specific: line 56
Put independently installable plugins under plugins/<plugin-name>/, with both host manifests and all runtime resources inside that folder.
- Very specific: line 77
Keep hook scripts executable (chmod +x).
- Very specific: line 78
Write one shared script per behavior.
- Distinctive: line 83
Run this before committing skill changes:
≈ “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 Authoring Guide
This repository stores OpenAI/Codex-compatible agent skills.
Skill Structure
Put distributable skills under:
skills/<skill-name>/Start each new skill with:
scripts/new-skill.sh <skill-name>Then edit the generated files.
Every skill must include SKILL.md with YAML frontmatter containing only:
---
name: skill-name
description: Clear trigger guidance for when to use the skill.
---Optional per-skill resources:
agents/openai.yamlfor UI metadata, invocation policy, and MCP dependencies.scripts/for deterministic helper commands.references/for detailed docs, schemas, examples, and long-form guidance.assets/for templates, images, fonts, and other reusable files.
Writing Rules
- Keep each skill focused on one job.
- Put trigger words and the main use case early in
description. - Prefer imperative steps with explicit inputs and outputs.
- Keep
SKILL.mdconcise; move detailed material toreferences/. - Link each reference directly from
SKILL.md, with its read condition; add a section-linked contents list near the top of reference files longer than 100 lines. - For quality-critical workflows, state how to correct in-scope verification failures and rerun the relevant check, and when to stop or report pending verification. Keep audit-only requests read-only.
- Do not add README, changelog, or installation docs inside individual skill folders.
- Quote all string values in
agents/openai.yaml. - Use kebab-case for skill folder names and plugin names.
- List every skill in the
## Skillssection of bothREADME.mdandREADME.ko.md. - When plugin content changes, bump
versionin that plugin's.claude-plugin/plugin.jsonand.codex-plugin/plugin.jsonso plugin hosts detect the update. Keep the two host versions identical within each plugin; use patch bumps for doc-level changes.
Plugins
Register each plugin in both .claude-plugin/marketplace.json and .agents/plugins/marketplace.json.
- The repository root is a skill source and plugin marketplace, not an installable plugin. Canonical skills live in
skills/; hook scripts live inscripts/hooks/. - Put independently installable plugins under
plugins/<plugin-name>/, with both host manifests and all runtime resources inside that folder. Hosts cache the selected plugin directory; references to parent-directory resources will break. - Install individual skills through the skills CLI.
plugins/git-hooks/,plugins/github-hooks/, andplugins/apple-dev-hooks/contain hooks without bundled skills or required skill dependencies. - Edit skills only in canonical
skills/, and edit shared hooks inscripts/hooks/. Hook registration is generated from the mapping inscripts/build-plugin-bundles.py. Runpython3 scripts/build-plugin-bundles.pyafter changing hook sources or that mapping; generated script and hook copies must match. Requires Python 3.9 or later for authoring. Bump both host versions of each affected hook plugin; skill-only changes need no plugin version bump.
Coding principles installer
Maintain the native instruction block in docs/coding-principles.md and its local/remote Bash installer in scripts/install-coding-principles.sh. Keep it separate from skills and plugin hooks. Support Bash 3.2 with standard Unix commands; Python and Node remain optional. Use the bundled skills CLI search renderer and Clack prompts when Node.js 22.20+ is available, and the Bash UI otherwise or when the optional UI cannot be loaded. Edit scripts/coding-principles-ui.mjs and rebuild the self-contained scripts/coding-principles-ui.cjs with npm ci --ignore-scripts and npm run build:coding-principles-ui; npm is only needed for authoring. Preserve the pinned upstream source and MIT license in scripts/vendor/skills-search-multiselect.ts; keep local changes limited to terminal streams and cancellation. Read TUI input from /dev/tty so piped installation remains interactive; preserve the option-based automation path. Installation and removal must preserve all content outside the block, existing permissions, and symlinks. Test with temporary instruction directories and a PATH without other language runtimes; use PTY tests for both UIs, selection, cancellation, and terminal restoration. Verify new agent paths against the sources linked in the installation guide.
Hooks
Hooks belong to their plugin, not to individual skills. They ship only through a plugin install, so they are absent from npx skills add installs. Paths below are relative to each plugin root.
hooks/hooks.json Claude Code (auto-discovered at the plugin root)
codex-hooks/hooks.json Codex (referenced by .codex-plugin/plugin.json)
scripts/hooks/*.sh Shared hook implementationsRules:
- Anchor every hook command to the plugin root. Both hosts run hook processes with the session's working directory, so a relative path like
./scripts/hooks/foo.shresolves inside the user's project and fails. Use"${CLAUDE_PLUGIN_ROOT}"/...for Claude and"${CODEX_PLUGIN_ROOT:-$CLAUDE_PLUGIN_ROOT}"/...for Codex. - Keep hook scripts executable (
chmod +x); the validator enforces this. - Write one shared script per behavior; use a
--client=flag when host-specific output differs. Keep output handling specific to the hook event. - Hooks must exit
0on paths that should not interrupt the agent.
Validation
Run this before committing skill changes:
scripts/validate-skills.sh.github/workflows/validate.yml rebuilds the Node UI and rejects stale bundle copies, then runs the same validation script and python3 -B -m unittest discover -s tests on every push and pull request. Validation also checks bundle copies against canonical sources, each plugin's matching host versions, plugin-root hook commands, and executable hook scripts. Tests check marketplace selection, bundle refresh, and independently cached hook execution.
Structural checks do not establish skill behavior. For substantial workflow changes, use representative requests and observable outcomes; keep evaluation cases and run records outside distributable skills. Follow the behavioral evaluation guide, recording the tested skill revision, model, tool conditions, original outputs, and unexecuted cases. Model coverage belongs in run records, not extra skill frontmatter.
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.

