Skip to main content
A skill teaches an agent how: patterns, gotchas and the order to decide things in. An MCP server gives it live data: the component list for the installed version, a running app. Both are needed. heroui-react teaches composition, and the HeroUI MCP says which components exist today.

Three kinds, and where each lives

The spec engine

The spec flow is GitHub spec-kit, described on Spec lifecycle. The sdlc plugin no longer applies in this repository (ADR 0121 D3). Its failure-loop and durable-findings skills and eight of its roles are being ported into .agents/ under MIT (D2, D9); until they land, the procedures on Spec lifecycle are the reference.

Vendored upstream skills

Skills are checked into .agents/skills/ so that a clone, a second workspace and CI carry the guidance. Skills installed in a user’s home directory belong to one machine.
skills-lock.json records each source. Install and update through the CLI only. Do not edit an installed skill in place: write a house skill, or open a change upstream. That portability has a price. A vendored copy drifts from its source, silently, and nothing detects it. The mitigation is a rule: re-vendor deliberately, and when a vendored skill and its upstream disagree, upstream is the source. The families to install are listed below. Record each in this page when you add it.

House skills

A house skill that this repository writes carries a category prefix: backend-, frontend-, mobile-, devops-, security-, db-, ai-, domain-, testing-, docs-. Upstream skills keep their upstream names, so npx skills update keeps working. The tree is flat on purpose: a skill is one SKILL.md in one top-level folder, so categories live in the name, not in folders.

What is deliberately not vendored

A skill that is confidently wrong is worse than a missing one, because an agent follows it. The excluded set is not “less useful”. It is “would mislead someone working here”. Every absence has a recorded reason so nobody re-adds it as an oversight. The rule behind the table: this repository must not presume a product domain, a vendor or a technology it ships no configuration for. Anything that contradicts an accepted decision is excluded outright.

Adding a skill

  1. Is it upstream? Install it with npx skills add and record it here.
  2. Is it a procedure someone re-derived, twice? Write a house skill with a category prefix. This is also where a finding that outlives its fix lands when the class is “procedure”.
  3. Does it contradict an accepted decision or the not-built-yet list? Do not add it. Route to architecture-guardian.
  4. Hand the change to dependency-steward, who owns skills alongside catalogs.
Related: Roster, Hooks.