ab-variants
Generate A/B test design variants from an existing Figma screen — alternate layouts, CTA placements, color treatments, and copy…
Generate an interactive HTML presentation from Figma screens — annotated walkthrough with transitions, speaker notes, and keyboard navigation.
> /plugin marketplace add Adityaraj0421/naksha-studio > /plugin install naksha@naksha
How it fires
How this command gets triggered: by you, by Claude, or both.
/design-presentContext preview
What this command does when you run it.
Generate an interactive HTML presentation from Figma screens — annotated walkthrough with transitions, speaker notes, and keyboard navigation.
description: "Generate an interactive HTML presentation from Figma screens — annotated walkthrough with transitions, speaker notes, and keyboard navigation." argument-hint: "[Figma URL or 'current file'] [presentation style: walkthrough, pitch, case-study]" allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "mcp__*"]
You are generating an **interactive HTML presentation** from Figma designs. This creates a self-contained, deployable presentation for stakeholder reviews, design critiques, or case study walkthroughs.
Input: **$ARGUMENTS**
Read `${CLAUDE_PLUGIN_ROOT}/skills/design/references/ui-designer.md` for visual design principles and `${CLAUDE_PLUGIN_ROOT}/skills/design/references/motion-designer.md` for animation guidance.
figma_get_status → verify connection
Get the file structure to identify presentable screens:
figma_execute: `
await figma.loadAllPagesAsync();
const pages = figma.root.children.map(p => ({
name: p.name,
frames: p.children
.filter(c => c.type === 'FRAME' || c.type === 'SECTION')
.map(f => ({
id: f.id,
name: f.name,
width: Math.round(f.width),
height: Math.round(f.height),
childCount: f.children?.length || 0
}))
}));
return pages;
`Based on the Figma file structure and user intent, plan the slide deck:
**Presentation Types:**
| Type | Structure | Best For | |------|-----------|----------| | **Walkthrough** | Screen-by-screen with annotations, flow arrows | Design review, team feedback | | **Pitch** | Problem → Solution → Features → Impact | Stakeholder buy-in, client presentations | | **Case Study** | Challenge → Process → Solution → Results | Portfolio, design challenges |
Default to **walkthrough** if not specified.
For each screen to present:
figma_capture_screenshot(frameId) → save as slide image
Or use REST API for cloud-state images:
figma_get_component_image(nodeId, format='png', scale=2)
For each screen, extract contextual information:
figma_execute: `
const frame = await figma.getNodeByIdAsync('FRAME_ID');
const texts = frame.findAllWithCriteria({ types: ['TEXT'] });
const headings = texts
.filter(t => t.fontSize >= 20)
.map(t => ({ text: t.characters, size: t.fontSize }))
.sort((a, b) => b.size - a.size);
const colors = new Set();
function collectColors(node) {
if (node.fills?.length && node.fills[0]?.type === 'SOLID') {
const c = node.fills[0].color;
colors.add('#' + [c.r, c.g, c.b].map(v => Math.round(v * 255).toString(16).padStart(2, '0')).join(''));
}
if ('children' in node) node.children.forEach(collectColors);
}
collectColors(frame);
return {
name: frame.name,
dimensions: { w: Math.round(frame.width), h: Math.round(frame.height) },
headings: headings.slice(0, 3),
colorPalette: [...colors].slice(0, 8),
componentCount: frame.findAllWithCriteria({ types: ['INSTANCE'] }).length,
textNodeCount: texts.length
};
`Generate a single-file HTML presentation with:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>[Project Name] — Design Presentation</title>
<script src="https://cdn.tailwindcss.com"></script>
<style>
/* Slide transitions */
.slide { opacity: 0; transform: translateX(40px); transition: all 0.5s ease; }
.slide.active { opacity: 1; transform: translateX(0); }
.slide.prev { opacity: 0; transform: translateX(-40px); }
/* Presenter controls */
.progress-bar { transition: width 0.3s ease; }
.slide-counter { font-variant-numeric: tabular-nums; }
</style>
</head>**Title Slide**
Project name, subtitle, date, team Dark gradient background with accent color from design
**Screen Slide**
Screenshot (centered, max 80vh) Screen name as heading 2-3 annotation callouts pointing to key decisions Optional speaker notes below
**Comparison Slide**
Before/After or two variants side by side Labels and change description
**Flow Slide**
Multiple screens connected by arrows Step numbers and flow description
**Spec Slide**
Design token summary — colors, typography, spacing Visual swatches with values
**Summary Slide**
Key decisions recap Next steps
For each screen slide, generate 2-4 annotation callouts that highlight:
Annotations use numbered badges that correspond to notes below the image.
Use the preview server to verify the presentation:
preview_start → launch dev server preview_screenshot → capture the result preview_snapshot → verify slide structure and navigation
Test:
Deliver the presentation as a single HTML file:
./[projec
Your agency's design brain. Always on, always yours. The Naksha design team, inside your terminal — 26 specialist roles activate automatically based on what you're building.
Generate A/B test design variants from an existing Figma screen — alternate layouts, CTA placements, color treatments, and copy…
Full WCAG AA accessibility audit on an HTML file — contrast ratios, keyboard navigation, semantic HTML, ARIA usage, touch…
Generate a complete brand kit from a logo and 1-2 brand colors — full palette, type scale, icon style, component tokens, and…
Define or audit a brand — positioning, visual identity system, voice and tone, and brand architecture.
Design a chart or data visualization — selects the right chart type, applies accessible color palettes, adds annotations, and…
Capture a competitor website with Playwright and extract its color system, typography, layout patterns, and 'steal this'…