78 Commits

Author SHA1 Message Date
Jeremy Dawes 0aa0f4437e Prune pass: cut brains-trust (dotjez canonical) + dead command, fix public hygiene, de-rot stale facts
- dev-tools:brains-trust CUT — its frontmatter was broken (orphaned list
  items after the description failed strict YAML, so routing never saw
  it) and dotjez's brains-trust is the canonical public home. The unique
  operational references (provider API patterns, prompt templates)
  salvaged to private knowledge before removal. README points at dotjez
  for the thinking skills.
- dev-tools /agent-browser command CUT — invoked a skill that doesn't
  exist in this marketplace.
- PUBLIC HYGIENE: real Cloudflare account IDs replaced with placeholders
  in cloudflare-api references; Jezweb-internal paths genericised in
  ux-audit config + ux-compare.
- Stale facts: codex-review o3 reference, elevenlabs model/pricing table
  replaced with verify-live guidance (lineups rot), dead
  manifest-validator URL, marketplace.json still advertising the removed
  walkthrough-video skill.
- Trigger collisions: codex-review and roadmap drop phrases that collide
  with brains-trust / plan-and-build; deep-research description now
  disambiguates from the cited-research harness.
- README/CLAUDE.md: skill counts removed (they had already drifted:
  claimed 60/63, actual 64), rows corrected. Counts are derived data;
  the folders are the truth.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:18:29 +10:00
Jeremy Dawes ef490f88a7 fork-discipline: trim Tips (391 → 389 lines)
Drop 2 of 6 bullets that restated body content (boundary-map value
and 'mostly the same except' merged into feature-flags bullet).

Refs #90.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:30:47 +10:00
Jeremy Dawes 9ddb772fda deep-research: renumber duplicate workflow steps 7,8 → 9,10
The Workflow section had two '### 7.' and two '### 8.' headings.
Technical Research and Synthesis are renumbered to 9 and 10.

Closes #88.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:29:43 +10:00
Jeremy Dawes 305dc73b3b onboarding-ux: fix audit report path mismatch
Phase 1 wrote to .jez/artifacts/onboarding-audit.md but the Output
section listed the same artifact at .jez/artifacts/onboarding/audit.md.
Match Phase 1 to the Output section layout (subdirectory).

Closes #89.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:29:43 +10:00
Jeremy Dawes 795984271c sweep: push descriptions to inline format + pushier triggers (19 skills)
Per SKILL_SHAPE.md and Anthropic's skill-creator guidance, descriptions
should be pushy (Claude under-triggers neutral descriptions) and use
the spec's preferred inline single-string format rather than YAML
folded scalars.

This commit applies that mechanical change across 19 skills that were
still using the older folded-scalar style. Body content is unchanged
in every file.

Affected:
- cloudflare-worker-builder
- favicon-gen, icon-set-generator
- brains-trust (also collapses redundant `triggers:` array into description)
- gws-install, gws-setup, nemoclaw-setup
- shopify-content, shopify-setup
- wordpress-elementor, wordpress-setup
- aussie-business-english, us-business-english, uk-business-english, nz-business-english
- proposal-writer, resume-cover-letter, strategy-document, award-application

Per-skill body audits will follow as separate commits where they earn
their own diff.

Refs #90.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:28:17 +10:00
Jeremy Dawes acf0342997 vitest: trim per SKILL_SHAPE.md (455 → 455 lines)
Push description with explicit trigger phrases (add tests, set up
Vitest, migrate from Jest, fix testing infrastructure). Body is
already tight — mostly config snippets and code examples, all
load-bearing.

Refs #90.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:25:31 +10:00
Jeremy Dawes 57e060f4a9 ux-audit: trim per SKILL_SHAPE.md (494 → 473 lines)
First skill audit under the SKILL_SHAPE.md guide (commit bbfca32).
Pure removals — no procedure / contract / gate changes.

- Drop "Why this skill exists in v2" — justifies the skill but doesn't
  help Claude execute. The description already carries the trigger.
- Drop "v2" from the H1 — the version number is internal history
- Cut 5 of 9 Tips bullets that restated body content already covered
  in the Verdict states, Phases, Persona Lock, and Multi-Pane Stress
  sections
- Tighten allowlist-for-known-noise explanation; format details live
  in the reference
- Collapse "This is the thorough audit. There is no quick mode."
  redundant phrase
- Dedupe Round-trip Workflow Integrity — covered in Scenario 10 of the
  battery, the Phase 3 mention now points at it
- Tighten brains-trust cross-reference; dedup detail compressed

Closes #82 (visual-polish absorbed — Phase 4 Visual Polish Sweep + refs/visual-polish.md)
Closes #80 (component-state matrix in perfection-checklist; lifecycle is Scenario 9)
Closes #75 (live-smoke as Live Interaction Smoke section; SDK contract checks inline)

