Agent skills for Claude Code and other AI coding agents.
Skills are reusable instruction sets that extend AI coding agent capabilities. Each skill is a directory containing a SKILL.md file with YAML frontmatter and markdown instructions, plus optional scripts/, references/, and assets/ directories.
Skills follow the open Agent Skills specification.
# Via skills.sh CLI (works with 40+ agents)
npx skills add EthanSei/skills
# Via Claude Code plugins
/plugin marketplace add EthanSei/skills# Claude Code — install a named pack
/plugin install <pack-name>@ethansei-skills# Via skills.sh CLI
npx skills add EthanSei/skills --skill <skill-name>Copy or symlink a skill directory into .claude/skills/ (project) or ~/.claude/skills/ (global).
Packs are named bundles of related skills that can be installed and removed as a unit. Each pack is defined as a plugin entry in .claude-plugin/marketplace.json.
| Pack | Description | Skills |
|---|---|---|
| None yet |
| Skill | Pack | Description |
|---|---|---|
| code-discipline | — | Language-agnostic engineering discipline — minimal changes, no speculative code, clarity over cleverness |
| speak-memory | — | Persistent story-based memory that tracks work across sessions with auto-compaction (~1.5k tokens) |
| tdd | — | Test-driven development — red-green-refactor cycles with mandatory test runs and closing audit |
-
Copy the template:
cp -r template/ skills/my-skill-name/
-
Edit
skills/my-skill-name/SKILL.md:- Set
name:to match the directory name (lowercase, hyphens only) - Write a clear
description:that includes trigger keywords - Add instructions in the markdown body
- Set
-
Optionally add supporting files:
scripts/— Python scripts using PEP 723 inline metadata for deps (run withuv run)references/— Detailed documentation loaded on demandassets/— Templates, data files, schemas
-
Add the skill to a pack in
.claude-plugin/marketplace.json(or create a new pack) -
Update the tables in this README
Packs are defined in .claude-plugin/marketplace.json as plugin entries. Add a new entry to the plugins array:
{
"name": "my-pack-name",
"description": "What this pack is for",
"source": "./",
"strict": false,
"skills": [
"./skills/skill-one",
"./skills/skill-two"
]
}A skill can belong to multiple packs. Users install a pack with:
/plugin install my-pack-name@ethansei-skills
.
├── .claude-plugin/
│ └── marketplace.json # Skill packs and plugin config
├── skills/
│ └── <skill-name>/
│ ├── SKILL.md # Required: frontmatter + instructions
│ ├── scripts/ # Optional: Python helper scripts
│ ├── references/ # Optional: docs loaded on demand
│ └── assets/ # Optional: templates, data files
├── template/
│ └── SKILL.md # Starter template for new skills
├── CLAUDE.md # Project conventions
├── pyproject.toml # Python tooling (ruff)
└── LICENSE # MIT
MIT