Skills & Agents Matrix
A reference card of the project-local Claude Code skills, agents, and rules
that ship with this repo (everything under .claude/). It is organized by
development lifecycle stage so a new developer can find the right tool for the
moment without scrolling through the dozens of global plugin skills.
How the three pieces fit together:
- Skills are invoked as
/skill-name (e.g. /feature LCO-240). They are
procedures — a curated set of steps Claude follows. Many also fire
automatically when your prompt matches their trigger phrases.
- Agents (
lco-*) are specialized sub-personas spawned via the Agent /
Task tool. Each runs with a focused toolset and a narrow mandate (implement,
review, scaffold). Most reviewer agents are read-only.
- Rules (
.claude/rules/*.md) auto-load into context based on file globs —
when you open or edit a matching file, the relevant rule is injected. You
never invoke them; they enforce conventions silently.
Project skills vs. global plugin skills: the tables below cover only this
repo's .claude/skills/. The much larger set (jira-compass,
ticket-driven-dev, urm, compass-memory, tmux-orchestrator, etc.) comes
from installed plugins and is documented separately. See CLAUDE.md and the
sibling CLAUDE_CODE_GUIDE.md for the broader plugin ecosystem.
Project Skills by Lifecycle Stage
Analyze & Plan
| Skill |
Trigger |
When to use |
analyze-feature |
/analyze-feature |
Pre-implementation analysis of complexity, risk, impact, and alternatives. Run before building anything non-trivial. |
react-architecture |
/react-architecture |
Deciding between a Zustand store, a custom hook, or local state; structuring performance optimizations. |
jira-report |
/jira-report |
Author an implementation report (architecture, decisions, pre-mortem) after finishing a feature or before complex work. |
Implement
| Skill |
Trigger |
When to use |
feature |
/feature LCO-XXX |
Full feature lifecycle with agent teams: requirements → plan → implement → verify. The main entry point for non-trivial work. |
api-endpoint |
/api-endpoint |
Step-by-step scaffold of a new endpoint across all layers (schema → repository → router → TS types → API client → hook). |
import-pipeline |
/import-pipeline |
Build an async import pipeline on the Service Bus → Azure Function → Cosmos DB pattern. |
agent-teams |
/agent-teams |
Reusable team configs (feature dev, code review, quality gate) for orchestrating multiple agents. |
ui-migration |
"migrate page", "ui migration" |
Migrate a page to the LCO design system + VirtualizedDataTable patterns from redesign wave 1; also checks migration status. |
backend-standards |
/backend-standards |
Python/FastAPI conventions — naming, router/schema/repository patterns, common pitfalls. Consult while writing backend code. |
code-standards |
/code-standards |
Frontend naming, TypeScript usage, and common pitfalls when creating components/hooks. |
design-system |
/design-system |
The LCO token reference — typography scale, color system, migration maps, component patterns. Always consult for UI work. |
Test & Quality
| Skill |
Trigger |
When to use |
testing-protocol |
/testing-protocol |
Mandatory build + lint checklist before committing. Spawns a Playwright subagent for UI changes. |
quality-checks |
/quality-checks |
Lightweight pass/fail list of every quality command. Quicker alternative to testing-protocol. |
ui-behavioral-testing |
"test the X page", "ux audit" |
Drive the app via chrome-devtools MCP: boot the stack, walk a route, capture console errors/failed XHRs/screenshots, write a report. |
test-data-generator |
"generate test data", "seed estimation items" |
Generate realistic services, estimation/budget items, COA/KPI, WBS, and packages via Cosmos MCP. |
Review
| Skill |
Trigger |
When to use |
pre-push-review |
/pre-push-review |
Local mirror of the GHA PR review bot — runs quality gates then the lco-pr-pre-review agent against origin/dev...HEAD. Run before pushing. |
pre-merge |
/pre-merge LCO-NNN |
SDD exit gate: runs all four gates (quality, acceptance, behaviors, veracity) and prints one GO/HOLD verdict. Mandatory before merge. |
check-acceptance |
/check-acceptance LCO-NNN |
Gate 2 of pre-merge — verifies every acceptance criterion in jira/<KEY>/spec.md has resolvable evidence. |
veracity-check |
/veracity-check LCO-NNN |
Confirms a branch diff actually delivers the ticket; flags out-of-scope drift and removed/renamed symbols with missed callers. |
Git & PR
| Skill |
Trigger |
When to use |
create-worktree |
"create a worktree", "worktree for LCO-NNN" |
Spin up an isolated git worktree via just worktree for parallel ticket work. |
git-commit-pull |
/git-commit-pull |
Perform a git commit or git pull following repo conventions. |
create-pr |
"create pr", "open pr" |
Generate a structured PR title/body, apply labels, and open the PR via gh (standards from 50+ merged PRs). |
pr-bot-review |
"review bot comments", "resolve PR comments" |
Fetch automated bot review comments, apply fixes, reply, resolve threads, post a summary. |
weekly-release-pr |
"weekly release pr", "cut the weekly release" |
Create/update the dev → main release PR, mirroring the cron GitHub Action. |
Data & Domain
| Skill |
Trigger |
When to use |
azure-cosmosdb-cli |
/azure-cosmosdb-cli |
Interact with Cosmos DB via Azure CLI — list databases/containers, query data, manage resources, troubleshoot. |
db-migration |
/db-migration |
Create and run Cosmos migrations — container creation, index policy updates, schema evolution, data backfills. |
onboard-cache |
"onboard cache", "bootstrap cache from scratch" |
One-time bootstrap of the domain cache from zero — walks every container/page/service and authors entries. Bypasses the inbox loop. |
refresh-cache |
"refresh cache", "sweep the diff" |
Cache-sweep orchestrator: gather → identify drift/new entities → stage → curate → resolve over a code window. |
intake |
"intake this", "classify this meeting/report" |
Classify a raw artifact (transcript, Confluence page, dev-chat fact) into staged candidate facts for later processing. |
curate |
"curate", "draft the cache edit" |
Workhorse of the inbox loop — drafts cache/intent YAML edits into pending entries (headless, code-walked, never fabricates). |
resolve |
"resolve", "process pending", "triage" |
Disposer stage — review one pending inbox entry, approve/edit/reject, and apply approved edits to canonical. |
Jira & Sprint
| Skill |
Trigger |
When to use |
jira-tickets |
a ticket key like LCO-240 in the prompt |
Load full context for a ticket from its synced jira/<KEY>/ folder (fields, comments, attachments, sibling spec/plan/notes). |
kickoff-jira-ticket |
"start", "kickoff", "scaffold" LCO-NNN |
Bootstrap a ticket — worktree off dev, synced jira/<KEY>/ folder with spec.md, and an initial .tdd/ subtask backlog. |
sprint-status |
"what's the actual status of the X sprint", /sprint-status |
Truth-sync report: Jira state vs reality (git commits, open PRs, worktrees) as a shareable HTML artifact. |
Docs & Context
| Skill |
Trigger |
When to use |
design-system |
/design-system |
(Also a reference) The canonical token/typography/color reference for any UI documentation or decision. |
Note: cross-cutting reference skills like design-system, backend-standards,
and code-standards are listed under Implement but double as living docs —
consult them whenever you need the canonical convention, not just while coding.
Project Agents (.claude/agents/)
Spawn these via the Agent / Task tool. Implementers write code; reviewers are
read-only and return reports.
| Agent |
What it does |
When to reach for it |
lco-fullstack-implementer |
Implements a feature spanning backend + frontend, backend-first (schema → repo → router → register → types → client → hook → page). |
Cross-stack features touching both FastAPI and React. |
lco-backend-implementer |
Backend-only features following repo patterns (BaseSchema, BaseRepository, require_auth, parameterized queries, async imports). |
New routers, schemas, repositories, services, or Service Bus/Function logic. |
lco-frontend-implementer |
Frontend-only features following repo conventions (hook factories, FSM dialogs, virtualized tables, 3-store rule, lazy routes). |
Pages, components, hooks, API clients, Zod forms. |
lco-api-scaffolder |
Scaffolds a brand-new endpoint end-to-end across all layers plus main.py registration. |
"scaffold an endpoint", "add a new API", "new CRUD resource". |
lco-design-system-migrator |
Replaces raw Tailwind (text-sm, bg-white, text-neutral-*, bg-blue-*) with semantic tokens without breaking layout. |
Migrating a page/component to design tokens, or fixing styling-rule violations. |
lco-code-reviewer |
Structured severity report (Critical/Warning/Suggestion/Positive) on security, data-loss, patterns, performance, type safety. Read-only. |
Reviewing a diff, branch, or file set before merge. |
lco-security-reviewer |
OWASP-tagged review: auth gaps, NoSQL injection, file-upload/path-traversal, blob SAS scope, XSS, secret exposure. Read-only. |
Security passes on auth, upload, or query code. |
lco-performance-analyzer |
Impact-ranked report: FE re-renders/memoization/bundle/over-fetch; BE Cosmos N+1, cross-partition, unbounded SELECTs, missing batch/gather. Read-only. |
Investigating slowness or auditing perf-sensitive changes. |
lco-veracity-checker |
Verifies a branch diff delivers a ticket's acceptance criteria from jira/<KEY>/spec.md; flags drift and orphaned callers. Read-only. |
Before a PR, or during refinement to check scope vs LCO-NNN. |
lco-pr-pre-review |
Local mirror of the GHA PR review bot scoped to git diff origin/dev...HEAD; one severity-tagged report + verdict, posts nothing. Read-only. |
Previewing what the PR bot will flag before pushing (used by pre-push-review). |
Auto-Loaded Rules (.claude/rules/)
These inject automatically when you touch a matching file (glob in the rule's
frontmatter). No invocation needed.
| Rule file |
Glob scope |
What it enforces |
backend-schemas.md |
backend/app/schemas/** |
Inherit BaseSchema/BaseDocument, camelCase Field(alias=...), per-operation schema classes. |
backend-routers.md |
backend/app/api/v1/routers/** |
require_auth on every endpoint, repo injection, response_model + status codes, register in main.py. |
backend-repositories.md |
backend/app/repositories/** |
Inherit BaseRepository[T], override get_partition_key(), parameterized queries only, async + 100-item batches. |
backend-services.md |
backend/app/services/** |
All async def, dependency injection, per-row error accumulation in imports, stateless services. |
frontend-components.md |
frontend/src/components/** |
Size limits (<500 lines, <8 useState, <6 props), interface {Name}Props, dialog naming, cn() merging. |
frontend-hooks.md |
frontend/src/hooks/** |
interface Options/Result, return an object, JSDoc @example, factory patterns for resources/lookups/dialogs. |
frontend-stores.md |
frontend/src/stores/** |
Only 3 Zustand stores, devtools action names, persist+partialize, flat state. |
frontend-api-services.md |
frontend/src/services/api/** |
Named {domain}Api object, async methods, AbortSignal support, URLSearchParams, no any. |
frontend-styling.md |
frontend/src/**/*.{ts,tsx,css} |
text-lco-* typography only, semantic color tokens (no raw text-sm/bg-white/text-neutral-*), cn() merging. |
em-template-columns.md |
Estimation column files (referenced via CLAUDE.md) |
Centralize all Excel column-letter math in estimation_columns.py; never hardcode a letter elsewhere — the EM-import drift trap. |
Typical Feature Flow
The canonical chain for a Jira-tracked feature:
/analyze-feature LCO-XXX — assess complexity, risk, impact, and
alternatives before writing code.
/feature LCO-XXX — plan and implement; spins up agent teams
(implementers + reviewers) for L/XL features.
/testing-protocol — mandatory build + lint gate; spawns a browser
subagent for UI changes.
/create-pr — generate a structured PR (title, body, labels, Jira link)
and open it via gh.
/pr-bot-review — resolve the automated bot review comments after the PR
is up.
For the merge gate, run /pre-merge LCO-XXX (or /pre-push-review
locally) to get a single GO/HOLD verdict before merging into dev.
Where to go next
- CLAUDE.md — the project's curated Skills Reference and Project Agents
sections, plus tech stack, commands, and critical-file map.
- CLAUDE_CODE_GUIDE.md (sibling doc) — the broader plugin ecosystem
(
jira-compass, ticket-driven-dev, urm, compass-memory,
tmux-orchestrator, MCP servers) beyond this repo's project skills.
- CONTEXT_MAP.md — the full audience-tagged inventory of context surfaces.