AI Unified Process core - stack-agnostic requirements, entity model, and use cases, plus the construction orchestrators for layer plugins
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Audit the use case $ARGUMENTS (UC-XXX) against the code
and tests that are supposed to realize it, and report the result.
This skill is the front door to the read-only uc-coverage-layered sub-agent of aiup-core. The audit
checklist — how coverage units are derived, which markers to search for, how each unit is judged —
lives in agents/uc-coverage-layered.md at the plugin root (locate it with a glob for
**/agents/uc-coverage-layered.md) and is deliberately not repeated
here, so the two cannot drift apart. Your job is argument parsing, delegation, faithful
presentation of the report, and offering the next step.
The report is the deliverable. You do not fix what it finds.
Everything is parsed out of $ARGUMENTS; the tokens may appear in any order.
| Token | Meaning |
|---|---|
UC-001, UC001, uc 1, or a path to a specification | the artifact to audit — normalize to UC-001, zero-padded to three digits |
TC-001, TC001 | a journey — hand off to /test-case-coverage TC-XXX |
implementation, impl, code | mode implementation |
tests, test | mode tests |
both, or no mode token at all | mode both (the default) |
wip, --wip, work in progress, in progress, draft | pass the work-in-progress qualifier through |
| two or more ids | a bounded sweep of exactly those ids |
| nothing | see Sweeps |
Three parsing rules carry weight:
both. Silently narrowing to
implementation recreates the very gap this skill exists to close.Auditing UC-001, mode both.),
so a wrong parse costs one rerun instead of producing a wrong verdict.docs/use_cases/ (module subfolders included) or docs/use-cases/ (both spellings are in
use), list the near matches and ask. Never audit against a specification you inferred from code.$ARGUMENTS into the id or ids, the mode, and the work-in-progress flag. With no id, go
to Sweeps.docs/use_cases/**/UC-XXX-*.md (also check docs/use-cases/).
Stop and ask if it does not.Hand the audit to the read-only uc-coverage-layered sub-agent of aiup-core (it may appear as
aiup-core:uc-coverage-layered). Pass exactly the id, the mode, and — when it applies —
work in progress, and nothing else:
UC-001 both
UC-001 tests
UC-001 implementation work in progressDo not add a summary of the specification, a list of the files you believe implement it, or what you expect the answer to be. The agent must find its own evidence; a caller-supplied file list is the fastest way to turn an audit into a rubber stamp.
Present the report as it came back — the heading, the score line, the full matrix, ### Gaps,
### Drift, ### Open questions, and ### Suggested status. Do not summarize it into prose, do
not drop the covered rows to save space, and do not change a verdict. The matrix is the
deliverable; if you disagree with a verdict, say so underneath it and leave the row alone.
/use-case-implement UC-XXX (or /use-case-implement UC-XXX service) for implementation gaps,
/use-case-test UC-XXX for test gaps — narrowed to a layer below the integration layer of
docs/architecture/stack.md (/use-case-test UC-XXX service) only when the report says the unit is unreachable from
it — /stack when the report says docs/architecture/stack.md or its
Integration layer table is missing, and a rerun of the layer skill named in the Layers table when the report says its Markers rows
are missing (the layer skills own those rows; /stack adds only the All row; a test skill below
the integration layer that never ran has none to add). Offer them; run one only if the user says yes./use-case-spec UC-XXX adds the behaviour) or the code (/use-case-implement removes it) —
and offer only the command that matches the answer. Never pick a side yourself: changing the
specification to match the code, or the code to match the specification, without that decision
is what sends /spec-review and /use-case-coverage round in circles.Tested suggestion, ask whether the
suite passes.### Suggested status on as a suggestion, and name the line that would change. Do not
edit the specification's **Status:** line as part of this report./open-questions answer OQ-XXX for an Open one
and the skill that resolves an Answered one, and never record a gap of the report as a question.The agent starts from scratch every time and does not know its previous verdicts; you do. When this conversation already holds a report for the same id and mode, add one section under the report — the matrix itself stays exactly as the agent returned it:
### Since the last run
- Closed: BR-002, A1
- New: A3 — `PersonForm.java` changed since the last run
- Changed without a change: Step 4 Covered → Partial; neither the specification nor the files
named in the row changed
- Still open after a fix aimed at it: Post-S-1Covered or n/a, the audit is finished. Do not suggest a further run.Sub-agents are Claude Code-specific and are not part of the Agent Plugins standard. Where the host
has none, locate agents/uc-coverage-layered.md with a glob for **/agents/uc-coverage-layered.md — hosts that
install skills one folder at a time do not expose the plugin root, so never resolve it relative to
this skill's folder — and follow it yourself, start to finish, as an instruction document; its
checklist does not depend on Claude Code. If it genuinely is not there, say so rather than
improvising an audit from memory. The
checklist is the skill.
Running it inline costs you the agent's tool restriction and its clean context, so two rules apply
on top of it: re-read the specification and the code from disk instead of relying on what you
remember writing earlier in the conversation, and treat the agent's ## DO NOT as binding on
yourself — above all "no file:line, no Covered".
With no id: if the conversation has just been working on a specific UC-*, propose that
one and ask. Otherwise list what is there — a glob over both use case directories plus a grep
for the **Status:** line — and ask which to audit. Do not audit everything by default.
When the user does ask for a sweep ("all", "every use case", "sweep"), it is a triage pass, not thirty audits:
**Status:**,
plus one tree-wide grep for the literal id to see whether any implementation marker and any
test marker exist. Two or three tool calls for the whole project.Implemented or Tested but a marker is missing, or the status is Approved while markers
exist (a status lagging behind the code). Default cap: five full audits per invocation, run
one at a time.**Status:** line.agents/uc-coverage-layered.md
owns it..tessl-plugin
skills
acceptance-protocol
references
business-process
entity-model
references
next
open-questions
references
release-notes
references
requirements
reverse-engineer
spec-review
stack
references
test-case
test-case-coverage
test-case-implement
use-case-coverage
use-case-diagram
references
use-case-implement
references
use-case-spec
use-case-test
references
user-guide