Skip to content
Agentmart
Submit a tool

product-ui

Use before you implement or change a screen, a component, a view, or a mockup, when you write or edit user-facing text such as a status, helper, label, or…

Skill by futex-ai

IndexedMIT★ 1
Write a review

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/futex-ai-product-ui

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.

We use your email only for this newsletter. Privacy

About

Use before you implement or change a screen, a component, a view, or a mockup, when you write or edit user-facing text such as a status, helper, label, or error message, when you add an empty, loading, or error state, when you are about to hardcode a number, a row, or sample data in a screen, when you add an accent border, a badge, or an environment label, and when you need a component that may already exist.

Use cases: design, frontend, data, writing

No 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-ui

What's inside

Skill name
product-ui
Description
Use before you implement or change a screen, a component, a view, or a mockup, when you write or edit user-facing text such as a status, helper, label, or error message, when you add an empty, loading, or error state, when you are about to hardcode a number, a row, or sample data in a screen, when you add an accent border, a badge, or an environment label, and when you need a component that may already exist.
License
MIT
Instructions
79 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Product UI

Where screens live and which shared UI library to check first is in the
repository's `AGENTS.md` under `## Product`.

## Component reuse

- Before you build UI, check the shared UI library named in `AGENTS.md`
  first, then the app's reusable base components. Use them where possible.
- If a component or pattern is used many times across the app, extract it
  or add it to the shared components instead of duplicating the
  implementation.

## Forbidden visual patterns

- Never put a left-edge accent border on a box. This holds when the
  border emphasizes, selects, categorizes, decorates, or shows the status
  of the content. An accent border is a contrasting left-edge stroke in
  any colour, such as the accent colour or a status colour. The typical
  case is a white card with rounded corners and a 2px solid accent
  border on its left edge.
- A box is an element with its own fill, a border on its other sides,
  rounded corners, or a shadow. Cards, callouts, banners, toasts, and
  filled rows are boxes. A hover or focus fill does not make a box.
- Do not recreate the pattern on a box with a pseudo-element, inset
  shadow, gradient, outline, or separate adjacent bar. A bar with
  rounded ends is the same pattern.
- A left-edge border on an element that is not a box is fine, in any
  colour. Examples are a pull quote and a release timeline rail.
- On a box, use the component system's typography, spacing, icons, or
  standard selection controls instead. A full-perimeter border or a
  tinted fill also works.
- Neutral structural borders such as column dividers and nesting indent
  guides are layout, not emphasis, and remain fine.
- This applies to product code and to mockups.

## Environments

Normal product views do not expose sandbox, test, or preview environment
labels, badges, or explanatory copy. The same view renders across
environments, with environment-specific data selected from the URL or the
environment configuration.

## Real data only

- Dynamic user, business, and domain data displayed to the user is never
  faked, stubbed, hardcoded, or mocked in product code. Metrics, entities,
  statuses, rows, and calculated values come from a real source: an API, a
  database, a store, or live computation.
- Do not ship placeholder numbers, dummy rows, lorem-ipsum content, or
  "TODO: wire up real data" values in screens users can reach.
- Static product copy, navigation labels, accessibility text, form
  placeholders, design constants, and explicit loading, empty, error, or
  unavailable-data states are not dynamic data and may live in product
  code.
- If the real source is not available yet, render an explicit unavailable,
  empty, loading, or error state, and wire the view to the real source
  before the feature is complete.
- Faked or stubbed data is acceptable only in tests, mocks, fixtures, and
  mockups.

## Copy

- User-facing copy reads as product language written for the user, not as
  engineer-facing build or status output.
- Lead with the outcome or action the user cares about. Keep it plain and
  professional.
- Keep copy to the minimum that the user needs to understand the outcome,
  decide, or act. Prefer one short sentence for routine status and helper
  text.
- For an error, name what failed and give one recovery action when one
  exists.
- Remove any sentence whose absence would not change what the user
  understands, decides, or does next.
- Never leak internal implementation detail into text users read:
  validation-artefact, schema, or pipeline names, internal flags, message
  classes, file formats, environment names, or code identifiers.
- When technical detail has genuine product value, surface it in a clearly
  secondary place such as a details or profile panel, not in headline copy.
- Keep a positive frame. Say what the product does, where it is, and what
  the reader can do. Answer a question with the positive fact, not with
  "No". State a real limit only when the reader needs it, pair it with
  what they can do instead, and keep it out of headlines.
- This applies to mockups and to product implementation alike.

From futex-ai/skills, MIT.

More from futex-ai/skills

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Oct 19, 2026 (10 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from futex-ai

Cite this page

product-ui skill. Agent Mart. https://agentmart.dev/skills/futex-ai-product-ui (last updated 2026-10-24)