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
The full rules behind the section of the same name in /use-case-test. Layer test skills that
refer to "Which Layer Tests What" of /use-case-test mean these rules.
The Integration layer table under the Layers table of docs/architecture/stack.md names, per entry layer, the
layer whose test skill runs in process against the real service and database. /stack derives it; look the
layer up, never derive it again. Its tests exercise every layer below it for real, so a use case is tested once,
there — not once per layer:
/use-case-test) rather than leave them to go
stale. And when the integration layer's test skill
reports units it cannot reach through its entry point (a service method only a job calls, a query only another
use case's view runs), the test skill of the layer that owns each unit runs for exactly those units. Otherwise a
lower layer is written only when the arguments name it.**E2E scope:** line under the Integration layer table reads Use cases and test cases or is
missing. Test cases only leaves browser tests to /test-case-implement: the use case gets none.service is named. /spring-service-test states this.When a layer has nothing of its own to test for this use case, its test skill says so instead of writing a test that repeats another layer.
A use case whose **Secondary Actors:** line names a system of the ## External systems table of the stack file
calls that system through the Client layer (the layer catalog of /stack, "External systems"). No test of any
layer reaches the real system, a provider's sandbox included:
@TestBean or the project's equivalent in an
in-process test — and tests the use case as always: the main success scenario with the fake's normal answer,
every alternative flow the external system causes by switching the fake to it (declineNext()), and the
postconditions, including what was sent (charges()). Never a stub server, never a real call. A test skill that
finds no fake for a mapped system reports it and runs the client test skill's fake first, rather than mocking the
adapter ad hoc.<system>.base-url points at a stub server (WireMock, or what the project uses) that answers the main
success scenario. A flow the external system causes is left to the integration layer unless the project's stub
can be switched per test. When the project has no such profile, the E2E test skill says so and leaves out the
steps that call the system; it never points the application at the real one.The **Layers:** line of the use case (German **Schichten:**) names the
entry layers that offer it — UI, API, or Service alone; without the line, every entry layer of the project
does. The layers it leaves out get no tests, and E2E runs only when the use case is offered through the UI and the
E2E scope covers use cases. A
client-side UI that reaches the service through the API (Angular) implies its API layer: UI there runs the API
test skill too, as the integration layer (the layer catalog of /stack, "Entry layers of a use case"). An
entry layer the line names that the Layers table marks – is a contradiction between the specification and the
architecture: stop before the first layer and ask whether /stack adds the layer or /use-case-spec UC-XXX
corrects the line. The use case's integration layer is the first row of the Integration layer table that its
**Layers:** line names, in the table's order UI, API, Service; without the line, the first row. Name it in the
opening line.
When the stack file has no Integration layer table — or only the one-line **Integration layer:** <layer> of an
earlier version, with no table under the label — do not derive the layer here: say so, stop, and hand off to /stack, which writes the
table without touching the rest of the file.
.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