product-design
Specifies interaction choices, action scope, reversibility, recovery, and reachable states.
Skill by mblode
Chalk Labs
Need help deploying product-design?
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/mblode-product-design
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
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
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/product-design
What's inside
- Skill name
product-design- Description
- Specifies interaction choices, action scope, reversibility, recovery, and reachable states. Use when asked to "design the flow", "should delete be undoable", "choose the control", or "review this product decision".
- License
- MIT
- Instructions
- 101 lines in SKILL.md · view on GitHub
Files (7)
- SKILL.md
- evals.json · evals/
- interface-quality.md · references/
- naming-and-copy.md · references/
- product-judgment.md · references/
- rules.md · references/
- surfaces.md · references/
SKILL.md (first lines)
# Product Design Decide what the interface should do, then route who builds and verifies it: pick the right interaction, make scope and consequence clear, cover reality beyond the happy path. - **IS:** the decision layer. From a brief, spec, mockup, intent, or existing UI: choose the interaction and control, name the object, scope, and consequence of each action, settle reversibility and the safeguard it implies, enumerate every reachable state, set resilience expectations, and require accessibility as task completion. It decides, then routes build, verification, and wording out. - **IS NOT:** - whether a feature deserves investment or fits the product: out of scope; state it as an open product question. - building or styling UI, visual direction, palettes, type: `ui-design`. - auditing the built result (rendered quality, a11y markup, keyboard, layout, performance, React or Next code-level UX with a ship verdict): `ui-design` Audit mode. - copy wording, persuasion, or AI-ism removal: `ghostwriter`. - motion, gesture physics, or deep typography: `ui-animation`, `typography-audit`. - whether an agentic feature earns trust: `ax-audit`. ## Routing boundary `product-design` owns action semantics, scope, reversibility, and contested state choices. `ui-design` builds and styles those states. `ui-animation` owns timing, gestures, and measured motion. A routine missing loading or error state stays with the UI build; a gesture replacing a control needs a product decision and an accessible alternative before its physics. ## Request modes Resolve one mode from the user's verb and artifact before acting, then load that mode's references. `references/rules.md` loads in **every** mode: every finding cites a rule ID from it, and you cannot conclude that no rule governs a decision without the registry in front of you. | Mode | Dispatch when the user asks for | Load (plus `references/rules.md`) | |------|--------------------------------|------| | **shape** (default) | "design the flow for", "what control here", "how should this work", "is this the right pattern", a brief with no settled UI | `references/product-judgment.md`, `references/surfaces.md` | | **spec** | "spec the right interaction", "define the expected states", judgment applied before or during a build | `references/product-judgment.md`, `references/surfaces.md`, `references/naming-and-copy.md`; route the build to `ui-design` | | **review** | "review this flow for product correctness", "what's wrong with this UX decision", "is this the right interaction" | `references/interface-quality.md` | | **action** | "what should this action affect", "should this be undoable", "do we need a confirm dialog", or reversibility is unsettled | `references/naming-and-copy.md`; route final wording to `ghostwriter` | | **harden** | "make this resilient", "what breaks here", error, permission, offline, expiry, and destructive paths | `references/surfaces.md`, `references/interface-quality.md`, `references/product-judgment.md` | **Review mode is about a flow, not an artifact.** "Audit this component", "check my UI", and "design QA this page" point at built markup and belong to `ui-design` Audit mode. This skill's review asks whether the decisions behind a flow are right, and stops at decision altitude. Modes chain: shape leads into spec; review leads into harden. When intent is ambiguous, use the narrowest mode the verb supports. A URL, screenshot, route, or component identifies scope; it does not authorize edits. Whether a standard belongs in the consuming project's linter rather than in this skill is `codebase-architecture`'s enforcement ladder. `evals/evals.json` never loads during a user task; it is the regression set for anyone changing this skill. ## Workflow ```text Product design pass: - [ ] Step 1: Classify the request into one mode - [ ] Step 2: Locate authority (user constraints, project design system, AGENTS.md) - [ ] Step 3: Load rules.md plus that mode's reference files - [ ] Step 4: Write the internal brief (shape, spec, harden); stop and ask if job, outcome, or consequence is unfillable - [ ] Step 5: Name object, scope, consequence, and reversibility for each action in scope (spec, action, review) - [ ] Step 6: Enumerate reachable states and check coverage (shape, spec, harden) - [ ] Step 7: Emit output with a rule ID or labeled coverage gap per finding or decision; route follow-on work to siblings - [ ] Step 8: List unresolved product decisions ``` Steps 5 and 6 are mode-scoped because their references are: a pure `action` pass has no state matrix to enumerate, and a `shape` pass has no built actions to name yet. Output length follows the work, not the template. A single settled decision is a short answer; drop the sections a pass did not need rather than filling them. ## Decision authority Conflict order, highest first: 1. The user's explicit goal and constraints. 2. Verified user and product evidence, and what the system actually does. 3. Project-canonical guidance: `AGENTS.md` or `CLAUDE.md`, the project's design system, routed sibling skills. 4. Sibling-skill ownership: route, do not duplicate. 5. This skill's standards (below). 6. General interface and platform conventions (WCAG 2.2, NN/g, Apple HIG, Material, GOV.UK), which `references/rules.md` cites per rule. When a request spans authorities, name the owning skill and hand off. ## Product design standards Five pillars, each naming its rule IDs in `references/rules.md` and the reference that details it. - **Right interaction.** Pick the control from the choice's shape; keep options visible and reversible; prefer inline disclosure over a modal; every gesture has a control alternative; choose the smallest coherent intervention. `rule/control-matches-cardinality`, `rule/navigation-vs-action`, `rule/inline-before-modal`, `rule/no-nested-modals`, `rule/gesture-has-control-alternative`, `rule/smallest-intervention`. Detail: `references/product-judgment.md`. - **Action naming and consequence.** Name the object, scope, and consequence; settle reversibility first, then the pattern; an irreversible action gets review, check, or named confirmation; undo appears only when honest. `rule/name-object-scope-consequence`, `rule/destructive-names-action`, `rule/destructive-proportional`, `rule/irreversible-action-safeguard`, `rule/undo-only-when-honest`, `rule/preserve-user-input`. Detail: `references/naming-and-copy.md`. - **State coverage.** Design every reachable state, not just the populated one: empty states name the object and a first action; errors explain and offer recovery; timers warn before they discard. `rule/cover-reachable-states`, `rule/empty-state-action`, `rule/error-states-recovery`, `rule/loading-stable-labels`, `rule/time-limit-adjustable`. Detail: `references/surfaces.md`. - **Resilience.** Overflow, extreme data, localization and RTL, offline, and network failure are designed states; every fetch lands in one. Shares `rule/cover-reachable-states`: it is the same requirement pointed at adverse inputs. Detail: `references/surfaces.md` > Resilience. Whether the built UI renders them is `ui-design` Audit mode's check. - **Accessibility as task completion.** Every control has a name; the primary flow completes by keyboard with visible focus; nothing already entered is retyped; authentication allows assistance; state and consequence are understandable, not just labeled. `rule/accessible-name-required`, `rule/keyboard-complete-flow`, `rule/no-custom-focus-bypass`, `rule/no-redundant-entry`, `rule/auth-allows-assistance`. Detail: `references/interface-quality.md`. Markup and target-size checks route to `ui-design` Audit mode. ## Review output In review and harden modes, lead with findings ordered by user impact (P0 to P3), each with location, verification status, rule ID, user consequence, and the smallest concrete fix with the skill that owns it. Keep findings at decision altitude; a line-level code or framework fix is `ui-design` Audit mode's output. Rubric and finding format: `references/interface-quality.md` > Severity rubric. ## Gotchas - A confirmation dialog on a reversible action (archive, remove from list, unsubscribe) trains users to click through, so the one confirmation that matters, permanent delete, gets the same reflexive click. NN/g's "cry wolf" finding. Act and offer undo instead (`rule/destructive-proportional`). - An undo toast as the only recovery path: it vanishes in about five seconds, and the object is gone. Either the object stays recoverable (Trash, Archive) or the action is irreversible and needs a safeguard. Do not call it undo otherwise (`rule/undo-only-when-honest`, WCAG 2.2.1). - Swipe-to-delete or drag-to-reorder with no button or menu equivalent fails WCAG 2.5.1 and 2.5.7 outright and is undiscoverable to everyone else. Spec the alternative before routing the physics to `ui-animation` (`rule/gesture-has-control-alternative`). - A segmented control with three fixed-width English labels: strings under 10 characters grow 200 to 300% in translation (W3C), so "Day / Week / Month" becomes a wrapped or clipped mess in German. Decide the wrap or stack behavior in the spec. - Reusing the "No projects yet, Create project" empty state for a filtered-to-zero list. The user creates a duplicate because the item they searched for exists behind the filter. Three empties, three designs (`references/surfaces.md`). - A checkout or sign-up that asks again for something entered two steps earlier (billing address after shipping, email after account) fails WCAG 3.3.7 and is the step where mobile users leave (`rule/no-redundant-entry`). - Emitting a line-level fix (a prop, a hook, a `className`) instead of the decision. It arrives without the rendered check that would validate it, and the product decision it was supposed to carry goes unstated. Route it to `ui-design` Audit mode. - Citing a plausible-sounding rule ID that does not exist (`rule/clear-labels`). The citation resolves to nothing, so the finding cannot be deduped against a `ui-design` audit or traced to a rule. Record a coverage gap instead. ## Related skills - `ui-design`: visual direction and building the decided interaction in code; its Audit mode covers the built result, rendered quality and accessibility markup, with a ship verdict. - `ghostwriter`: exact wording for names, errors, and empty and loading copy, written against the copy rule IDs this skill owns in `references/rules.md`. - `ui-animation`: the passage between two states (timing, easing, springs, gesture physics). This skill settles whether a gesture replaces a control and what its alternative is; that skill builds the motion. - `ax-audit`: whether a built agentic feature earns trust; this skill decides what it should do first. - `typography-audit`: deep type.
From mblode/agent-skills, MIT.
More from mblode/agent-skills
- 0.791score
agent-ready
mblode
Implements agent-readiness on public sites and docs from Mintlify Agent Score, AFDocs, Is Agentic, Is It Agent Ready, or url-discovery-bench reports, or from…
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
agent-skills-creator
mblode
Creates and improves portable Agent Skills with a validator, routing scenarios, and evidence-based keep, cut, merge, or retire decisions.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
agents-md
mblode
Audits and edits agent instruction files, verifies repository commands, and migrates repositories to AGENTS.md as the single shared source.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
autoship
mblode
Runs a changesets npm release through the version PR, CI publish, and registry verification.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
ax-audit
mblode
Audits agentic products for tool parity, authority, approval payloads, recovery, and trust using 24 rules and a ship verdict.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
chat-history
mblode
Recovers decisions, previous fixes, research, and what followed a prompt from past AI conversations, with source evidence.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
ci-speedup
mblode
Speeds up CI and the merge path: finds where changes wait between push and deploy, then fixes the critical path, check placement, merge queue or post-merge…
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
codebase-architecture
mblode
Designs module interfaces, deepens shallow modules, and installs enforceable repository guardrails and agent wayfinding.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
dx-audit
mblode
Audits libraries, CLIs, and SDKs using 38 rules for public contracts, package exports, piped output, errors, and configuration.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
eli5
mblode
Picks the form that explains best and applies the house explanation style: plain prose, controlled English modelled on ASD-STE100, a diagram, an interactive…
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
ghostwriter
mblode
Writes, rewrites, and critiques messages, posts, review comments, tickets, PRDs, design docs, talk scripts, docs, READMEs, and copy as the user or their…
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
multi-tenant-architecture
mblode
Designs tenant isolation, hostname routing, custom-domain lifecycle, and plan limits on Cloudflare or Vercel.
SkillAFreshness: A★ 162Claude Code +9
Signals
- Stars
- 162
- Forks
- 14
- Open issues
- 0
- Last commit (this folder)
- Oct 3, 2026 (28 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/mblode/agent-skills
- Website
- blode.co/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mblode
- 0.791score
agent-ready
mblode
Implements agent-readiness on public sites and docs from Mintlify Agent Score, AFDocs, Is Agentic, Is It Agent Ready, or url-discovery-bench reports, or from…
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
agent-skills-creator
mblode
Creates and improves portable Agent Skills with a validator, routing scenarios, and evidence-based keep, cut, merge, or retire decisions.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
agents-md
mblode
Audits and edits agent instruction files, verifies repository commands, and migrates repositories to AGENTS.md as the single shared source.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
autoship
mblode
Runs a changesets npm release through the version PR, CI publish, and registry verification.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
ax-audit
mblode
Audits agentic products for tool parity, authority, approval payloads, recovery, and trust using 24 rules and a ship verdict.
SkillAFreshness: A★ 162Claude Code +9 - 0.791score
chat-history
mblode
Recovers decisions, previous fixes, research, and what followed a prompt from past AI conversations, with source evidence.
SkillAFreshness: A★ 162Claude 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 product-design 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
product-design skill. Agent Mart. https://agentmart.dev/skills/mblode-product-design (last updated 2026-10-24)