(marathon) Use before writing code for a product feature: spec, plan with threat model, then tasks. Run this only when the user invokes it by name ($uak-spec or /uak-spec); never start it on your own.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Is that skill safe to install?
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
Are you the author of Uak Spec?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/joahanmorales-uak-spec)
---
name: uak-spec
description: "(marathon) Use before writing code for a product feature: spec, plan with threat model, then tasks. Run this only when the user invokes it by name ($uak-spec or /uak-spec); never start it on your own."
disable-model-invocation: true
---
<!-- Generated by scripts/gen_harness.py from .claude/commands/uak-spec.md; edit that file, not this one. -->
Arguments (what the user typed after the command, `<arguments>` below): <feature-name>
Only when `Mode: marathon`. In any other mode, say so and stop. Feature: <arguments>
1. Read `.uak/PROJECT.md` (principles, NFRs) and the relevant ADRs in `docs/adr/`.
2. Write `docs/specs/NNN-<name>/spec.md` from `.uak/templates/specs/spec.md`: problem, users, EARS criteria, out of scope, open questions. Show it to the human and wait for an OK.
3. Write `plan.md` from `.uak/templates/specs/plan.md`:
- design, data and migrations (expand/contract), contracts;
- a STRIDE threat model, if the feature touches a sensitive area;
- observability, flag, rollout, rollback and cost.
4. Anything costly to reverse gets an ADR (`.uak/templates/specs/adr.md`).
5. Add tasks of 1 day or less to `.uak/TASKS.md`, each starting with a test. Run `uak graph` and `uak lint`, then open the `plan: <name>` PR for human review.