From harness
Use when the user says "/harness:design", "design the UI for", "how should this look", "plan the components", "UI for this feature", or wants to create component trees, layout descriptions, and interaction maps for a feature.
npx claudepluginhub lukaleskovsek/makers-and-breakers-claude-marketplace --plugin harnessThis skill uses the workspace's default tool permissions.
Design UI/UX for features in any codebase. Produce component trees, layout descriptions, data flow diagrams, and interaction maps. Adapts to the project's framework and component patterns via KB.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
Design UI/UX for features in any codebase. Produce component trees, layout descriptions, data flow diagrams, and interaction maps. Adapts to the project's framework and component patterns via KB.
Check for .harness/kb/stack-profile.md. If missing, tell the user to run /harness:init first.
Based on the target app/section:
.harness/kb/stack-profile.md + .harness/kb/ui-patterns.md.harness/kb/data-layer.md.harness/kb/api-surface.mdDetermine:
ui-patterns.md to identify which app or section this targetsIf ambiguous, ask ONE question to clarify the target.
Read ui-patterns.md to understand:
Then check existing components in the target area before proposing new ones. Reference specific existing components by name.
Create these artifacts for the feature:
FeaturePage
├── FeatureHeader (title, actions)
├── FeatureContent
│ ├── FilterBar (uses existing filters pattern)
│ ├── DataView
│ │ ├── DataTable (follows existing table pattern)
│ │ └── EmptyState
│ └── DetailPanel
│ ├── DetailHeader
│ └── DetailBody
└── FeatureFooter (pagination, bulk actions)
Describe the visual layout in prose or ASCII wireframe. Reference the grid/layout system from ui-patterns.md.
Where data comes from, how it transforms, where it renders:
User actions and system responses:
| User Action | System Response | Component | Notes |
|---|---|---|---|
| Click filter | Re-fetch with params | FilterBar | Debounced |
| Select row | Open detail panel | DataTable | Slide-in |
| Need | Existing Component | Action |
|---|---|---|
| Data table | {existing table component} | Reuse with custom columns |
| Form | {existing form pattern} | Follow same pattern |
| Chart | None exists | Build new, follow {style} |
Present design artifacts. Iterate on:
After design artifacts are agreed upon, generate 3 standalone HTML mockups for visual comparison.
Compose a variant brief from the finalized design artifacts:
ui-patterns.md and the live codebase for color usage, spacing, and layout conventions to match the project's look and feelGenerate 3 HTML files, each differing in at least one meaningful UX dimension:
Each file must be:
.html file with <script src="https://cdn.tailwindcss.com">Save to {target_dir}/{topic}-variant-a.html, -variant-b.html, -variant-c.html.
Present to the user:
"I've generated 3 HTML mockups for visual comparison. Open these in your browser:
A) [approach name] — [1-line description]
B) [approach name] — [1-line description]
C) [approach name] — [1-line description]
Which direction do you prefer? (or 'skip' to proceed without variants)"
Record the chosen variant letter for inclusion in the design doc.
Save to {target_dir}/design-{slug}-{date}.md with frontmatter:
---
title: "{design title}"
type: design
date: {ISO date}
target-app: "{app name from ui-patterns.md}"
variants: completed | skipped
chosen-variant: "{letter}" # if variants completed
next-skill: prototype
---
If variants were completed, add a section to the design doc body:
## Visual Direction
Variant **[letter]** selected.
Approach: [approach name — e.g., "Dense sidebar layout"]
Key visual decisions:
- [differentiators from the chosen variant]
Also store via MCP: call harness_add_skillflow_step with skill_type: "design".
/harness:prototype to build this based on variant [letter]"/harness:ground to verify the data layer"/harness:ground instead