skills
CLAUDE.md1 starsChanged 5 months agoMITView on GitHub
A personal collection of agent skills — plain-markdown capability packs for Claude Code and other agents in the vercel-labs/skills ecosystem. Not application code: there is no build, no test suite, no runtime dependencies. Treat the repo as a published content package. Each skill is a folder with at least SKILL.md. Frontmatter name must match the folder name. - name — lowercase, hyphen-separated, unique within skills/. - description — what the skill does, in one or two sentences. Keep it concise;…
In this repository19 other files it gives its agents.
- actionlintSkill
- actSkill
- dependency-auditSkill
- dockerfileSkill
- fdSkill
- git-flow-nextSkill
- joSkill
- miseSkill
- mktemp-dSkill
- npx-skillsSkill
- roastSkill
- sembrSkill
- shell-snippet-fmtSkill
- skill-newSkill
- ssh-auditSkill
- teeSkill
- vcs-commit-msgSkill
- vcs-identity-checkSkill
- whichSkill
The file
We split this CLAUDE.md into the rules it gives an agent
10 rules. About 0 are common, 1 is distinctive, and 9 are 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.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Treat the repo as a published content package.
- Very specific: line 42
Use YAML block scalar >- for description and when_to_use so frontmatter lines stay readable (≤80 chars).
- Very specific: line 53
Never hardcode this repo's name (petr-korobeinikov/skills) or any specific path inside SKILL.md files.
- Very specific: line 59
Default to skills/<name>/ if no existing skills are found.
- Very specific: line 60
Do not introduce build tooling, package.json, lockfiles, or runtime dependencies — skills are plain markdown and shipped as-is.
- Very specific: line 66
All Markdown files in this repo (SKILL.md, README.md, CLAUDE.md) must be formatted using Semantic Line Breaks (sembr) — see …
- Very specific: line 75
Prefer invoking the skill-new skill (skills/skill-new/) — it handles layout detection and template generation.
- Very specific: line 80
Do not add a per-skill README.
- Very specific: line 83
After adding or updating any skill, update the Skills section in README.md to reflect the change (name, one-line description, primary …
- Very specific: line 111
Add -g for global (~/.claude/skills/) instead of project (.claude/skills/).
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.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
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What this repo is
A personal collection of agent skills — plain-markdown capability packs for Claude Code and other agents in the vercel-labs/skills ecosystem. Not application code: there is no build, no test suite, no runtime dependencies. Treat the repo as a published content package.
Layout
skills/
<skill-name>/
SKILL.md # required
scripts/ # optional, only if the skill needs helpers
references/ # optional, only if the skill needs examples/templatesEach skill is a folder with at least SKILL.md.
Frontmatter name must match the folder name.
SKILL.md frontmatter rules
name— lowercase, hyphen-separated, unique withinskills/.description— what the skill does, in one or two sentences. Keep it concise; trigger conditions go inwhen_to_use.when_to_use— trigger conditions for the agent's relevance matching: phrases the user might say, file types, project shapes. Include both Russian and English triggers when relevant — this user works in both. The agent matches againstdescription+when_to_usecombined, so concrete triggers here are critical.- Use YAML block scalar
>-fordescriptionandwhen_to_useso frontmatter lines stay readable (≤80 chars).>-folds newlines into spaces and strips the trailing newline, yielding a parsed value identical to a single-line scalar.
Skills must stay portable
Skills are installed into arbitrary projects via
npx skills add petr-korobeinikov/skills.
So:
- Never hardcode this repo's name (
petr-korobeinikov/skills) or any specific path insideSKILL.mdfiles. - Skills that create files should detect the host project's existing layout
(
skills/<name>/,.claude/skills/<name>/, or flat<name>/SKILL.mdat root) and follow it. Default toskills/<name>/if no existing skills are found. - Do not introduce build tooling,
package.json, lockfiles, or runtime dependencies — skills are plain markdown and shipped as-is.
Formatting
All Markdown files in this repo (SKILL.md, README.md, CLAUDE.md)
must be formatted using Semantic Line Breaks (sembr) —
see skills/sembr/SKILL.md for the rules and https://sembr.org/ for the spec.
This is a repo-level convention:
it does NOT propagate when skills are installed elsewhere,
so skill-new stays neutral about formatting in host projects.
Adding or editing a skill
Prefer invoking the skill-new skill (skills/skill-new/) —
it handles layout detection and template generation.
Manual path: create skills/<name>/SKILL.md,
fill frontmatter per the rules above,
write the procedure in the body.
Do not add a per-skill README;
SKILL.md is the documentation.
After adding or updating any skill,
update the Skills section in README.md to reflect the change
(name, one-line description, primary triggers).
Distribution commands (for reference)
Skills target Claude Code only — we do not maintain compatibility with other agents. The standard install flags reflect that:
-a claude-code— lands skills in the host's.claude/skills/instead of spreading copies across other agent configs.--copy— writes plain file copies instead of symlinks. Symlinks couple the host repo to this checkout and cluttergit statusin the consumer project.-y— skips interactive prompts when installing the full set.
# install all skills
npx skills add petr-korobeinikov/skills --skill '*' --copy -a claude-code -y
# install one skill
npx skills add petr-korobeinikov/skills --skill <name> --copy -a claude-codeAdd -g for global (~/.claude/skills/) instead of project (.claude/skills/).
Consumers track versions via .skill-lock.json in their own project —
this repo does not maintain a lockfile.
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.

