agent-skills
AGENTS.md2 starsChanged 2 months agoMITView on GitHub
This repository contains a collection of skills for GitHub Copilot coding agents. Each skill is a self-contained directory that the agent installs and executes to handle specific domains (function point sizing, document conversion with pandoc, high-fidelity PDF/image → Markdown with MinerU, chapter splitting, WBS generation, LLM-maintained wiki management, team knowledge base queries, skill security auditing, personal todo management, etc.). There are no build steps, no compiled artifacts, and no package manager. The repo is composed of Markdown files, JSON evaluation…
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,700 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.
- skill-creatorSkill
- ffpa-analyzerSkill
- llm-wiki-managerSkill
- markdown-chapter-splitterSkill
- mineru-pdf-to-mdSkill
- pandoc-convertSkill
- skill-security-auditorSkill
- team-kbSkill
- todo-managerSkill
- wbs-generatorSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
15 rules. About 1 is common, 1 is distinctive, and 13 are very specific to this project.
≈1
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
13
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 30
Every skill must have SKILL.md and evals/evals.json.
- Very specific: line 84
Use sync-skills.sh to synchronize skills between the repo and $HOME/.agents/skills/:
- Very specific: line 106
Create a new directory under skills/: mkdir skills/<skill-name>
- Very specific: line 107
Add SKILL.md with the required frontmatter and instructions.
- Very specific: line 108
Add evals/evals.json with at least one eval covering the main use case.
- Very specific: line 109
If the skill needs a helper script, place it in scripts/ and make it executable.
- Very specific: line 110
If the skill references lookup tables or normative data, place them in references/.
- Very specific: line 111
Update README.md to add a row for the new skill in the Skills table and an npx skills add … line in the Installation section.
- Distinctive: line 112
If the skill introduces a new domain or convention for the repo, also refresh the overview / structure notes in AGENTS.md.
- Very specific: line 117
If you change the description frontmatter, verify that existing evals still trigger correctly.
- Very specific: line 118
If you change a helper script interface (arguments, output format), update both the script and the corresponding SKILL.md workflow section …
- Very specific: line 119
Do not rename a skill directory without updating all internal references (name frontmatter, skill_name in evals.json, script paths in …
- Very specific: line 127
When using skill-creator for a full with-skill / baseline comparison, put results under <skill-name>-workspace/ next to skills/ (not inside …
- Very specific: line 134
Commit messages: use conventional commits (feat:, fix:, docs:, chore:).
- Common: line 138
Do not embed credentials, tokens, or personal data in any file.
≈ “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
Project overview
This repository contains a collection of skills for GitHub Copilot coding agents. Each skill is a self-contained directory that the agent installs and executes to handle specific domains (function point sizing, document conversion with pandoc, high-fidelity PDF/image → Markdown with MinerU, chapter splitting, WBS generation, LLM-maintained wiki management, team knowledge base queries, skill security auditing, personal todo management, etc.).
There are no build steps, no compiled artifacts, and no package manager. The repo is composed of Markdown files, JSON evaluation cases, and occasional Python helper scripts.
Repository structure
agent-skills/
├── skills/
│ └── <skill-name>/
│ ├── SKILL.md # Skill definition (required)
│ ├── evals/
│ │ └── evals.json # Evaluation cases (required)
│ ├── scripts/ # Python or shell helper scripts (optional)
│ ├── bin/ # CLI executables / control scripts (optional, alternative to scripts/)
│ └── references/ # Reference data / lookup tables (optional)
├── instructions/ # Reusable agent instruction snippets
│ └── Karpaty-Code.md # Behavioral coding guidelines (Think Before Coding, Simplicity First, …)
├── sync-skills.sh # Sync tool: repo skills/ ↔ ~/.agents/skills/
├── .gitignore # Ignores skill-creator eval workspaces (`*-workspace/`)
├── AGENTS.md
├── LICENSE
└── README.mdEvery skill must have SKILL.md and evals/evals.json. Everything else is optional.
Eval runs created by the skill-creator skill live in sibling directories named <skill-name>-workspace/ (iteration outputs, fixtures, sandbox stubs). Those directories are gitignored via *-workspace/ and must not be committed.
SKILL.md anatomy
Each SKILL.md starts with a YAML frontmatter block followed by Markdown agent instructions:
---
name: skill-name
description: "One-paragraph description used by the agent to decide when to trigger this skill."
---
# Skill Title
## Section
...Rules for SKILL.md:
- The
namefield must match the directory name exactly (kebab-case). - The
descriptionfield is the trigger text — the agent reads it to decide whether to invoke the skill. Make it explicit about activation keywords (in any language if the skill is multilingual). - Body sections are free-form Markdown. Use
##for top-level sections inside the skill. - Reference any bundled scripts with absolute paths using
$HOME/.agents/skills/<skill-name>/scripts/<file>(orbin/<file>if the skill uses abin/directory). - Reference any bundled data files with relative paths like
references/<file>.
evals/evals.json anatomy
{
"skill_name": "skill-name",
"evals": [
{
"id": 0,
"prompt": "User prompt that should trigger and exercise the skill.",
"expected_output": "Human-readable description of the expected agent response.",
"files": [],
"expectations": [
"Specific, verifiable assertion about the output."
]
}
]
}skill_namemust match the directory name.idvalues must be unique integers within the array, starting from 0.fileslists any fixture files needed by the eval (paths relative to the eval runner working directory). Use[]when no files are needed.expectationsis optional but recommended — list each assertion as a plain-English sentence that an evaluator can check programmatically or manually.- Cover at least: the happy path, an edge case, and a negative case (input that should not trigger the skill or should produce a graceful error).
Syncing skills
Use sync-skills.sh to synchronize skills between the repo and $HOME/.agents/skills/:
./sync-skills.sh status # show sync state of all skills
./sync-skills.sh sync # interactive sync (REPO_ONLY + DIFFERS)
./sync-skills.sh sync --all # also include INSTALL_ONLY skillsThe script uses SHA-256 checksums to detect differences and rsync (with cp fallback) for copying.
Instructions directory
The instructions/ directory contains reusable agent instruction snippets — Markdown files that can be embedded verbatim into an AGENTS.md, a system prompt, or a Copilot coding agent configuration. They are not skills and do not have evals/.
| File | Purpose |
Karpaty-Code.md | Behavioral coding guidelines (Think Before Coding, Simplicity First, Surgical Changes, Goal-Driven Execution). Drop into any repo's AGENTS.md to reduce common LLM coding mistakes. |
To add a new instruction snippet: create a .md file in instructions/ with a clear # Title heading, and document it in the table above and in README.md.
Adding a new skill
- Create a new directory under
skills/:mkdir skills/<skill-name> - Add
SKILL.mdwith the required frontmatter and instructions. - Add
evals/evals.jsonwith at least one eval covering the main use case. - If the skill needs a helper script, place it in
scripts/and make it executable. - If the skill references lookup tables or normative data, place them in
references/. - Update
README.mdto add a row for the new skill in the Skills table and annpx skills add …line in the Installation section. - If the skill introduces a new domain or convention for the repo, also refresh the overview / structure notes in
AGENTS.md.
Modifying an existing skill
- Changes to
SKILL.mdbody sections (instructions, workflow steps, output format) are safe to make directly. - If you change the
descriptionfrontmatter, verify that existing evals still trigger correctly. - If you change a helper script interface (arguments, output format), update both the script and the corresponding
SKILL.mdworkflow section in the same commit. - Do not rename a skill directory without updating all internal references (
namefrontmatter,skill_nameinevals.json, script paths inSKILL.md).
Testing
There is no automated test runner configured in this repo. Evals are executed manually or via the Copilot skill-creator skill.
To run an eval manually, copy the prompt from evals.json into the agent chat and verify the response against expected_output and each item in expectations.
When using skill-creator for a full with-skill / baseline comparison, put results under <skill-name>-workspace/ next to skills/ (not inside the skill directory). That path is ignored by git; only keep evals/evals.json inside the skill as the durable test definition.
Code style
- Markdown: use ATX headings (
#), fenced code blocks with language tags, and pipe tables. - JSON: 2-space indentation, no trailing commas.
- Python scripts (in
scripts/): Python 3, follow PEP 8, include aif __name__ == "__main__":guard, and print usage to stderr on invalid arguments. - Commit messages: use conventional commits (
feat:,fix:,docs:,chore:). Scope to the skill name when the change is skill-specific (e.g.feat(ffpa-analyzer): add DWH guidelines).
Security
- Do not embed credentials, tokens, or personal data in any file.
references/files contain normative/public domain data only — no proprietary client data.
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.

