From dtk
Use when implementing or rebranding any UI component from a Figma design — new components or updates to existing ones.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dtk:implement-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Take a Figma design and a component (existing or new) and implement it fully — from understanding the current state to verifying the final result with DSQA.
Take a Figma design and a component (existing or new) and implement it fully — from understanding the current state to verifying the final result with DSQA.
Do NOT skip any phase. Do NOT start implementing before completing the context-gathering phases.
digraph implement_design {
rankdir=TB;
"Phase 1: Intake" [shape=box];
"Phase 2: Parallel Context" [shape=box];
"Gaps found?" [shape=diamond];
"Ask user" [shape=box];
"Phase 3: Merge & Document" [shape=box];
"Phase 4: writing-plans" [shape=box];
"Phase 5: executing-plans" [shape=box];
"Phase 6: DSQA" [shape=doublecircle];
"Phase 1: Intake" -> "Phase 2: Parallel Context";
"Phase 2: Parallel Context" -> "Gaps found?";
"Gaps found?" -> "Ask user" [label="critical gaps"];
"Gaps found?" -> "Phase 3: Merge & Document" [label="no/non-blocking"];
"Ask user" -> "Phase 3: Merge & Document";
"Phase 3: Merge & Document" -> "Phase 4: writing-plans";
"Phase 4: writing-plans" -> "Phase 5: executing-plans";
"Phase 5: executing-plans" -> "Phase 6: DSQA";
}
Ask these questions one at a time. Wait for each answer before asking the next.
Extract fileKey and nodeId from Figma URLs:
figma.com/design/<fileKey>/...?node-id=<nodeId>nodeId: replace %3A with :, replace - with :SCRIPTS="bin/skill-scripts"; [ -d "$SCRIPTS" ] || SCRIPTS="${CLAUDE_PLUGIN_ROOT:-}/bin/skill-scripts"; [ -d "$SCRIPTS" ] || SCRIPTS=$(find ~/.claude/plugins -path "*/dtk/bin/skill-scripts" -maxdepth 5 2>/dev/null | head -1); echo "$SCRIPTS"
Use the output path as $SCRIPTS for all script commands below.
If docs/lessons/ exists, load lessons relevant to frontend implementation:
bash $SCRIPTS/review/lessons-loader.sh --category frontend --content
bash $SCRIPTS/review/lessons-loader.sh --category code-patterns --content
Use these as guardrails during implementation — avoid repeating past mistakes.
Dispatch two subagents simultaneously using the Agent tool.
Tasks:
get_design_context(fileKey, nodeId) for desktop (+ mobile if provided)get_screenshot(fileKey, nodeId) for desktop (+ mobile if provided)Tasks:
src/components/, src/app/)Wait for BOTH subagents before proceeding.
Save to docs/plans/YYYY-MM-DD-implement-<component-name>.md with: Figma specs (layout, colors, typography, spacing, element inventory, visual gaps), current implementation details (files, props, state, data sources), and gap analysis (what changes, what stays, reusable components, new files needed).
If hardcoded text strings were found, add entries for any not already tracked.
Pass the context document as input to the /superpowers:writing-plans skill to produce a step-by-step implementation plan. If the Superpowers plugin is not installed, create the implementation plan inline following the context document.
Pass the implementation plan to the /superpowers:executing-plans skill. If the Superpowers plugin is not installed, execute the plan steps sequentially.
After the implementation is complete, invoke /dtk:dsqa with:
data-dsqa selector (kebab-case)npx claudepluginhub junielton/claude-base-dtk --plugin dtkImplement UI from design sources (Figma, Sketch, MasterGo, etc.) into production-ready frontend components. Reuses existing components, maps design tokens, ensures accessibility and type safety.
Generates production-grade frontend UI components with bold design choices and working code. Accepts component descriptions, requirements, PRD files, or OpenAPI contracts.
Automates design handoff from Figma to code: extracts tokens, maps components, detects drift, and generates implementation plans. Reduces handoff time from hours to minutes.