AI Unified Process - stack-agnostic core methodology (requirements, entity model, use cases)
92
95%
Does it follow best practices?
Impact
92%
1.29xAverage score across 12 eval scenarios
Low
Low-risk findings worth noting
Create or update use case specification documents for $ARGUMENTS in docs/use_cases/. Each use case describes a complete interaction between an actor and the system to achieve a goal.
One file per use case, written to docs/use_cases/UC-XXX-<kebab-case-name>.md where:
UC-XXX is the use case's three-digit ID (e.g. UC-001).<kebab-case-name> is the use case name taken verbatim from the use case
diagram (docs/use_cases.puml), lowercased with spaces replaced by hyphens.
Do not paraphrase, expand, or reorder the words.| Use case name in diagram | Correct filename |
|---|---|
Register Account | docs/use_cases/UC-001-register-account.md |
Log In | docs/use_cases/UC-002-log-in.md |
Place Order | docs/use_cases/UC-001-place-order.md |
UC-XXX IDs come from the diagram and never repeat.BR-XXX business-rule IDs are unique across every file — they do not
restart at BR-001 in the second file. If UC-001 ends at BR-003, UC-002
starts at BR-004.Use references/use-case.md as the document structure, and see references/example.md for a complete worked example — actor-focused steps, alternative flows that reference specific step numbers, and paired success/failure postconditions.
| Status | Description |
|---|---|
| Draft | Initial version, still being written. |
| Reviewed | Complete, awaiting stakeholder review. |
| Approved | Reviewed and approved for implementation. |
| Implemented | Implementation complete, pending testing. |
| Tested | All tests pass, pending final acceptance. |
| Done | Fully implemented, tested, and accepted. |
| Obsolete | No longer valid, superseded by another use case. |
| Do | Don't |
|---|---|
| "User clicks Save button" | "User triggers onClick handler" |
| "System validates the email format" | "System runs regex /^[\w]+@[\w]+$/" |
| "System displays error message" | "System throws ValidationException" |
| "User enters check-in date" | "User populates dateField component" |
| "System stores the reservation" | "System executes INSERT INTO reservations..." |
| "System records the new account" | "System runs INSERT INTO users / SELECT ..." |
| "System sends a confirmation email" | "System opens an SMTP connection to sendmail" |
| "System securely stores the password" | "System hashes the password with bcrypt/SHA + salt" |
| "System signs the user in" | "System issues a JWT / signs a token with expiry" |
Steps describe what the actor and system achieve, never how it is implemented. Keep out protocol and infrastructure terms (SMTP, JWT, bcrypt, hashing, SQL/INSERT/SELECT, HTTP verbs, class and exception names) — those belong in the implementation, not the specification.
docs/requirements.md and docs/use_cases.puml.UC-XXX ID and name from the diagram.Use Case ID, primary actor, goal, and a Status
from the "Status values" list above.(step N) (e.g. Payment is declined (step 7)); andUse case continues at step N. or Use case ends.BR-XXX IDs. When writing more than one
use case in this task, keep BR-XXX IDs unique across all files (never restart
at BR-001 — see "Scope").docs/use_cases/ and confirm every UC-XXX from your scope has exactly one
file present, named UC-XXX-<kebab-case-name>.md (kebab-case of the diagram
name — e.g. Log In → UC-002-log-in.md, never UC-002-login.md). Rename any
mismatch. Then search every file you wrote for these forbidden words and rewrite
the step at the business level if any appears: SMTP, email server, JWT,
token, bcrypt, hash, salt, SHA, SELECT, INSERT, SQL. A
registration or login use case must say "System verifies the credentials" /
"System confirms the account" — never how the password or session is handled.Before considering the document done, verify every item:
UC-XXX-<kebab-case-name>.md using the name from the diagram, and documents exactly one use case.Use Case ID (UC-XXX), primary actor, goal, and a valid Status value.(step N).Use case continues at step N. or Use case ends. — never open-ended.BR-XXX ID; across multiple files in one task, the IDs are unique and do not restart at BR-001..tessl-plugin
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
skills