joint-design-review
Joint design review of one product area: audit against the loaded design bar, split findings into standing-approved fixes vs decisions that need the user's…
Skill by ryangriffinau
Chalk Labs
Need help deploying joint-design-review?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ryangriffinau-joint-design-review
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/joint-design-review
What's inside
- Skill name
joint-design-review- Description
- Joint design review of one product area: audit against the loaded design bar, split findings into standing-approved fixes vs decisions that need the user's ruling, bead every finding, then implement and verify with screenshots. Use when the user asks for a design review, a UI/UX audit of a page or product area, frontend polish with approval gates, or a joint-design-review cycle.
- License
- MIT
- Instructions
- 230 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (12)
- BACKLOG.md
- SKILL.md
- default-bar.md · references/
- evidence.md · references/
- quality-references.md · references/
- report-template.md · references/
- tracking.md · references/
- contention.mjs · scripts/
- findings.mjs · scripts/
- io.mjs · scripts/
- shoot.mjs · scripts/
- static-scan.mjs · scripts/
SKILL.md (first lines)
# Joint design review A design review is **joint**: the agent audits and fixes; the user rules. Every finding lands in exactly one of two classes — **standing approval** (fix without asking) or **ruling required** (park and ask). The cycle is: scope → load the bar → preflight → audit → report → triage → rulings → materialise → implement. **One product area per cycle. Never two.** A review that spans areas produces findings nobody can act on and beads nobody owns. Four scripts do the mechanical work. Run them; do not reimplement them by eye. | Script | Step | Does | | --- | --- | --- | | `scripts/contention.mjs` | 3 | Resolves the area's data path and fails if any of it is dirty | | `scripts/static-scan.mjs` | 4 | Deterministic sweep for the checkable Class A candidates | | `scripts/shoot.mjs` | 4 | Captures every surface and rejects any capture of the wrong page | | `scripts/findings.mjs` | 5, 7 | Validates the findings tracker; materialises it into real issues | ## 1. Scope If the user named an area, that is the scope. If not: inventory the app's areas, check which are contended, and propose an order with a one-line recommendation. **Done when:** one named area is agreed. ## 2. Load the bar — progressively Read the repo's `AGENTS.md`, docs entrypoint, and design-system doc first. The repo's own contracts always win over the generic bar, and a repo-declared frontend skill order is used verbatim. When the repo has no `DESIGN.md`, no design-system doc, and no frontend rules in `AGENTS.md`, load [references/default-bar.md](references/default-bar.md) as the bar before reading a component. Name it in the report's "bar loaded" line. Otherwise detect the stack from `package.json` and load skills **at the step that uses them**, one rule-set in focus at a time. Staged loading is not about tokens: seven rule-sets at once interfere — near-synonymous terms drift between skills, and a rule from one bleeds into a dimension another owns. | When | Load | | --- | --- | | Now, before reading a single component | `/impeccable`, plus the stack skill: `/tanstack` on TanStack; `/vercel-react-best-practices` on Next.js or plain React | | Audit — heuristics and a11y | `/ux-audit` | | Audit — motion, and any motion fix later | `/emil-design-eng` | | Audit — reinvention | `/pick-ui-library` | | Audit — modality pass, and polish during implementation | `/ui-polish` | Framework-named skills still carry portable React standards — use those parts on any React stack and discard only the framework-specific rules. Index-style skills stay index-only: pull the individual rule files a finding touches, never the full expansion. **Done when:** the bar is loaded before you have read a single component. Loading it after forming an opinion is not loading it. ## 3. Preflight 1. **The app renders — hard gate.** Load it and confirm a real surface appears. A design review without the running app is a code review wearing a costume. If the server is down, say so in one sentence and stop. Never start, restart, or kill a server you do not own. 2. **Contention — run the script.** `node scripts/contention.mjs <area-paths>`. It resolves the area's imports back to the packages it renders from and fails if either set is dirty. Checking only the area's own component files is not enough: an area whose components are clean can still be served by a query another agent is mid-edit on, and the review will spend its effort diagnosing that. 3. **History, and what is deliberate.** Read the prior audits, screenshot sets, and design specs for this area. Then ask the question they rarely answer directly: **which of this area's current behaviours are deliberate?** A surface that looks under-built is often a decision you cannot see from the code. State in the report which prior findings you rechecked and their state now. 4. **Pin the tree.** Record the commit SHA and any dirty files. A finding crossing a dirty file is **provisional** and is rechecked before it becomes work. ## 4. Audit **Mechanical sweep first**, before any eyes-on work: ```bash node scripts/static-scan.mjs <area-paths> # dirs and files, in any mix ``` Hits are **candidates, not findings** — verify each in context. Record the result, including a clean one; a skipped scan is a coverage gap. **Then capture every surface** with `scripts/shoot.mjs` and a config (see [references/evidence.md](references/evidence.md)). The harness warms up the session and asserts each capture landed on the page you asked for, then exits non-zero if any did not. Never reason about an image it rejected. Then work surface by surface — list, detail, create/edit, empty, loading, error, permission-denied. Cover desktop and mobile **separately and fully**; optimise each modality on its own terms rather than accepting a compromise mediocre on both. Dimensions, all of which the report must account for: 1. **Flow and dead ends** — every reachable state, and whether the user can get out. 2. **Heuristics** — Nielsen per `/ux-audit`; name the heuristic on each finding. 3. **Accessibility** — keyboard path, focus order and visibility, composite-widget semantics, contrast, touch targets, colour-only meaning, labels. 4. **Design-system conformance** — judged against the project's own contract. 5. **Motion** — purpose, frequency, easing, duration, press feedback, reduced-motion. 6. **Reinvention** — behaviour hand-rolled that an installed dependency owns. 7. **React and data correctness** — reset boundaries and keys, derived vs stored state, subscription lifecycle, waterfalls, re-render cost. 8. **Copy** — plain, and no longer than it needs to be. 9. **Consistency** — one concept rendered one way everywhere. **When a finding contradicts a deliberate choice**, do not assert breakage. State the choice, say why it still costs the user, and bring evidence that a better option exists — a [quality reference](references/quality-references.md) is the strongest form. Split the artifact from the intent: a sound decision can leave an unsound implementation behind it, and filing them as one finding makes the whole thing rejectable. **Done when:** every surface and dimension is covered, each finding has evidence, and you have also recorded what you traced and cleared. A hit-only audit is not trustworthy. ## 5. Report
From ryangriffinau/skills, MIT.
More from ryangriffinau/skills
- 0.592score
codebase-benchmark
ryangriffinau
Run a whole-codebase, longitudinal engineering-practices review that produces a graded trend scorecard (security, architecture, type safety, testing…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
write-project-update
ryangriffinau
Write an evidence-grounded project update.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
add-prompt
ryangriffinau
Save a reusable instruction as a portable p-prefixed skill for Claude Code and Codex.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
write-goal
ryangriffinau
Create crisp, verifiable goal prompts and execution plans for long-running agent work after investigating available context first.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
p-smarter-beads-wizard
ryangriffinau
Read every bead deeply, use idea-wizard to find the smartest, most accretive ideas, and revise the beads with them; then offer beads-workflow polishing and…
SkillAFreshness: A★ 1Claude Code +9 - 0.552score
convex-prod-query
ryangriffinau
Read production Convex state from an agent session without approval prompts and without any way to write or deploy.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
teach-me-nugget
ryangriffinau
Turn a concept just hit in live work into an immediately usable nugget — correct the user's guessed name, give the real terms of art, extract smells with…
SkillBFreshness: B★ 1Claude Code +9 - 0.502score
stale-work-audit
ryangriffinau
Audits old agent sessions, stale threads, branches, PRs, worktrees, deployments, and migrated repos against current evidence, then returns a concise grouped…
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
review-council
ryangriffinau
Run any high-stakes question or decision through a council of 5 AI advisors (Contrarian, First Principles, Expansionist, Outsider, Executor) who independently…
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
commit
ryangriffinau
Create Conventional Commit git commits for only the work completed in the current session.
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
website-porter
ryangriffinau
Port existing live, CMS, or Webflow marketing websites into a full-stack app or repository while preserving SEO, content coverage, visual fidelity…
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
commit-whole-diff
ryangriffinau
Split the entire current git working tree diff into multiple atomic Conventional Commits when the user explicitly wants all outstanding changes committed…
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 14, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ryangriffinau/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ryangriffinau
- 0.592score
codebase-benchmark
ryangriffinau
Run a whole-codebase, longitudinal engineering-practices review that produces a graded trend scorecard (security, architecture, type safety, testing…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
write-project-update
ryangriffinau
Write an evidence-grounded project update.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
add-prompt
ryangriffinau
Save a reusable instruction as a portable p-prefixed skill for Claude Code and Codex.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
write-goal
ryangriffinau
Create crisp, verifiable goal prompts and execution plans for long-running agent work after investigating available context first.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
p-smarter-beads-wizard
ryangriffinau
Read every bead deeply, use idea-wizard to find the smartest, most accretive ideas, and revise the beads with them; then offer beads-workflow polishing and…
SkillAFreshness: A★ 1Claude Code +9 - 0.552score
convex-prod-query
ryangriffinau
Read production Convex state from an agent session without approval prompts and without any way to write or deploy.
SkillBFreshness: B★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get joint-design-review running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
joint-design-review skill. Agent Mart. https://agentmart.dev/skills/ryangriffinau-joint-design-review (last updated 2026-10-24)