Reading the repo
Reading the repo
How to install on Linux
Production-grade engineering skills for AI coding agents.
Saved setup from 4 h ago
Will it work on my device?
docs/getting-started.mdagent-skills works with any AI coding agent that accepts Markdown instructions. This guide covers the universal approach. For tool-specific setup, see the dedicated guides.
Want a worked example before setting up your own project? The interactive tutorials walk through a greenfield build, a brownfield feature, and a safe automation loop with copyable prompts for Claude Code, Codex, or any other agent.
Each skill is a Markdown file (SKILL.md) that describes a specific engineering workflow. When loaded into an agent's context, the agent follows the workflow — including verification steps, anti-patterns to avoid, and exit criteria.
Skills are not reference docs. They're step-by-step processes the agent follows.
git clone https://github.com/addyosmani/agent-skills.git
Browse the skills/ directory. Each subdirectory contains a SKILL.md with:
Copy the relevant SKILL.md content into your agent's system prompt, rules file, or conversation. The most common approaches:
System prompt: Paste the skill content at the start of the session.
Rules file: Add skill content to your project's rules file (CLAUDE.md, .cursorrules, etc.).
Conversation: Reference the skill when giving instructions: "Follow the test-driven-development process for this change."
If your agent does not route skills natively, start with the using-agent-skills skill loaded. It contains a flowchart that maps task types to the appropriate skill.
If your host already discovers and activates skills from their descriptions, do not also paste using-agent-skills into an always-on system prompt or rules file. That creates two routers for the same task. Install the individual skills and let the host activate them on demand instead.
Install the pack from the existing project's root using the normal setup path for your agent, then keep working in that project. Skills activate for matching tasks; they do not require a new repository layout or a one-time conversion of existing code.
Do not copy this repository's root AGENTS.md or CLAUDE.md into the project.
Those files configure contributors to agent-skills itself. Add only the skills
and any project-specific instructions your agent normally reads. For a gradual
rollout in an established codebase, follow the Adoption Guide.
Rolling out to a real project? The Adoption Guide covers two end-to-end paths: the full lifecycle from day one for a greenfield project, and an incremental, verification-first rollout for an established codebase. The setup below is the quick version.
Load three essential skills into your rules file:
These three cover the most critical quality gaps in AI-assisted development.
For comprehensive coverage, load skills by phase:
Starting a project: spec-driven-development → planning-and-task-breakdown
During development: incremental-implementation + test-driven-development
Before merge: code-review-and-quality + security-and-hardening
Before deploy: shipping-and-launch
Don't load all skills at once — it wastes context. Load skills relevant to the current task:
frontend-ui-engineeringdebugging-and-error-recoveryci-cd-and-automationEvery skill follows the same structure:
YAML frontmatter (name, description)
├── Overview — What this skill does
├── When to Use — Triggers and conditions
├── Core Process — Step-by-step workflow
├── Examples — Code samples and patterns
├── Common Rationalizations — Excuses and rebuttals
├── Red Flags — Signs the skill is being violated
└── Verification — Exit criteria checklist
See skill-anatomy.md for the full specification.
The agents/ directory contains pre-configured agent personas:
| Agent | Purpose |
|-------|---------|
| code-reviewer.md | Five-axis code review |
| test-engineer.md | Test strategy and writing |
| security-auditor.md | Vulnerability detection |
| web-performance-auditor.md | Core Web Vitals & performance audit (via /webperf) |
Load an agent definition when you need specialized review. For example, ask your coding agent to "review this change using the code-reviewer agent persona" and provide the agent definition.
The .claude/commands/ directory contains slash commands for Claude Code:
| Command | Skill Invoked |
|---------|---------------|
| /spec | spec-driven-development |
| /constraints | constraint-driven-development |
| /plan | planning-and-task-breakdown |
| /build | incremental-implementation + test-driven-development |
| /build auto | planning-and-task-breakdown → incremental-implementation + test-driven-development (whole plan, one approval) |
| /test | test-driven-development |
| /review | code-review-and-quality |
| /code-simplify | code-simplification |
| /ship | shipping-and-launch |
| /webperf | web-performance-auditor (specialist agent, web apps only) |
Note: When installed as a Claude Code plugin you may see a warning like "Default commands/ folder is ignored because the manifest sets 'commands'". This is expected. The root
commands/directory belongs to the Antigravity CLI and is intentionally separate from.claude/commands/. All Claude Code slash commands load correctly from.claude/commands/; the warning is cosmetic.
The references/ directory contains supplementary checklists:
| Reference | Use With |
|-----------|----------|
| testing-patterns.md | test-driven-development |
| performance-checklist.md | performance-optimization |
| security-checklist.md | security-and-hardening |
| accessibility-checklist.md | frontend-ui-engineering |
| definition-of-done.md | all skills / every change |
| observability-checklist.md | observability-and-instrumentation |
| orchestration-patterns.md | doubt-driven-development |
Load a reference when you need detailed patterns beyond what the skill covers.
If you install one skill with npx skills add ... --skill <name>, only the
selected skills/<name>/ directory is copied. The skill still works, but paths
to supplementary checklists in the repo-level references/ directory are
unavailable. Use a whole-repo integration, clone the repository, or copy the
needed checklist into a references/ directory inside the installed skill.
This portability gap is tracked in
addyosmani/agent-skills#361.
The /spec and /plan commands create working artifacts (SPEC.md, tasks/plan.md, tasks/todo.md). Treat them as living documents while the work is in progress:
.gitignore — the workflow doesn’t require them to be permanent.The same artifacts are the handoff between sessions. For a small task, run the whole lifecycle in one session. For anything non-trivial, a fresh session per phase (spec → plan → build → review) keeps context focused — what carries the work forward is the approved files, not the conversation:
SPEC.md, or wherever your spec actually livestasks/plan.md and tasks/todo.md — or the external tracker the plan identifies, if you use oneBefore switching, make sure those files reflect the decisions that still apply, the scope you approved, the questions still open, the next task, and the current verification state (which tests ran, against what).
In the new session, read the actual files and look at git status before doing anything. Don't assume approvals you can't see in the artifacts. Treat a recorded "tests pass" as a claim about a specific baseline: re-run the checks it covers if the code has moved since, if it doesn't say what was run against what, or if you're about to touch the area it covered. If the baseline still holds, take it and get on with the next task — the point is a check proportional to what changed, not a full suite at every handoff.
/build auto can run the whole approved plan in one session. It does not require or perform a fresh process per task. Its per-task status updates, verification results, and commits make each completed task a restartable boundary, so a capable external harness may exit and resume there without depending on chat history.
A shell-level "Ralph loop" is harness behavior, not a separate skill workflow. If you use one, restart only after the current task has reached a recorded boundary; on re-entry, read the durable artifacts and repository state before selecting the next pending task. A process exit is not evidence that a task passed, and a restart must not bypass an approval gate. See the context-engineering skill's Restartable Session Boundaries section for the handoff checklist.
This doesn't need the /spec and /plan wrappers — plain requests work in any agent, including a npx skills add install that only has the skills:
Read SPEC.md, then break it into small verifiable tasks with acceptance criteria and dependency order. Save them to tasks/plan.md and tasks/todo.md. No product code yet — show me the plan first.
Read SPEC.md, tasks/plan.md and tasks/todo.md, then check where things actually stand —
git status, plus re-running whatever checks the recorded verification state no longer covers. Tell me the next unchecked task and anything still open, then stop: I'll confirm the scope before you start it. If the plan looks incomplete, say what's missing rather than rewriting it.
Fastest path — any agent, one command. The open skills CLI installs into 70+ agents (Claude Code, Cursor, Codex, Copilot, Cline, and more):
npx skills add addyosmani/agent-skills # install all 25 skills
npx skills add addyosmani/agent-skills --list # browse before installing
Or grab individual skills:
npx skills add addyosmani/agent-skills --skill code-review-and-quality # five-axis review before merge
npx skills add addyosmani/agent-skills --skill interview-me # requirements interrogation, one question at a time
npx skills add addyosmani/agent-skills --skill test-driven-development # red-green-refactor, enforced
Installing one skill? A per-skill
npxinstall copies onlyskills/<name>/, not the repo-levelreferences/directory. The skill still works, but paths to supplementary shared checklists are unavailable. Use a whole-repo integration, clone the repository, or copy the needed checklist into areferences/directory inside the installed skill. This portability gap is tracked in #361.
Prefer a native integration? Pick your tool below.
<details> <summary><b>Claude Code (recommended)</b></summary>Marketplace install:
/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills
SSH errors? The marketplace clones repos via SSH. If you don't have SSH keys set up on GitHub, either add your SSH key or use the full HTTPS URL to force HTTPS cloning during the marketplace-add step:
/plugin marketplace add https://github.com/addyosmani/agent-skills.git /plugin install agent-skills@addy-agent-skillsIf
/plugin installstill fails withgit@github.com: Permission denied (publickey)on Windows or macOS, the recommended workaround is to configure Git once to rewrite GitHub SSH URLs to HTTPS for subprocess clones:git config --global url."https://github.com/".insteadOf git@github.com:
Local / development:
git clone https://github.com/addyosmani/agent-skills.git
claude --plugin-dir /path/to/agent-skills
</details>
<details>
<summary><b>Cursor</b></summary>
Put workflow skills under .cursor/skills/ (sync from agent-skills/skills/) and short policies in .cursor/rules/*.mdc — do not paste full skills into rules. Both directories live in your project; this repo does not ship a .cursor/ folder. See docs/cursor-setup.md.
Install as a native plugin for skills and subagents. In affected Antigravity CLI releases, legacy command TOMLs are reported as converted but their wrapper commands are not discoverable; invoke the underlying namespaced skills directly. See docs/antigravity-setup.md.
Install from the repo:
agy plugin install https://github.com/addyosmani/agent-skills.git
Install from a local clone:
git clone https://github.com/addyosmani/agent-skills.git
agy plugin install ./agent-skills
</details>
<details>
<summary><b>Gemini CLI</b></summary>
Install as native skills for auto-discovery, or add to GEMINI.md for persistent context. See docs/gemini-cli-setup.md.
Install from the repo:
gemini skills install https://github.com/addyosmani/agent-skills.git --path skills
Install from a local clone:
gemini skills install ./agent-skills/skills/
</details>
<details>
<summary><b>Windsurf</b></summary>
Add skill contents to your Windsurf rules configuration. See docs/windsurf-setup.md.
</details> <details> <summary><b>OpenCode</b></summary>Copy skills to .opencode/skills/ (or ~/.config/opencode/skills/), add a project-local AGENTS.md, and use the built-in skill tool for agent-driven execution. Optional slash commands can be added under .opencode/commands/.
Use agent definitions from agents/ as Copilot personas and skill content in .github/copilot-instructions.md. The lifecycle slash commands (/spec, /plan, /build, /test, /review, /ship) are Claude Code commands and do not appear in Copilot; invoke the skills by name (/spec-driven-development, …) instead. See docs/copilot-setup.md.
Using the standalone copilot CLI? Install it as a plugin — see docs/copilot-cli-setup.md.
…
Then run bash setup.sh. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
git clone https://github.com/addyosmani/agent-skills.git cd agent-skills
Node.js
# https://nodejs.org/en/download (or nvm)
In the maintainers' order. Do the README instructions above first — they cover steps outside the terminal.
npx skills add addyosmani/agent-skills # install all 25 skills npx skills add addyosmani/agent-skills --list # browse before installing npx skills add addyosmani/agent-skills --skill code-review-and-quality # five-axis review before merge npx skills add addyosmani/agent-skills --skill interview-me # requirements interrogation, one question at a time npx skills add addyosmani/agent-skills --skill test-driven-development # red-green-refactor, enforced /plugin marketplace add addyosmani/agent-skills /plugin install agent-skills@addy-agent-skills /plugin marketplace add https://github.com/addyosmani/agent-skills.git /plugin install agent-skills@addy-agent-skills git config --global url."https://github.com/".insteadOf git@github.com: claude --plugin-dir /path/to/agent-skills agy plugin install https://github.com/addyosmani/agent-skills.git agy plugin install ./agent-skills gemini skills install https://github.com/addyosmani/agent-skills.git --path skills gemini skills install ./agent-skills/skills/ codex plugin marketplace add addyosmani/agent-skills codex plugin add agent-skills@agent-skills cmd skills add addyosmani/agent-skills # pick skills to install (project) cmd skills add addyosmani/agent-skills --global # install for all projects (~/.commandcode/skills/) cmd skills add addyosmani/agent-skills -s spec-driven-development # install a specific skill
No reports for Linux yet.
Opens a chat with this manual already filled in, for Linux. It uses your own account; gitmanual sends nothing.