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
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.
About
Use cases: design, frontend, data, writing
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-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
- 0.592score
git-commit
futex-ai
Use before you commit and directly after, when you write a commit message or a pull request title and description, when you squash, when the diff against…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
writing-skills
futex-ai
Use when you create or edit a skill, write or change a skill description, or when an agent skipped a rule, did not load a skill, or loaded the wrong one.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
deterministic-tests
futex-ai
Use when a test fails and then passes on a rerun, when a test is flaky or timing-dependent, when a test would assert elapsed time, a timeout, or performance…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
shared-types
futex-ai
Use when a Rust backend and a TypeScript or JavaScript frontend exchange data, before you add or change a request, response, query, event, message, or error…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
rust
futex-ai
Use before you write or change Rust code, add a crate or a dependency to a Cargo workspace, write or move a Rust test, define or map an error type, or add a…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
implementation-review
futex-ai
Use after you push a branch and the work needs a review, before you run a review or apply its findings, when a plan's review TODO is reached, when the user…
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
git-merge
futex-ai
Use before you merge or rebase a branch, when origin/main has moved ahead of your branch, when you resolve merge conflicts, directly after you commit a merge…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
agents-md
futex-ai
Use when a repository has no AGENTS.md or CLAUDE.md, when its AGENTS.md or docs/dev rule files still carry General, Readme, Docs, Plans, Rust, Databases, Git…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
decisions-and-findings
futex-ai
Use before you send a message that asks the user for a decision, presents review findings or review items, or gives a final report, when the user asks for…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
documentation
futex-ai
Use before you edit a README.md, a crate README, anything under docs/, an architecture doc, or a protocol doc, when a behaviour change could leave a doc…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
typescript
futex-ai
Use before you write or change TypeScript or JavaScript, add an npm dependency, set up a new package, or write a frontend file, a Node script, or a test file…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
databases
futex-ai
Use before you add, edit, or name a database migration or a seed migration, when you touch a schema, Diesel code, a migration lock, or a crate named…
SkillAFreshness: A★ 1Claude Code +9
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
- Repository
- github.com/futex-ai/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from futex-ai
- 0.592score
shared-types
futex-ai
Use when a Rust backend and a TypeScript or JavaScript frontend exchange data, before you add or change a request, response, query, event, message, or error…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
deterministic-tests
futex-ai
Use when a test fails and then passes on a rerun, when a test is flaky or timing-dependent, when a test would assert elapsed time, a timeout, or performance…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
git-commit
futex-ai
Use before you commit and directly after, when you write a commit message or a pull request title and description, when you squash, when the diff against…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
rust
futex-ai
Use before you write or change Rust code, add a crate or a dependency to a Cargo workspace, write or move a Rust test, define or map an error type, or add a…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
implementation-review
futex-ai
Use after you push a branch and the work needs a review, before you run a review or apply its findings, when a plan's review TODO is reached, when the user…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
writing-skills
futex-ai
Use when you create or edit a skill, write or change a skill description, or when an agent skipped a rule, did not load a skill, or loaded the wrong one.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
product-ui skill. Agent Mart. https://agentmart.dev/skills/futex-ai-product-ui (last updated 2026-10-24)