Refs #90.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:11:18 +10:00
marcusjezweb 6fec62b2f0 ux-audit: project-adaptation reference for non-default stacks
Adapts the skill across project types. New references/project-adaptation.md (339 lines) covering path conventions, URL discovery, test-auth alternatives, seed-script architectures, build verify, SDK contract examples, reference apps by category, persona library by app type, and bootstrap protocol for brand-new projects. Targeted edits to existing references reframe stack-specific content as examples rather than defaults. Universal discipline (interaction-first methodology, hard gates, output discipline) preserved unchanged. bin/skill-lint passes (494 lines).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-05 10:15:32 +10:00
marcusjezweb 077030f17f ux-audit v2.1: audit-output-discipline + persona-overload + Scenario 11 Data Seasoning
Adds v2.1 output discipline (Top 5, self-critique, smallest-patch, proof-PASS, hold-this) on top of main's v2 conceptual foundation.

3 new reference files (audit-output-discipline, auth-expired-handling, data-seasoning), Scenario 11 Data Seasoning, persona-overload pattern blessed (validated by 2026-05-04 vite-flare-starter overnight: 56 findings, 21/21 Critical+High fixed inline).

Cross-skill discipline doc structured for shared adoption — other audit skills (code-review, design-review, project-health, fork-discipline, codex-review) reference rather than duplicate.

bin/skill-lint passes (500 lines exactly).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-05 09:26:38 +10:00
Jeremy Dawes da3794373c ux-audit: a11y + perf budget + real-data + meta-check + optimistic rollback
Five additions surfaced from a 12-suggestion review by the skill-writer
agent. Filtered to the four with real coverage gain at low cost, plus
one the original review missed (optimistic-UI rollback verification).

1. axe-core automated accessibility (Phase 4, mandatory)
   - New reference: references/a11y-automation.md
   - One CDN script tag, ~1s per page, catches the ~80% of structural
     a11y bugs that manual keyboard-only walks miss (heading skips,
     hover/focus contrast, missing aria-labels, role mismatches)
   - Hard-gate: > 0 axe Critical OR > 0 axe Serious on any page = Fail
   - Severity mapping: axe critical → Critical, serious → High,
     moderate → Medium, minor → Low
   - Allowlist for known-noise rules + builder-mode pages via
     .jez/audit-config.yml

2. Pragmatic performance budget (Phase 4, mandatory)
   - New reference: references/performance-budget.md
   - Thresholds set to user-perceivable (LCP < 4.0s, CLS < 0.25,
     INP < 500ms), NOT Google's CWV "Good" tier — strict CWV is for
     marketing teams, pragmatic is right for app interiors
   - One Performance API capture per audit, on the most representative
     route (~1s)
   - Common offenders + diagnosis pointers (Chrome DevTools trace)

