CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

product-ui-taste

Anti-slop skill for PRODUCT UI - dashboards, data tables, forms, multi-step flows, settings, list/detail, app shells. The agent reads the surface, budgets the frame first, and ships dense interfaces that are correct at every edge case (overflow, long labels, empty/error/loading states, i18n expansion, keyboard/a11y). House-system-first; maps to Carbon/Polaris/Atlaskit/Fluent/Primer/Material3/Radix-shadcn/Ant. The counterpart to taste-skill, which owns landing/portfolio/marketing.

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/product-ui-taste/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

47%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is maximally lean but is a pure delegation stub: its primary directive points at this skill's own path, creating a circular reference, and every substantive instruction lives in files absent from the bundle. A reader of this skill cannot execute, follow, or navigate to any actual product-UI guidance.

Suggestions

Replace the circular redirect ('Read .claude/skills/product-ui-taste/SKILL.md and execute it exactly as written' — that is this file's own path) with an inlined concise overview of the product-UI method: budget the frame, surface checklist, and design-system mapping.

Ship the referenced files (the playbook, .agents/rules/cog.md, worker definitions) inside the bundle's references/ so the delegation chain is navigable and only one level deep, or drop the delegation and inline the essentials.

Add validation checkpoints (e.g., verify overflow, long labels, empty/error/loading states, and keyboard/a11y behavior before declaring an interface done) so the workflow has explicit feedback loops.

DimensionReasoningScore

Conciseness

The five-line body wastes nothing: no explanation of concepts Claude already knows, no padding — every line is a directive ('Read ... and execute it exactly as written', 'Then follow .agents/rules/cog.md') or a concrete conditional substitution rule. Lean and efficient throughout.

5 / 5

Actionability

Concrete file paths are given, but the body contains none of the actual executable guidance for the skill's stated purpose; the single directive delegates to '.claude/skills/product-ui-taste/SKILL.md', which is this very skill's own path (circular), and none of the referenced files ('.agents/rules/cog.md', '.agents/agents/<name>.md') exist in the bundle. High-level redirect with the specific steps to execute missing. Not 1 because it does instruct with explicit paths rather than merely describe.

2 / 5

Workflow Clarity

A rough sequence is present (read playbook → follow cog.md, plus a conditional substitution rule), but the primary step is incoherent as written — its target is the skill's own file — and no validation checkpoints exist anywhere in the body. Not 3 because the sequence cannot actually be followed from what is written: the playbook it depends on is either absent from the bundle or the file itself.

2 / 5

Progressive Disclosure

References are explicitly signaled but the body is a bare redirect with no overview content of its own, and the delegation chain extends two-plus levels (this SKILL.md → the playbook → '.claude/agents/<name>' workers → '.agents/agents/<name>.md'), with none of the referenced files present in the bundle, making navigation impossible. Not 1 because the body itself is short, organized into two clearly labeled parts, and its references are not buried; not 3 because the skill provides no overview to organize and the chain dead-ends at absent files.

2 / 5

Total

11

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A dense, specific description that comprehensively names product-UI surfaces, concrete behaviors, edge-case concerns, and design-system mappings while explicitly carving out its counterpart's territory. Its only weakness is the absence of an explicit 'Use when...' trigger clause, leaving activation conditions implied by the surface list rather than stated.

Suggestions

Add an explicit trigger clause such as 'Use when building or restyling product UI: dashboards, data tables, forms, settings, or admin flows' so activation conditions are stated rather than inferred from the surface enumeration.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and comprehensive coverage: 'reads the surface, budgets the frame first, and ships dense interfaces that are correct at every edge case (overflow, long labels, empty/error/loading states, i18n expansion, keyboard/a11y)' across enumerated surfaces ('dashboards, data tables, forms, multi-step flows, settings, list/detail, app shells'). Not 4 because coverage spans both surface types and edge-case correctness with no meaningful gap in the product-UI domain.

5 / 5

Completeness

The 'what' is clear (anti-slop product-UI skill, house-system-first, edge-case-correct dense interfaces) and the 'when' is present via 'for PRODUCT UI - dashboards, data tables, forms...' plus the counterpart scoping ('The counterpart to taste-skill, which owns landing/portfolio/marketing'), which functions as explicit trigger guidance. Not 5 because there is no explicit 'Use when...' phrasing; the trigger conditions must be inferred from the surface enumeration and could be stated more directly.

4 / 5

Trigger Term Quality

Comprehensive natural terms users would actually say: 'dashboards', 'data tables', 'forms', 'multi-step flows', 'settings', 'app shells', plus design-system synonyms (Carbon/Polaris/Atlaskit/Fluent/Primer/Material3/Radix-shadcn/Ant) and scope-clarifying terms ('landing/portfolio/marketing'). Not 4 because it covers both lay surface names and framework-specific synonyms a user might name directly.

5 / 5

Distinctiveness Conflict Risk

Clear niche (product UI) with an explicitly drawn boundary against its closest sibling ('The counterpart to taste-skill, which owns landing/portfolio/marketing') and distinct design-system triggers. Not 4 because the one real overlap risk (the counterpart taste skill) is explicitly disambiguated in the description itself.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

huytieu/COG-second-brain

Path

.agents/skills/product-ui-taste/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.