# Artefact census

A point-in-time count of the package's artefacts per type, with a stated,
reproducible methodology. This is the **baseline the Phase-3 consolidation
discovery scan reports against** (positioning roadmap), and it resolves the
prior "≈530 vs ≈560" total-artefact ambiguity by being explicit about *what is
counted and how*.

> **Measured:** 2026-06-09 against `main`. Counts drift as artefacts land — to
> refresh, re-run the commands in **Methodology** and update the table. No
> version is pinned; this is a measurement, not a release target.

## Counts

| Type | Count | Counted from (source of truth) |
|---|---:|---|
| Skills | 227 | `src/skills/*/SKILL.md` |
| Rules | 79 | `src/rules/*.md` |
| Commands | 150 | `src/domains/**/command.md` |
| Guidelines | 75 | `docs/guidelines/**/*.md` |
| Personas (core) | 25 | `src/agent-src/personas/*.md` |
| Personas (advisors) | 5 | `src/agent-src/personas/advisors/*.md` |
| Contexts | 35 | `src/agent-src/contexts/**/*.md` |

## Totals — explicit groupings (resolving the ambiguity)

The total depends on which artefact classes you include. State the grouping, not
a bare number:

- **Catalog four** (skills + rules + commands + guidelines) = **531**.
  This is the set surfaced in [`catalog.md`](catalog.md) as the public capability
  surface.
- **+ personas (core + advisors, 30)** = **561**.
- **+ contexts (35)** = **596** (contexts are reviewer/lookup material, not a
  user-invoked surface — usually excluded from "capability" totals).

The "≈530" figure was the catalog four; "≈560" added personas. Both were
correct for their grouping; the ambiguity was an unstated scope.

## Methodology

All counts come from the **source of truth** (`src/`, and `docs/guidelines/` for
guidelines), never from a generated projection (`dist/agent-src/`, `.augment/`,
`.claude/`). Reproduce:

```bash
ls -d src/skills/*/SKILL.md            | wc -l   # skills
ls    src/rules/*.md                   | wc -l   # rules
find  src/domains -name command.md     | wc -l   # commands
find  docs/guidelines -name '*.md'     | wc -l   # guidelines
ls    src/agent-src/personas/*.md      | wc -l   # personas (core)
ls    src/agent-src/personas/advisors/*.md | wc -l   # advisors
find  src/agent-src/contexts -name '*.md'  | wc -l   # contexts
```

Notes:

- **Commands** all live under `src/domains/<pack>/.../command.md` (the
  `src/agent-src/commands/` legacy location is empty).
- **Skills vs commands as "Claude skills":** Claude Code surfaces both skills and
  commands as `.claude/skills/` entries (≈377), which is why a tool-side count
  differs from the per-type source count. The census counts by **artefact type at
  source**, which is the stable denominator for the Phase-3 scan.
- **Public subset:** [`catalog.md`](catalog.md) publishes the catalog four minus
  artefacts marked non-public in frontmatter; it is the consumer-facing list, not
  the full source census above.

## See also

- [`catalog.md`](catalog.md) — the public capability surface (regenerated by `task generate-index`).
- Positioning roadmap Phase 3 — the consolidation discovery scan that reports against this baseline.
