skills/figma/SKILL.md
Use when implementing UI from Figma designs, translating Figma nodes to production code, fetching design context or screenshots via Figma MCP, or troubleshooting Figma MCP integration. NEVER use for designing in Figma, non-Figma design tools, or creating designs from scratch without a Figma source.
npx skillsauth add sharkitect-solutions/sharkitect-claude-toolkit figmaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| File | Purpose | Load When |
|------|---------|-----------|
| references/figma-mcp-config.md | Server config snippet, env var setup, OAuth troubleshooting | MCP not connecting, token errors, first-time setup |
| references/figma-tools-and-prompts.md | Full tool catalog with signatures, prompt patterns, framework overrides | Choosing which MCP tool to call, generating non-React output |
Execute these steps in order. Do not skip or reorder.
get_design_context with the exact Figma node link.get_metadata first to map the layer tree, then re-call get_design_context on only the required sub-nodes.get_variable_defs to surface the color, spacing, and typography tokens used in the selection. Map these to the project's token system before writing code.get_screenshot for a visual reference. Keep it open throughout implementation.get_code_connect_map to find existing component mappings before writing new components. Reuse mapped components unconditionally.| Situation | Action |
|-----------|--------|
| get_design_context returns partial or empty data | Verify the link points to the exact frame or layer, not the file root. Re-extract node ID from the URL. |
| Design tokens in Figma conflict with project tokens | Project tokens win. Adjust spacing or sizes minimally to preserve visual parity. Document the override. |
| Asset missing from localhost MCP payload | Do not substitute with external CDN or icon package. Re-fetch the node; if still missing, flag to the user before continuing. |
| Node is a FigJam diagram | Use get_figjam instead of get_design_context. |
| Output is generic and ignores project stack | Re-state the project framework in the prompt: "generate using components from src/components/ui styled with [system]". See references/figma-tools-and-prompts.md for prompt patterns. |
| MCP server not reachable | Load references/figma-mcp-config.md for env var verification and OAuth troubleshooting steps. |
The MCP outputs React + Tailwind by default. Treat it as a design specification, not final code.
| Figma MCP Output | Project Adaptation Rule |
|-----------------|------------------------|
| Tailwind utility classes | Replace with the project's preferred utilities or design-system tokens |
| Inline color values (hex or rgb) | Replace with the project's color tokens confirmed via get_variable_defs |
| Generated primitive elements (button, input, icon wrapper) | Replace with existing project components; never duplicate functionality |
| Hardcoded spacing or size values | Replace with spacing or typography scale tokens where a match exists |
| Data-fetch or state logic | Conform to existing repo patterns; do not introduce new patterns |
| Framework (React default) | Override via prompt: "generate in Vue / plain HTML / iOS" -- see references/figma-tools-and-prompts.md |
Issues that arise specifically during Figma-to-code translation that are not obvious:
get_variable_defs and manually map variable names to project tokens before writing styles -- do not assume names will match.get_design_context includes all layers, including hidden ones. Review generated code for invisible elements that should not be rendered.get_code_connect_map confirms a match.| Decision | Rationale |
|----------|-----------|
| Run get_design_context before any implementation | Skipping causes implementation drift; the node ID alone is insufficient to infer layout, tokens, or constraints |
| Use get_metadata only when context is truncated | Calling it on every node adds unnecessary latency; it exists to work around size limits, not as a default step |
| Run get_variable_defs before mapping tokens | Variable names in Figma and in the project rarely match; manual mapping from this output prevents silent token mismatches |
| Project tokens override Figma tokens | Design-system consistency outweighs pixel-perfect Figma fidelity; minor visual deviations are acceptable when tokens are correctly applied |
| Use localhost asset sources directly | MCP serves assets at a stable local endpoint during the session; fetching from CDN introduces unnecessary external dependencies |
| Check get_code_connect_map before creating new components | Reusing mapped components prevents sprawl; duplicate implementations diverge over time and create maintenance debt |
get_design_contextget_code_connect_map returns a match for the nodeget_screenshot validation step before marking implementation completeget_screenshot outputdevelopment
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ad copy,' 'ad creative,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' or 'audience targeting.' This skill covers campaign strategy, ad creation, audience targeting, and optimization.
testing
--- name: using-sharkitect-methodology description: Use when starting any conversation in a Sharkitect workspace OR before any task involving NEW pricing, positioning, proposal, strategy, plan-execution, or schema-design work — mandates invocation of Sharkitect-specific methodology skills (pricing-strategy, marketing-strategy-pmm, smb-cfo, hq-revenue-ops, executing-plans, brainstorming) under the same anti-rationalization discipline as using-superpowers. Documentation has failed 4 times across H
testing
Use when user says 'end session', 'wrap up', 'stop for the day', 'done for today', 'close out', 'save session', 'wrapping up', or invokes /end-session. Runs the full 9-step end-of-session protocol: resource audit, MEMORY.md update, lessons capture, plan status, pending items, workspace checklist, .tmp/ audit, git commit+push, Supabase brain sync, session brief, summary. Final step schedules a detached self-kill of the current session ONLY (3s delay) so the window closes cleanly. Other claude.exe processes (active workspaces) are NOT touched -- orphan cleanup is handled separately by Claude-Orphan-Cleanup-Hourly with proper age safeguards. Do NOT use for: mid-session quick saves (use session-checkpoint), skill syncing (use sync-skills.py), brain memory queries (use supabase-sync.py pull), document freshness reviews (use document-lifecycle), resource gap detection (use resource-auditor).
testing
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, passive voice, negative parallelisms, and filler phrases.