aops-core/skills/design-rubric/SKILL.md
Design-stage fitness rubric — persona immersion, scenario design, dimensions that define what excellence looks like for the people a feature serves. Two modes — author (produce a rubric for a new spec) and critique (red-team an existing spec). Output lives on the spec, not in the verification brief. Owned by pauli.
npx skillsauth add nicsuzor/academicops design-rubricInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create or red-team a qualitative Fitness Rubric for user-facing features to define what excellence looks like. The rubric lives directly on the spec or epic body under ## Fitness Rubric.
A rubric is required if:
If these apply and a rubric is missing at verify time, halt with: REVISE — fitness rubric missing; escalate to pauli/design-rubric.
**load-bearing** if applicable (marsha cannot PASS if this dimension is poor).When the feature surfaces the user's OWN data or view ("show me my sessions", "my tasks", "where I was"), a generic instance of the thing appearing is not proof. The rubric must name the principal's concrete identifying signal — the exact fields, account, host, or launch-context that mark the artifact as HIS instance — so verification can later reproduce the principal's literal view and confirm his own data is present. Treat this as load-bearing on any "show MY X" feature: a generic-instance pass is a FAIL.
Save directly to the spec or epic task body:
## Fitness Rubric
**Persona:** <situational paragraph>
**Scenarios:**
- Golden: <entry / goal / constraints / success feel>
- Stressed: ...
- Edge: ...
**Dimensions & quality spectrum:**
- <dimension question> — excellent: <prose>; poor: <prose>
**Red-team notes (critique mode only):**
- <unveiled assumptions / gaps identified>
| Anti-pattern | Instead | | :------------------------- | :------------------------------------------------ | | Binary Pass/Fail tables | Narrative quality spectrum | | Point scoring (e.g. 7/10) | Qualitative judgment citing evidence | | Demographic personas | Situation-first personas (current context, state) | | Rubric in the verify brief | Rubric in the spec; brief links to it | | Skipping the stressed path | Focus on the depleted-user scenario |
Task(
subagent_type="aops-core:pauli",
prompt="Author a Fitness Rubric for <spec or epic>. Mode: <author | critique>. Land it on the spec body under `## Fitness Rubric`."
)
data-ai
Canonical session close — commit, push, PR, release_task, reflection blocks, handover. Use /dump for emergency bail (no commit/PR/reflection).
data-ai
Emergency session bail — fast resume task + short handover, no commit/PR/reflection. For when you (or the user) need a clean context now. Use /end-session for canonical close.
data-ai
Daily note lifecycle — compose and maintain a factual daily note. Reports the state of the day; does not prioritise or recommend. SSoT for daily note structure.
testing
Launder supervisor/worker task-log output into a Nic-facing narrative — what happened, where things are headed, and what (if anything) is genuinely his to decide. Never relays raw process detail (worker IDs, thread pointers, log paths) or verbatim task-log stream-of-consciousness.