agent-skills
CLAUDE.md0 starsChanged 11 days agoMITView on GitHub
A catalog of agent-agnostic skills (Markdown SKILL.md + optional scripts/, references/, examples/, evals/) meant to be installed into other projects via npx skills add bryanus1/agent-skills --skill <name> (skills.sh). There is no application code. The "build" is the skill linter plus the catalog generator. Docs and skill content are written mostly in Spanish, with some English. Read AGENTS.md before creating or editing a skill. It is the step-by-step authoring guide: template choice, directory placement, required frontmatter, and body sections. docs/SPECIFICATION.md is…
- Installs packages
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- git-cleanupSkill
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-exploreSkill
- openspec-proposeSkill
- openspec-sync-specsSkill
- openspec-update-changeSkill
- skill-creatorSkill
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-exploreSkill
- openspec-proposeSkill
- openspec-sync-specsSkill
- openspec-update-changeSkill
- flutter-architectureSkill
- monorepo-architectureSkill
- nestjs-architectureSkill
- nextjs-architectureSkill
- react-native-architectureSkill
- dart-import-organizerSkill
- ssh-connectSkill
- git-cleanupSkill
- gh-cliSkill
- glab-cliSkill
- ts-import-organizerSkill
The file
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 catalog of agent-agnostic skills (Markdown SKILL.md + optional scripts/, references/, examples/, evals/) meant to be installed into other projects via npx skills add bryanus1/agent-skills --skill <name> (skills.sh). There is no application code. The "build" is the skill linter plus the catalog generator. Docs and skill content are written mostly in Spanish, with some English.
Read AGENTS.md before creating or editing a skill. It is the step-by-step authoring guide: template choice, directory placement, required frontmatter, and body sections. docs/SPECIFICATION.md is the authoritative format spec.
Commands
pnpm install # also installs husky hooks
pnpm lint:skills # validate every SKILL.md under skills/ and templates/
pnpm lint:strict # same, but warnings fail too (what CI runs)
node scripts/lint-skills.mjs --strict skills/dart/dart-import-organizer # validate one skill (dir or SKILL.md path)
pnpm catalog # regenerate catalog/catalog.json and the generated README blocks
pnpm catalog:check # fail if they are stale (CI)
pnpm test:unit # node --test over tests/*.test.mjs
pnpm test # lint:strict + catalog:check + test:unit (pre-commit hook and release)
pnpm lint:shell # shellcheck the skills' Bash scripts (needs shellcheck installed; CI has it)
node scripts/check-skill-versions.mjs --base main # every changed skill must bump its frontmatter version (CI)Skill scripts are standalone, dependency-free Node (.mjs) or Bash, run from the target project's root, e.g.
node skills/architecture/nestjs-architecture/scripts/scaffold-module.mjs invoice --target-dir src/modules. Most support --help; scaffolds support --dry-run and abort on existing files unless --force.
Linter and catalog (scripts/)
scripts/lib/skills.mjsholds shared discovery and frontmatter parsing (real YAML via theyamlpackage). Discovery skips dot-dirs,node_modulesand*-workspacedirs.lint-skills.mjserrors: invalid YAML;namenot kebab-case, over 40 chars, not equal to its folder name (templates exempt), or duplicated across the catalog; non-SemVerversion; missingdescription; fewer than 2triggers; unknownagentsvalues; broken relative links in the body;file://or machine-specific absolute paths (/Users/…,/home/…) anywhere in the skill's text files.lint-skills.mjswarnings (fail under--strict):descriptionover 350 chars; no H1; a missing required section (Propósito, Cuándo Activar, Flujo de Trabajo, Reglas Críticas; matched in Spanish or English).build-catalog.mjswritescatalog/catalog.json(the packagemain) and rewrites the README between<!-- catalog-table:start/end -->and<!-- catalog-install:start/end -->. Never edit those blocks by hand.- Inside a skill, link to its own files with skill-relative paths, and show script calls as
node <skill-dir>/scripts/..., because skills are installed into other projects.
Git workflow and releases
- The husky
pre-commithook runspnpm test. Thecommit-msghook runs commitlint (Conventional Commits; allowed types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert; scope is typically the skill category, e.g.feat(flutter): ...). - CI (
.github/workflows/ci.yml) runs the strict linter, the catalog check, unit tests, shellcheck and the skill version-bump check on non-main pushes and PRs, and validates PR commit messages. - Skill versions (frontmatter) are independent of the repo version. Any change to a skill outside
evals/needs a SemVer bump; seedocs/CONTRIBUTING.md. - Pushes to
maintrigger semantic-release (.releaserc.json).featgives a minor bump;fix/perf/refactor/docsgive a patch;ci/choredon't release. npm publish is disabled, so the release only creates a GitHub release and tag.
Repo layout notes
skills/<category>/<skill-name>/holds the published catalog. When adding a skill, runpnpm catalog, then update the examples and structure tree inREADME.mdby hand.- A skill can depend on others through
requirements.skills(validated by the linter, exported asrequiresin the catalog).monorepo-architectureuses it and calls its siblings' scripts through<skill-dir>/../<skill>/scripts/, so keep those scripts' flags stable. templates/basic-skill/andtemplates/tool-assisted-skill/are the starting points for new skills. The linter validates them too.- Each skill has
evals/evals.json(skill-creator format:skill_name+evals[]withprompt,expected_output,filesrelative to the skill). Eval runs go in the git-ignoredevals-workspace/, never insideskills/. tests/*.test.mjs(Node's built-innode:test, no deps) cover the linter, the catalog generator, every scaffold's safety contract and output, the Dart import organizer,glab-cli'screate_mr.sh --dry-run, thegh-cliscripts (driven through a stubghonPATH), themonorepo-architecturescaffolds and boundary checker, the version-bump check, and the evals files. Run one file withnode --test tests/scaffolds.test.mjs, or one test with--test-name-pattern "<regex>"..agents/skills/skill-creatorand.claude/skills/skill-creatorare the vendored Anthropicskill-creatorskill (tracked inskills-lock.json). They are tooling for authoring and evaluating skills, not part of the catalog.
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.

