feat(skills): add reusable UX improvement workflow (#1845)

Capture task-grounded research, preserved evidence, wireframes before graphical
concepts and independent assessments with separate author/evaluator contexts.
Document frozen-method reuse, scoped feedback, null/zero arithmetic, coverage
and stopping rules without requiring a particular model, harness or subscription.

Personally authored by a scoped Codex agent. Fresh independent source and
forward-use review APPROVE; 14 package-focused checks pass. Retain the synthetic,
single-model limits and separate installation/activation authority.

Package manifest: b93d7836ed7c70db62386192d6e1db5c4f867f841aaa7645c3c861def5a9b140
This commit is contained in:
mos committed 2026-11-04 21:27:44 -06:00
1 parent bd8120318b
commit 05fdfef9ea
5 files changed
+170

No files matched your search

+14
View File
@@ -6179,3 +6179,17 @@ Lead-only live window checks, not executed here: (1) explicitly authorize and se
2026-11-04 — MVP 3 R1 remediation (#797/#1839): lead confirmed retained-history128/257 wake race with RED tests and repaired recovery to retain a complete reinspection cycle in bounded batches after overlap. Reviewer scratch plus source regressions and quiescent control4/4GREEN. Source remains uncommitted/unintegrated. Earlier parent broad run was mixed-candidate, ended143 without root terminal summary, and is not a final gate; excludedCLI compactions/revoke retry under short authorized TMPDIR passed6/6. R2 candidate and matching full-package verification pending.
2026-11-04 | #797 / Gitea #1839 R2 canonical integration verified | All12 non-log files equal independently approved/tested source manifest6daf0668101bbad030c45411304d0d049de5e4da32bdcb03c40095ed1c63128f;8 JS syntax checks and whitespace check passed. Canonical prior log bytes preserved and candidate author/lead suffixes appended. Retained gate coverage4333 distinct cases plus independent115 focused checks applies to identical source; no duplicate broad test run. Commit/publish and deployment remain separate operations; no live acceptance claimed.
2026-11-04 | #818 / Gitea #1845 skill integration phase started | Independently approved candidate02, exact3-file manifestb93d7836 and14 package-focused checks; fresh forward-use artifacts and synthetic/single-model limits retained. Integrate only new skills/ms-ux-improvement plus append-only records. No application/source-family overlap, installation, activation or publication.
## 2026-11-05 — UX improvement skill author phase (Vikunja #818; related Gitea #1844)
Before: clean isolated checkout at e9271841f3af23bf2a72aa17d9d67a1ec5abe017; no UX improvement skill. Scope: personally author skills/ms-ux-improvement, retain baseline/forward evidence at /mnt/storage/scratch/mosaic-lead/skill-ux-improvement/author/run-20261105T022125Z. Queue next refused linked worktree (exit 2); direct owner charter governs without queue/forge writes. Package-focused checks only; no application suites, commit, activation or publication.
## 2026-11-05 — UX improvement skill author phase completed (Vikunja #818; related Gitea #1844)
After: personally authored three-file skills/ms-ux-improvement coordinator package, complementary to existing frontend execution guidance; final candidate-02 content manifest b93d7836ed7c70db62386192d6e1db5c4f867f841aaa7645c3c861def5a9b140. Retained 19 bounded clean-context behavioral samples / 186 raw files: six unguided baselines, seven candidate-01 samples including ready-review control, six candidate-02 samples. Candidate-01's two unnecessary frozen-method recovery conditions and already-correct control remain recorded; narrowed wording and final tests show no extra gate, without causal/statistical improvement claim. Fresh package-focused skill-creator/resource validation passed for workspace, frozen snapshot and scratch copy; patch/whitespace, arithmetic, integrity, unchanged baseline and append-only ownership checks passed. Entry 637 words (2,210 total) and one-model synthetic/procedural-scope limits retained as author concerns. Exact source, patch, hashes, commands, raw evidence and independent-review brief: /mnt/storage/scratch/mosaic-lead/skill-ux-improvement/author/run-20261105T022125Z/HANDOFF.md. Author task complete; independent source approval pending. No application suites, commits, forge/queue writes, publication, installation, runtime activation or protected actions.
2026-11-04 | #818 / Gitea #1845 canonical skill integration verified | Exact3 reviewed Markdown files match source hashes; canonical skill-creator validator and whitespace checks pass. Independent review APPROVE/no findings,14 focused checks and a fresh bounded forward-use handoff retained. All prior canonical and author log bytes preserved. Package is available in source by explicit path; no managed/personal installation, activation, publication or user-acceptance claim. MVP activation remains pinned to parentbd8120318, independent of this skill commit.
+6
View File
@@ -2058,3 +2058,9 @@ are never rewritten or removed; corrections are new entries.
2026-11-04 — T3 MVP 3 independent lead — #797/#1839 R1 bounded-recovery correction and frozen replacement verification — source repair4/4GREEN; fresh R2/full-package gates pending, no commit/integration/live authority used.
2026-11-04 | Mos, root integrator | #797 / Gitea #1839 | Applied exact R2 non-log source, unioned append-only histories, verified all12 file hashes and8 JS syntax/whitespace checks. Independent R2 APPROVE and4333 matching local cases retained; initial author Terra and lead-correction Sol attribution preserved. Native Git lineage refusal recorded; no transport bypass, publication or live action.
2026-11-04 | Mos, root delivery coordinator | #797 / #818 | Committed reviewed exact MVP source locally asbd8120318 after4333 required local cases and R2 approval; source12/operational/schema checks match. Publication blocked by native helper anonymous-credential-refused, distinct from working Mos API access. Skill candidate02 verified and fresh independent review prepared. No bypass, push, installation, activation or live action.
2026-11-05 | codex-ux-skill-author | Vikunja #818 UX improvement skill, chartered isolated checkout | Started baseline behavioral evidence; author-only handoff, independent source review pending; no protected actions.
2026-11-05 | codex-ux-skill-author | Vikunja #818 UX improvement skill author handoff | Candidate-02 three-file package personally authored; package/copy/patch/arithmetic/integrity checks passed; 19 synthetic behavioral samples and all 186 raw artifacts retained with candidate-01 issue/correction and limits. Exact manifest b93d7836ed7c70db62386192d6e1db5c4f867f841aaa7645c3c861def5a9b140; evidence /mnt/storage/scratch/mosaic-lead/skill-ux-improvement/author/run-20261105T022125Z/HANDOFF.md. Independent source review pending; no commit, app suites, forge/queue writes, installation, activation or publication.
2026-11-04 | Mos, skill integrator | #818 / Gitea #1845 | Integrated exact independently approved ms-ux-improvement candidate02 into source;3hashes/validator/whitespace pass and author histories preserved. Separate commit from MVP; its activation target staysbd8120318. No install, activation, publication or live action.
+40
View File
@@ -0,0 +1,40 @@
---
name: ms-ux-improvement
description: Use when coordinating iterative UX/UI improvement of an existing product or design with independent assessment and revision handoffs. Not for designers or implementers executing an already scoped brief.
---
# UX improvement coordination
Improve users' ability to complete tasks through traceable revisions and independent evidence. Keep assessment, design authorship and functional delivery distinct. This coordinator skill complements `ms-frontend-design` execution guidance; neither is a required companion.
## Establish the working record
Recover the user need, primary tasks, current artifacts, constraints, owner decisions and authorized scope. A settled brief supplies alignment; ask only for consequential missing decisions. Record:
- Baseline identity, provenance, evidence kinds and known gaps.
- Success criteria, required coverage, iteration budget and stopping conditions.
- Agreed reviewer count/model configurations, tools, availability and role owners.
- Disjoint write paths, integration owner and implementation authority.
Preserve originals. Distinguish historical material, current captures, concept data and unverified claims. Every changed candidate gets a new identity and directory; retain old and revised wireframes and graphical artifacts for user review. Pin actual files with an immutable export or content manifest; a directory name alone is insufficient.
## Run the improvement loop
1. **Research narrowly.** Select relevant task/interaction examples. Record canonical URL, creator/product attribution, access status, useful pattern and adaptation limits. Mobbin is optional; public design systems and existing product patterns suffice. Keep licensed screenshots and private project evidence out of reusable packages.
2. **Freeze a new method before baseline scoring.** Read [assessment](references/assessment.md) for task questions, sources, anchors, weights, applicability, coverage and arithmetic. Reuse a supplied owner-frozen method; record missing detail as limitations. Label the project-authored heuristic explicitly. An untraceable old score is historical context, not a comparable baseline.
3. **Assess the pinned baseline independently.** Give agreed reviewers the same candidate and method in fresh contexts. Preserve actual model/tool choices and raw reports. Unavailable reviewers remain unavailable; never invent their result or silently replace an owner-selected choice. Continue independent work while reporting incomplete mandatory review.
4. **Design flows and states first.** Inventory applicable normal, loading, empty, decision, invalid, error, recovery, result and responsive states. Produce inspectable low-fidelity wireframes before graphical concepts. Label proposed and simulated behavior. Use [role briefs](references/briefs.md) for sanitized author and evaluator handoffs; never forward the whole coordinator packet.
5. **Freeze, check, assess.** Check candidate files, required states, provenance and pin before dispatch. Collect evidence locations, consequence, severity, confidence, score or null, coverage and limitations. Obtain separate independent reports before synthesis; do not supply peer verdicts or desired scores.
6. **Reconcile and iterate.** Verify arithmetic and eligible denominators; preserve rating and coverage disagreements. Send designers concrete score-free feedback. Changed candidates require fresh independent assessments under the frozen method. Correct factual/method errors with a linked addendum; do not pressure scores or alter the rubric to rescue a result. Stop at agreed criteria or budget and state remaining gaps. No resampling for a favorable score.
## Boundaries and delivery
Use minimal file scopes and clean contexts. Shared-filesystem instructions provide procedural blinding, not enforced isolation. Keep functional owners and their checkouts independent; route shared changes through the integration owner.
Unavailable capability means a named limitation. Continue authorized local work; never retry an explicitly disabled browser or bypass a refusal. Artifact rendering proves only what was rendered. A mockup or high score establishes neither functioning autonomy, live metrics, accessibility conformance, deployment nor user acceptance. Implementation and protected operations retain their own authority.
Deliver the pinned revisions, references, frozen method, raw reports, checked calculations, coverage/disagreements, feedback, stopping decision and next owner/action. Label incomplete stages precisely.
## Loading and instance lifecycle
Use native discovery or explicitly supply this folder with its references on other harnesses. For a reviewed Mosaic bundle, `bash scripts/skill.sh install ms-ux-improvement` copies it to the selected instance's available skills; `bash scripts/skill.sh activate ms-ux-improvement` enables it. Both are deliberate, separately authorized instance actions, never part of conducting a UX round.
@@ -0,0 +1,57 @@
# Frozen assessment method
Read when preparing or reconciling assessments. This is a heuristic design assessment informed by Laws of UX and accessibility practice, not an official numerical Laws of UX score, empirical usability benchmark or accessibility certification.
## Rubric record
When an owner-frozen rubric is supplied, preserve its declared questions, weights, scale and evidence rules. Record absent export detail as limitations; missing richer anchors or metadata alone does not create a method-recovery or approval gate. Return scoped observations and score/null judgments under the supplied method. A demonstrated method defect that prevents defensible assessment needs a traceable correction/version decision; do not silently replace the method.
For a new method, freeze its version and bytes before baseline scoring, with:
- User tasks, artifact type, relevant states/viewports and evidence needed for each question.
- Each question's ID, project-authored wording, positive weight, rating anchors and applicability rule.
- **Canonical source URL and attribution for each question's rationale**, plus what the source supports and whether it was consulted or remains unverified. Questions and weights belong to the project; a law does not prescribe them.
- Score range, null/partial-evidence handling, eligible denominator, coverage reporting and any aggregation rule.
- Success criteria and coverage gates, mandatory reviewers and iteration budget kept in the coordinator record. Preserve the owner's exact criteria; label additional assumptions.
Define anchors specific enough to support comparable judgments. An illustrative common scale is 0 = observed task-blocking problem, 1 = major difficulty, 2 = material ambiguity, 3 = minor friction, 4 = clear support across the question's declared scope. Adapt and freeze before use. `null` means evidence cannot support a rating; it is neither zero nor a pass. Record non-applicability with the reason fixed by the applicability rule. An unavailable reviewer has no report, not an all-zero report.
Useful primary references, selected for the task:
| Source and attribution | Possible application; limit |
| --- | --- |
| [Hick's Law](https://lawsofux.com/hicks-law/), Jon Yablonski, Laws of UX | Organize task choices and clarify the next action; no universal maximum menu length. |
| [Law of Proximity](https://lawsofux.com/law-of-proximity/), Jon Yablonski, Laws of UX | Keep related labels, controls and recovery guidance together; no prescribed spacing scale. |
| [Aesthetic-Usability Effect](https://lawsofux.com/aesthetic-usability-effect/), Jon Yablonski, Laws of UX | Appearance can affect perceived usability; polish does not prove task success. |
| [WCAG 2.2](https://www.w3.org/TR/WCAG22/), W3C; [Keyboard](https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html), [Focus Visible](https://www.w3.org/WAI/WCAG22/Understanding/focus-visible.html), [Error Identification](https://www.w3.org/WAI/WCAG22/Understanding/error-identification.html) | Ground applicable operability and error checks; static concepts cannot establish runtime conformance. |
| [Error message component](https://design-system.service.gov.uk/components/error-message/), GOV.UK Design System | Public recovery-pattern research example; adapt to actual product validation semantics. |
Use the relevant sources, not every source in this table. Do not claim a source was fetched when only its link was supplied. Without browsing, retain canonical links as unverified and proceed with useful authorized work.
## Raw report contract
Every evaluator returns:
1. Candidate and rubric pins, reviewer/model configuration, actual tools, date and assessment mode.
2. Evidence inventory by task/state/viewport, distinguishing current capture, historical evidence, static concept and intended behavior. Record what was not inspected.
3. Per question: score or null, concrete artifact/region/trace locator, observation, user consequence, **severity and confidence**, scope of the finding and limitations. Explain nulls and non-applicability.
4. Calculation inputs, eligible denominator, coverage and unresolved findings. Keep rating disagreements separate from coverage disagreements.
Partial evidence supports only its observed scope. A visible desktop error message may support a copy/hierarchy finding while mobile recovery and actual keyboard operation remain unverified. If a question spans these, use the frozen partial-evidence rule: separate scoped rows or report null when broader evidence is essential. Do not silently mark the whole question complete. An unseen state is not automatically a defect; a purported complete delivery missing a required artifact can separately fail its completeness requirement.
## Arithmetic and reconciliation
For a shared zero-to-maximum scale `M`, positive weights `w`, and eligible scored rows `E`:
```text
points = sum(w[i] * score[i] for i in E)
maximum = M * sum(w[i] for i in E)
percentage = 100 * points / maximum, or null when E is empty
row coverage = sum(w[i] for i in E) / sum(applicable weights)
```
Verify IDs, score ranges, finite positive weights, duplicates, applicability, sums and rounding. Exclude nulls from both numerator and eligible denominator; retain observed zeros. Disclose exclusions and state/viewport coverage separately: weighted row coverage is not interaction-state coverage. A high percentage over little evidence cannot satisfy a missing coverage gate.
Example: weights 5, 3, 2; scores 3, null, 2 on a 0–4 scale give `(15+4)/(4*7) = 67.8571%`, with weighted row coverage `7/10`. That says nothing about the unobserved weight-3 question. If another reviewer inspected a different scope, compare findings by question/state instead of pooling their percentages. Preserve raw reports and dissent; do not label an average consensus.
Correct a factual or arithmetic error in a traceable addendum identifying original report, evidence, correction and effect. If the method itself needs changing, preserve the original and version the new method; establish comparable assessments before claiming improvement. Stop and report an incomplete round when mandated evidence/reviewers or the iteration budget prevent the agreed decision.
@@ -0,0 +1,53 @@
# Role handoffs and one adaptable invocation
Read before dispatching design or assessment work. Keep separate files and allowlists for each role; inspect the actual outgoing files and their linked resources for leakage. Scoped designers should not discover/load this coordinator skill or its assessment reference. They may use available frontend execution guidance without receiving evaluation instructions.
## Coordinator record
Retain user decisions, baseline/candidate lineage, provenance, research attribution, frozen rubric, success criteria and score targets, budget, model/tool configuration, ownership map, raw reports, calculations, disagreements and decisions. Keep this record out of author/evaluator packets. The coordinator may know the acceptance target; it must not become a designer's optimization instruction or evaluator's desired outcome.
## Designer brief contract
Give each author only:
1. Audience and primary task, settled constraints, relevant score-free references and source/asset limits.
2. New revision identity, owned write paths, other owners, shared interface and integration owner.
3. Applicable flow/state/viewport inventory and stage: low-fidelity wireframes first, graphical concepts afterward. Mark concept data, assumptions and simulated behavior.
4. Actionable feedback as evidence/region → user consequence → requested improvement. Describe the problem without grading vocabulary, question IDs, weights, scores, threshold or peer verdict.
5. Expected artifact files, provenance, local checks, unresolved questions and a completion receipt to the integration owner.
Do not attach the rubric, raw scoring reports, target, coordinator packet, or links that pull them in. Plain task requirements such as input retention and keyboard access remain appropriate design constraints. Preserve author originals and old visual artifacts; deliver revisions in new directories.
## Independent evaluator brief contract
Give each agreed evaluator only:
1. Neutral user tasks and the exact candidate/evidence manifest, including provenance and known capture limits. If files or pins are missing, label the brief pending; do not invent an assessment.
2. The frozen rubric and the [raw report contract](assessment.md), including sources, arithmetic and confidence. Include only relevant assessment content in the outgoing packet.
3. Available capabilities and inspection scope. Ask for observed evidence, partial coverage and missing evidence separately.
4. A separate report destination and instruction to submit independently before reading peer reports or reconciliation.
Omit desired scores, prior/peer verdicts, author self-grades and design rationale that argues for a rating. Do not include an unfiltered baseline packet containing old reviews. When comparison is required, provide pinned raw baseline artifacts, not earlier judgments. Preserve the agreed model choices; a repeat from one evaluator does not impersonate an unavailable seat.
Fresh contexts and minimal file scopes reduce contamination. On a shared filesystem these are procedural controls, not filesystem isolation. State what was enforced and what was merely requested. Disclose contamination; do not describe a contaminated assessment as blind. When independent reviewers cannot run, prepare the briefs and artifacts and report that assessment remains incomplete; coordinator self-assessment is not a replacement.
## Example: reimbursement review
Invocation another project can adapt:
```text
Use ms-ux-improvement to coordinate improvement of our reimbursement inbox.
Keep the current brand and approval policy. Tasks: find a pending claim,
understand its missing receipt, and recover from an attachment failure.
Design artifacts only; two changed revisions at most. Use our selected
independent reviewers and existing acceptance criteria. Preserve originals
and return old/revised wireframes and graphical concepts with the evidence.
```
Recover the current artifact and reviewer choices first. If settled in the brief, proceed. Pin the historical inbox as `B0`, freeze a task-grounded rubric, and request independent baseline reports. Research public error/recovery patterns with attribution; a subscription is unnecessary.
A sanitized designer handoff for `R1/receipt/` might read:
> Help a claimant identify which receipt is missing and recover from an attachment failure without losing entered details. Keep existing labels and approval policy. Own only `R1/receipt/`; the inbox author owns `R1/list/`, and Lee owns the shared index/integration. In the failure panel the corrective action is separated from the error, making recovery hard to find: place the explanation and retry together. Deliver desktop/narrow wireframes for normal, empty, loading, invalid attachment, failure/retry and result, plus proposed focus behavior and concept-data notes. Graphical concepts follow the flow/state pass. Leave application code with its functional owner and return exact files and seam questions to Lee.
After real author deliveries, Lee checks the assembled state inventory and pins the candidate bytes. Each evaluator receives that identical manifest, frozen rubric and raw evidence, without targets or other reports. Return concrete score-free corrections for a new R2 if warranted; stop at the agreed criteria/budget and keep runtime, deployment and user-acceptance claims separate.