3. Real-flavour data battery (Phase 5, mandatory)
   - New section in references/stress-test-recipes.md (#16)
   - Fixture file with edge strings (O'Brien, María, François, 朴기철,
     RTL Arabic, 30+ char German compounds, 200-char names, SQL/XSS
     canaries), edge emails (plus-addressing, quoted local-parts,
     punycode), edge phones (AU/US/UK formats), edge addresses (units,
     PO boxes, rural mail bags), edge files (8000×8000 PNG, 50MB PDF,
     .heic), edge numbers (signed zero, scientific, EU format), edge
     dates (Feb 29 leap-year, Apr 31 invalid)
   - Used during element exhaustion + form testing — every form audited
   - Catches AI-built UIs that pass on dev data but break on real data

4. Audit-the-audit meta-check (Phase 6, forcing function)
   - New "Time per phase" + "Manifest plausibility" rows in verdict
     block (SKILL.md + report-template.md)
   - Auto-Incomplete triggers: Phase 3 took < 1m, manifest median gap
     < 0.5s (entries logged in bulk, no real interaction), screenshots
     fewer than 2 × routes, console reads fewer than 1 × routes,
     manifest first→last span < 5m for exhaustive
   - Stops the agent (or rushed human) from claiming Pass without
     having actually walked the app

5. Optimistic-UI rollback verification (Phase 3, mandatory for list
   mutations) — the one the original review missed
   - New section in references/live-interaction-smoke.md
   - Force a 500 / 429 server failure on the mutation endpoint via
     route override, verify UI rolls back the optimistic update AND
     surfaces an error toast
   - The catalogue already named this as Critical severity but the
     protocol didn't actually trigger the failure scenario
   - Apply to: bulk-mark-read, approve/reject, star/unstar, delete,
     drag-drop reorder, edit-in-place fields

Hard gates table updated to include axe Critical/Serious + perf budget.
Verdict block updated to include axe counts, performance metrics,
phase timings, and manifest plausibility.

Skill description in frontmatter expanded to mention these checks
explicitly so the trigger heuristic catches "audit a11y", "audit perf",
"check accessibility", "check performance" prompts cleanly.

Also incorporates the seven untracked reference files that have been
in flight from prior skill-rebuild work (audit-config.md, interaction-
manifest.md, multi-pane-stress.md, perfection-checklist.md, persona-
lock.md, playwright-killer-flows.md, stress-test-recipes.md, and the
already-modified live-interaction-smoke.md). The skill links to all
of these — committing them alongside the new additions so fresh
checkouts don't have broken cross-references.

The skill is now ~600 lines of SKILL.md plus 18 references. That's the
budget — further additions risk crossing from "skill an agent reads"
into "manual no agent finishes." The remaining items from the review
(concurrent state stress, auth-flow specialised, persistence migration,
cross-browser matrix, telemetry audit, Playwright stub gen, visual
regression baseline) belong as separate sibling skills, not part of
ux-audit. Documented as deferred in the meta-check section.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 08:30:58 +10:00
Jeremy Dawes 87033e7d39 ux-audit: add Round-Trip Workflow Integrity check + 10th scenario
Discovered live during a vite-flare-starter audit. User feedback:
"I go to a project, put in a prompt, it drops me into chat, I'm not
sure how I got there, I'm not sure how I get back, the project is
just empty if I go back, maybe I can stay in the project when I'm
working in a project? or idk but its unclear"

Three problems compounding (cache-miss + weak breadcrumb + sidebar
disorientation) — all invisible to static analysis. The skill gains:

1. New mandatory Phase 3 check: round-trip workflow integrity. Every
   A→B→A workflow must be exercised end-to-end with the back navigation
   (NOT a hard reload), and A must reflect the new state.

2. New 10th scenario in the battery: "Round-Trip Workflow Integrity"
   with surface inventory format, code-level companion check (grep
   every useMutation, audit invalidations against parent + sibling
   query keys), and severity guide.

3. New reference: references/round-trip-workflows.md (~200 lines) with
   protocol, smoking-gun example, surface inventory pattern, four
   detection heuristics (cross-key invalidation, header badges,
   breadcrumb size+placement, sidebar context disorientation),
   findings template, anti-patterns.

4. SKILL.md updates: scenario count "9 scenarios" → "10 scenarios"
   in description / Phase 5 / Scenario Battery section / reference
   table. New Phase 3 section "Round-trip Workflow Integrity
   (mandatory)" linking to the new reference file.

5. live-interaction-smoke.md edits (NOT in this commit — unstaged
   alongside Jez's other untracked references). Adds a row to the
   silent-failure catalogue and a TanStack Query useMutation row to
   the SDK contract checks. Will commit when Jez also commits the
   other unstaged references he has in flight.

Linked discovery: the same skill was used hours earlier today to
re-audit vite-flare-starter post-fixes; round-trip wasn't a check
yet so the project→chat→project flow passed (no errors, no warnings,
hard gates green) despite the bug. This update closes that gap.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 08:15:18 +10:00
Jeremy Dawes d7b8d531e0 ux-audit: 5 additions from vite-flare-starter v2 review
Companion changes after running v2 against vite-flare-starter
(found 5 critical bugs in 15 min that DOM-probe sweep missed). The
core skill is solid; these additions close gaps surfaced during the
real-world run.

1. Headless test-auth path in browser-tools.md
   Adds a third tool-selection option: when an authenticated app
   exposes a `/api/test-auth/cookies`-style endpoint (gated on
   TEST_AUTH_TOKEN secret), headless agents can mint real session
   cookies and inject them into Playwright. Unlocks autonomous
   audits without a human at the keyboard. Pattern is portable —
   any better-auth project can expose it via testUtils() plugin.

2. Screenshot sizing under Retina (browser-tools.md)
   Most browser MCP tools capture at 2x DPR by default — full-page
   captures of long timelines hit 3000-4000px tall and bloat the
   audit context. New section covers `sips -Z 1440` post-process
   plus capture-time prevention (playwright-cli is 1x by default).
   References the user-global rules/screenshot-sizing.md.

3. Console budget allowlist (SKILL.md hard gates section)
   Hard Gate "console warning = High" was too strict — apps have
   known-noisy categories (Sentry info logs, third-party CDN
   chatter). New `.jez/audit-config.yml` opt-in mechanism lets a
   project allowlist substring or regex patterns. Allowlisted entries
   stay in the manifest for transparency but suppress from findings
   count. Verdict block shows `Console warnings: 3 (1 allowlisted,
   2 reportable)`. Default behaviour unchanged: no config = every
   warning is a finding.

4. Auth-expired mid-audit recovery (SKILL.md Phase 3)
   30+ min audits can outlast session expiry. New protocol: stop on
   first unexpected 401/403, terminate verdict = Incomplete with
   cause "auth expired mid-audit at <step>", recommend resumption.
   Don't silently re-auth — that hides session-expiry bugs and
   mixes pre/post-expiry observations into one report.

5. Findings dedup when running brains-trust (SKILL.md cross-ref)
   When merging second-opinion findings, dedup by (reproduction-
   steps, suspected-location). Same bug from a second model = one
   finding with a `Confirmed by:` line listing both, not two
   findings. Anti-pattern flagged: appending the second model's
   report verbatim.

Companion change: report-template.md Hard Gates block updated to
show allowlisted counts.

The five gaps came from running v2 against a live deployed app
(vite-flare-starter) and noting where the agent had to make
judgment calls the skill didn't cover. None are blockers — the
skill works as-is — but each unlocks a concrete capability or
closes a real-world failure mode.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 22:07:11 +10:00
Jeremy Dawes 0ec39a57c4 feat(ux-audit): add first-time-user lens (mandatory)
The single biggest blind spot for AI / internal tooling: engineers know
what every field means, brand-new users land on the same screen with no
context. Adds an explicit first-time-user lens to the persona stage and
a full mandatory section detailing the 6-question check, the patterns
it catches, and the standard fixes (pickers + metadata + auto-derive +
Advanced disclosure + inline guidance).

Discovered 2026-04-28 reviewing vite-flare-starter routine setup
form — agentClass / agentName / DO / wrangler-binding terms were
exposed as raw text inputs. Fix landed there; rule lands here so it
doesn't reopen.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 18:19:15 +10:00
Jeremy Dawes 94223d18fb feat(ux-audit): add Live Interaction Smoke + SDK contract check
Catches the "button exists, handler runs, but nothing happens"
class of bug that pure code-reading audits miss. Inspired by the
2026-04-23 vite-flare-starter Approve-button bug, where
addToolApprovalResponse() was being called correctly but the SDK
also needed sendAutomaticallyWhen (undocumented in the .d.ts).

New section between Element Exhaustion and Passive Error Sweeps:

- Live Interaction Smoke — for every interactive control: click,
  watch network, watch DOM, flag silent failures.
- Known control categories that silently fail — table with 7
  common patterns (approval buttons, OAuth in dialogs, save after
  async validation, delete/archive with no confirm rollback, etc).
- SDK contract check — table of third-party SDKs with their
  required-but-easy-to-miss option that breaks behaviour silently:
  useChat + sendAutomaticallyWhen, better-auth refetchOnWindowFocus,
  TanStack Query refetchOnWindowFocus, Radix Dialog modal flag, etc.
- Catch-all: any option named *OnChange / *OnFinish /
  *SendAutomatically / *RefetchOn / *Configure is a prime suspect.

Keeps code-reading audits useful but extends them with explicit
click-and-check-network steps that would have caught both today's
bugs on the first pass.
2026-04-23 14:14:53 +10:00
Jeremy Dawes 0a093f6123 ux-audit: execution discipline + long-running check-in pattern
Three principles for audit runs that catch the most bugs:
- Drive the audit from the main session, not a sub-agent (cross-interaction
  state lives in the watching session; sub-agents start cold and miss
  second-order findings)
- Use the browser tool directly (Chrome MCP / Playwright MCP via main
  session calls — not screenshots handed to a fresh agent)
- Loop to exhaustion with variations (different persona/workflow/input
  each pass; stop only when a full pass produces no new findings)

Plus: optional 15-min /loop check-in for audits expected to run >30 min.
Not a work-doing loop — a supervisor prompt that journals findings,
confirms activity, and provides a natural termination signal.

New reference file long-running-check-in-pattern.md documents the
check-in pattern generically — when to set up, supervisor prompt shape,
when to tear down, and the structural parallel to specialist heartbeats
at nightly/hourly/15-min scales.

Pattern surfaced by Jez's usage discovery: loop-to-exhaustion-with-
variations catches logic errors, business-logic issues, and odd edge
cases that single-pass audits miss.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 19:55:25 +10:00
Jeremy Dawes 48b79a410c docs(ux-audit, ux-extract): post-process screenshots to work around Retina 2x capture
Chrome on macOS Retina captures at 2x logical viewport (1440→2880px),
bloating context and hitting vision-pipeline size limits. Both skills
now instruct the agent to run img-process batch after each capture
phase to downsize to 1440px. The optimise action is idempotent —
no-op on already-small files — so it's safe to run unconditionally.
Playwright MCP users can set deviceScaleFactor:1 and skip the step.
2026-04-19 13:07:58 +10:00
Jeremy Dawes 608fdd4300 feat(dev-tools): rewrite ux-audit, add ux-extract and ux-compare
Three-skill UX trilogy: extract captures patterns from reference apps,
compare synthesises design decisions across extracts, audit measures
a build against the bar.

ux-audit rewrite
- Single exhaustive mode (drops quick/standard/thorough — unused ladders)
- Thread-first flow testing, with element inventory as completeness check
- Coverage arithmetic: tested / inventoried, published in the report
- Persona required (argument, .jez/personas/, or one-question prompt)
- Chrome MCP required for authenticated apps, fail loud if not connected
- Viewport pinned 1440x900 at start, >2000px noted as harness-breaking
- 8-scenario battery: First Contact, Interrupted Workflow, Wrong Turn
  Recovery, Returning User, Keyboard Only, Heavy Data, Destructive
  Confidence, Second User
- Sub-agent screenshot review per thread
- Fix-and-verify loop closes findings in the same session
- Optional cross-reference to ux-extract libraries

ux-extract (new)
- Inverse of audit — asks "what is the bar?"
- Exhaustively captures screenshots (every state), verbatim copy,
  interaction prose, keyboard patterns, responsive treatments, motion
  GIFs, and Notable Absences
- Dedup phase collapses repeated patterns
- Output: docs/ux-extracts/<app>/pattern-library.md + screenshots/
- Ethics section on ToS, robots.txt, rate-limiting, authorised access

ux-compare (new)
- No browser — pure markdown synthesis across 2+ pattern libraries
- Walks category by category: convergence, divergence, unique, absent
- Opinionated recommendations (safe default / consider / skip / fill gap)
- Cites source libraries instead of re-embedding screenshots
- Honest about stale libraries and coverage gaps

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 12:28:16 +10:00
Marcus Webb bf917575ed Remove agent-browser skill — use Vercel's plugin directly
The agent-browser skill duplicates what Vercel ships as a native
Claude Code plugin at vercel-labs/agent-browser. Users should
install from the source repo which is actively maintained.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 10:04:08 +10:00
Marcus Webb c1e8dd19c7 feat(dev-tools): add vitest skill — test setup for Workers, React, Node
Rebuilt from v1 archive as a proper v2 skill that produces working test
infrastructure. Detects project type, generates vitest.config.ts, test
setup, utilities, sample tests, and package.json scripts. Covers mocking
patterns, coverage, workspace config, and Jest migration.

Prompted by issue #69 (Dispatch discoverability).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 11:18:27 +11:00
Jeremy Dawes c51590e99c feat(ux-audit): add network error detection during browsing (#54)
Fixes #54. Visual browsing misses API failures that the UI hides —
TanStack Query and similar libraries swallow HTTP errors and show
empty/loading states. A People picker showing "No users found" because
of a 403 route collision looks normal visually.

New section monitors network responses throughout the audit:
- Collects all non-2xx API responses with URL, status, method, page
- Severity mapping: 500=Critical, 403=High (route collision class),
  404=Medium, 401=Low, CORS=High
- Catches: route collisions, silent endpoint failures, CORS issues,
  auth middleware bugs, missing endpoints after refactoring
- Report template includes Network Errors table

Runs in thorough + exhaustive modes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 12:47:14 +11:00
Jeremy Dawes 61bdd74da8 feat: major app-docs upgrade + showcase mockup patterns
app-docs rewritten with:
- Exhaustive depth level (150+ screenshots, publishable HTML suite)
- Per-page documentation template with What You'll See / What You Can Do / How To
- Supporting sections: getting started, navigation guide, keyboard shortcuts, troubleshooting, admin guide
- HTML output option with TOC sidebar and print CSS
- Workflow diagrams and annotated screenshot patterns
- Quality bar: "a new user can complete any task by following the guide"
- Mockup and diagram techniques alongside screenshots

product-showcase: added mockup + screenshot mix guidance with CSS phone
frame for mobile screenshots, guidance on when to use real screenshots
vs simplified mockups for different sections.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 15:52:59 +11:00
Jeremy Dawes 2781081bd7 feat(deep-research): add competitor docs/help/onboarding/API research
Competitor deep-dive now includes: documentation quality (what needs
most explanation = what users struggle with), help/support content
(most-asked questions), onboarding/tutorials (how they teach, what they
assume), API documentation (patterns, SDKs), and migration guides
(reveal advantages AND switching friction).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:20:24 +11:00
Jeremy Dawes c6cf54b32e feat(ux-audit): add exhaustive mode — test every interactive element
New fourth depth level: exhaustive (4-8+ hours)
- Inventories every interactive element on every page (buttons, links,
  inputs, selects, toggles, tabs, accordions, modals, dropdowns, etc.)
- Clicks/interacts with every one, screenshots each state
- Tests every form with valid, invalid, and empty data
- Tests every filter value, sort option, tab, combination
- Dark mode + light mode for every page and dialog
- Three viewport widths for every page and dialog
- Keyboard navigation through every page
- Context menus, edge states, concurrent tabs, every error path
- Per-page element inventory with pass/fail tracking
- Writes findings incrementally to report (doesn't hold in memory)

Depth progression: quick (5 min) → standard (30 min) → thorough (3 hrs) → exhaustive (8+ hrs)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:07:46 +11:00
Jeremy Dawes 47084507c5 feat: replace all Brain/Vault references with Basalt Cortex
Brain MCP and Vault MCP are being decommissioned. All references updated:

CLAUDE.md:
- Knowledge System reduced from 4 tiers to 3 (CLAUDE.md, Rules, Basalt Cortex)
- Removed entire Vault section (secrets, knowledge, sync)
- Removed entire Brain section (clients, sites, contacts, issues, billing, tasks)
- Added Basalt Cortex section with vault structure and usage

Rules:
- keep-going.md: "Save learnings to Vault/rules" → "Save learnings to rules"
- dataforseo-api.md: credentials in Vault → environment variables
- gemini-image.md: API key in Vault → GEMINI_API_KEY env var
- factual-claims.md: Brain/Vault → Basalt Cortex

Skills:
- deep-research: Brain/Vault MCP → Basalt Cortex grep
- team-update: brain_issues/brain_tasks/vault → ERPNext/Tuesday/Basalt Cortex
- roadmap: removed Brain/Vault example text
- basalt-cortex: brain_recall/vault recall → generic MCP
- shopify-setup, wordpress-setup: removed Vault MCP from secrets options

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 23:37:18 +11:00
Jeremy Dawes cc605fc7e6 feat: add stripe-payments skill + fix argument hints across all commands
stripe-payments: Checkout Sessions, Payment Intents, subscriptions,
webhooks (with constructEventAsync for Workers), customer portal,
pricing pages. Decision table for which API to use. Cloudflare Workers
gotchas. No MCP server needed.

Argument hint cleanup: removed [url] and [file-path] from hints —
replaced with meaningful choices (depth levels, modes, purposes).
The URL/file is auto-detected, the hint shows what the user decides.

product-showcase: added depth levels (quick/standard/thorough).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 22:47:25 +11:00
Jeremy Dawes e9f76c7eb5 feat(deep-research): add platform capability deep-dive for wide + deep modes
Claude's training data is always behind on platform features. This section
forces active research of the FULL platform catalogue — not just the
services you already use. Includes changelog/blog fetching, service-by-
service evaluation checklist (Cloudflare: 25+ services across compute,
storage, AI, networking, security, media, email, observability), and
capture template.

The Basalt Cortex project exists because of capabilities (Workers AI
toMarkdown, Vectorize metadata filtering, D1 FTS5) that weren't obvious
without actively looking. Most developers use 20% of their platform
because they never looked at the other 80%.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 20:42:17 +11:00
Jeremy Dawes 312943e509 feat: kill dev-session, make roadmap the execution engine
BREAKING: dev-session skill removed. Its useful bits are now in roadmap.

Roadmap skill now has four modes:
- plan: generate the roadmap (was the only mode before)
- start: begin executing from phase 1, don't stop until done or stuck
- resume: pick up from the last session, keep going
- status: show progress across phases

Execution rules: commit at phase boundaries, deploy after each phase,
quick audit between phases, thorough audit + onboarding-ux + project-docs
after the final phase. Only stop for blockers that need human input.

Progress tracked directly in ROADMAP.md with checked tasks and completed
phase markers — no separate SESSION.md needed.

dev-session was a 200K-era survival tool. At 1M context, the roadmap
itself is the session state.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:13:24 +11:00
Jeremy Dawes 3da9d4e581 chore: remove 200K-era context anxiety from skills
dev-session: removed "context getting full" trigger, "survive compaction"
framing, compaction-survival.md reference. Reframed as cross-session
handoff tool, not a context survival mechanism.

ux-audit: "track progress so work survives context limits" → "track
progress across the audit"

deep-research: "don't try to hold everything in context" → "the artifact
is the deliverable"

At 1M context, most features complete in a single session. These skills
are still valuable for genuinely multi-session work, but the urgency
framing was outdated.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:08:39 +11:00
Jeremy Dawes 8cb92d183f feat: add roadmap skill — comprehensive phased delivery plans for entire apps
Produces a ROADMAP.md detailed enough that "build phase N" is a complete
instruction for Claude Code. Includes: vision, stack decisions, complete
data model upfront, 4-8 phases with task checklists grouped by layer,
schema evolution map, API surface map, build order table, and
"deliberately not building" scope control.

Designed for all-day autonomous execution — each phase is independently
deployable with a definition of done. Pairs with deep-research (input)
and fork-discipline/ux-audit/onboarding-ux (post-phase checks).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:00:30 +11:00
Jeremy Dawes c3ab785ca2 feat: add cloudflare-api skill + improve deep-research argument hints
cloudflare-api: Hit the Cloudflare REST API directly for operations that
wrangler and MCP can't handle well. Covers bulk DNS, custom hostnames,
email routing, cache purge, WAF rules, redirect rules, zone settings,
Worker routes, and GraphQL analytics. Produces curl commands or scripts.
Not a docs mirror — workflow recipes for real operations.

deep-research: Updated argument hints to explain what focused/wide/deep
actually mean inline, so you don't have to remember.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 12:54:22 +11:00
Jeremy Dawes 880c4228c4 feat: add fork-discipline skill — audit core/client boundary in multi-client projects
Three modes:
- audit: map the boundary, find violations (hardcoded client checks,
  config replacement, scattered client code, missing extension points,
  migration conflicts), produce a health score and report
- document: generate FORK.md documenting the boundary and how to add clients
- refactor: concrete steps to move client code out of core, replace client
  checks with feature flags, implement config merge, add extension points

Includes the "right time to run" guide: don't refactor at 1 client,
audit at 2, full refactor at 3+.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 11:04:43 +11:00
Jeremy Dawes b2355ac49e feat: add onboarding-ux skill — audit and generate in-app user guidance
Audits a web app for onboarding gaps (empty states, missing guidance,
feature discoverability, contextual help), then generates the actual
content and code to fix them:

- Empty state components with copy and CTAs
- Welcome banner or onboarding checklist
- Feature tour configuration (react-joyride pattern)
- Tooltip content map for every complex field
- Contextual hints (dismissable, shown once)
- Onboarding-quality seed data
- Help/FAQ page content

Pairs with ux-audit: audit finds problems, onboarding-ux builds solutions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:05:21 +11:00
Jeremy Dawes 1669289a90 feat(ux-audit): default to live/deployed URL over localhost
Adds URL resolution that prefers production: checks wrangler.jsonc for
custom domains, then CLAUDE.md/README for deployed URLs, then falls back
to running local dev server, then asks. Live site has real data, real
latency, real CORS — that's what users experience.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:20:15 +11:00
Jeremy Dawes f97df4fa47 feat(ux-audit): add performance perception, copy/microcopy, feedback completeness, component proportions
Walkthrough checklist now checks:
- Performance perception (does the app feel fast? optimistic UI, loading states)
- Copy and microcopy (button labels, error messages, empty states, tone consistency)
- Feedback completeness (does every action confirm what happened?)
- Form input/button size mismatches
- Proportional imbalance (tiny buttons in vast empty areas)
- Collapsible section issues (missing indicators, lost scroll position)
- Cross-component alignment (labels vs inputs, grid alignment, table text-align)
- Touch target sizing (44px minimum)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:08:48 +11:00
Jeremy Dawes 55bfe73ca7 feat(deep-research): sharpen depth levels + add library/component research
Depth levels redefined by scope of ambition not time:
- focused: answer one specific question
- wide: understand the landscape (enough to write a spec)
- deep: leave no stone unturned (enough to drive weeks of coding)

Added library/component research section (deep mode): npm packages,
React libraries, headless UI primitives, hooks, platform-specific
packages. Research brief template now includes library evaluation table.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:01:09 +11:00
Jeremy Dawes 397e8cbcfb feat: replace knowledge-cortex with basalt plugin + add deep-research skill
BREAKING: knowledge-cortex plugin removed. Replace with basalt plugin.
- /basalt:basalt-cortex replaces /knowledge-cortex:cortex-mine and cortex-query
- Basalt format: Obsidian-compatible markdown with YAML frontmatter (not JSONL)
- Multi-source: Gmail, Google Chat, Slack, Drive, local files, MCP, web, calendar
- Pattern-based teaching (no shipped scripts)
- References: basalt-format.md, source-patterns.md, prefilter-patterns.md, sync-patterns.md

NEW: deep-research skill in dev-tools
- Deep research and discovery before building something new
- Three depths: focused (30 min), wide (1-2 hours), deep (3-6 hours)
- Local exploration, competitor analysis, ecosystem signals, future-casting
- Produces comprehensive research brief to .jez/artifacts/

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:32:08 +11:00
Jeremy Dawes 0fcfd66d79 feat(ux-audit): add 6 scenario tests for thorough overnight mode
New reference: scenario-tests.md with six structured tests:
1. New hire onboarding — figure out the app with zero guidance
2. Interrupted workflow — close tab mid-task, come back, see what survived
3. Explain it to a colleague — write a 2-min guide, gaps = UX failures
4. Wrong turn recovery — go to wrong page, measure recovery cost
5. Day two — repeat tasks, measure efficiency gains and shortcuts
6. What changed? — log in after absence, can you tell what needs attention?

Thorough mode now runs all six after QA sweep. Report template includes
scenario test results with tables and the explain-it guides (which
double as user documentation).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:18:31 +11:00
Jeremy Dawes 0e050753b8 feat(ux-audit): add workflow comprehension layer
New reference: workflow-comprehension.md — evaluates whether users can
follow the threads of their real work through the app. Covers workflow
threads, wayfinding, visual cues/nudges, page-to-page continuity,
mental model alignment, and productivity assessment.

Thorough mode now starts by identifying workflow threads before testing
individual pages. Per-screen evaluation adds comprehension, wayfinding,
and flow questions. Report template includes workflow findings section.

The shift: from "does this page work" to "does the user understand the
system and can they follow their work through it."

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:15:10 +11:00
Jeremy Dawes 93c6c7c7b6 feat(ux-audit): comprehensive overnight testing — JS layout detection, breakpoint sweep, console errors
Thorough mode now includes:
- Automated JS injection to detect overflow, clipped text, off-screen
  elements, and invisible text on every page
- Responsive breakpoint sweep at 1280/1024/768/375px widths
- Console error sweep (JS errors, failed requests, framework warnings)
- Accessibility basics (heading hierarchy, alt text, contrast)
- Data edge cases (long text, special chars, empty, rapid clicks)
- Navigation/routing tests (deep links, back button, 404s, stale URLs)

Designed to run unattended overnight and produce a complete report.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:02:23 +11:00
Jeremy Dawes 10a6e5bb6f feat(ux-audit): add visual layout inspection to walkthrough checklist
Adds a comprehensive Visual & Layout Inspection section covering clipped
text, overlapping elements, overflow, broken grids, contrast, sidebar
misalignment, responsive breakpoints, image issues, and invisible elements.
Each issue type includes what to look for and common cause.

Layout check added to per-screen evaluation and Step 3 key questions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:01:10 +11:00
Jeremy Dawes 7f1f77baa3 feat: add slash commands for all 51 skills + fix compatibility fields
Created 45 command files with descriptive argument-hints so every skill
has a /plugin:skill-name shortcut. Added compatibility: claude-code-only
to 17 skills that require Bash/filesystem/browser (d1-migration, db-seed,
project-docs, git-workflow, landing-page, shadcn-ui, tailwind-theme-builder,
ai-image-generator, color-palette, favicon-gen, icon-set-generator, etc).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 21:24:58 +11:00
Jeremy Dawes 368f4b80c6 fix: update ux-audit command hint to show depth options
argument-hint now shows [quick|standard|thorough] [url] instead of just [url]

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 14:54:12 +11:00
Jeremy Dawes 049f49a0ca feat: add depth levels to ux-audit + new app-docs and product-showcase skills
ux-audit: add quick/standard/thorough depth levels. Thorough mode runs
autonomously overnight — multiple personas, all pages, all states,
resilience testing, comprehensive report with screenshots.

app-docs: browse a running app, screenshot every screen, produce a
complete user guide with step-by-step instructions.

product-showcase: explore a running app, capture key screens, generate
a marketing site (single HTML) with real screenshots in browser-frame
mockups, feature grid, how-it-works, and CTAs.

49 → 51 skills.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 22:40:35 +11:00
Jeremy Dawes cfad81649a feat: add 5 new skills — project-docs, landing-page, db-seed, ai-image-generator, social-media-posts
New skills batch (44 → 49 skills, 10 → 11 plugins):
- project-docs: generate ARCHITECTURE.md, API_ENDPOINTS.md, DATABASE_SCHEMA.md from codebase
- landing-page: single-file deployable HTML with Tailwind CDN
- db-seed: realistic seed scripts for D1/Drizzle with FK ordering and batch limits
- ai-image-generator: Gemini/GPT image gen with 5-part prompting framework
- social-media-posts: platform-formatted posts for LinkedIn, FB, Instagram, Reddit

New plugin: social-media

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 09:53:05 +11:00
Jeremy Dawes d85b8580fe feat(project-health): add Google Workspace CLI permission preset
Adds gws CLI commands (auth, gmail, calendar, drive, sheets, docs, chat,
tasks, slides, forms, people, admin) to permission presets with explicit
subcommand entries to work around the wildcard matching bug.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 11:19:58 +11:00
Jeremy Dawes 91534712bd fix: replace .claude/ artifact paths with .jez/ across skills
.claude/ is a protected system directory that triggers permission prompts.
Using .jez/ for artifacts, scripts, and screenshots avoids this.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:18:45 +11:00
Jeremy Dawes 1e0feabf64 refactor: restructure skill portfolio (36 → 33)
Remove 5 skills that don't earn context cost:
- claude-capabilities, gemini-guide (Claude knows these from training)
- web-design-methodology, web-design-patterns (well-known patterns)
- gemini-image-gen (rules files cover API; dedicated project planned)

Add 2 skills:
- cloudflare/d1-migration: full migration workflow, Drizzle gotchas, stuck migration fix
- dev-tools/git-workflow: PR prep, branch cleanup, conflict resolution, monorepo tags

web-design plugin now single-skill (seo-local-business only).
D1 rules file slimmed — migration workflow absorbed into d1-migration skill.
All docs updated: CLAUDE.md, README.md, marketplace.json, plugin.json files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 21:47:03 +11:00
Jeremy Dawes 0fc77e3a33 docs: add agent-browser to dev-tools listings, fix skill count
README, CLAUDE.md, plugin.json, marketplace.json all missing agent-browser.
Updated skill count from 24 to 36 and plugin count from 7 to 9.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 06:58:18 +11:00
Jeremy Dawes bb31268c9c feat(team-update): add communication style guide to avoid AI voice
Replace thin tone section with concrete rules: no emoji spam, no hedging,
no restating context the team already has. Includes bad/good examples.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 06:55:42 +11:00
Jeremy Dawes 7e75b8b95e feat(brains-trust): save consultations to timestamped directories
Each consultation gets its own folder under .claude/artifacts/brains-trust/
with prompt and responses preserved for future reference.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 22:52:46 +11:00