Install
$ agentstack add skill-kama34-kama-skills-figmadeck ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Figmadeck — Figma-Native Presentation Generator
Create presentations by cloning and adapting Figma templates directly. No conversion to HTML/CSS — work inside Figma, preserving every gradient, shadow, image, and font exactly.
References
Before executing, read the relevant reference for the current mode:
references/figma-generation.md— Generation mode: clone → analyze → match → fillreferences/qa-cycle.md— QA: Figma-native structural + visual + design critique cyclereferences/figma-learning.md— Learn mode: calibration + iterative improvementreferences/auth.md— Authentication: Playwright login to Figmareferences/design-rules.md— Universal design rules (readability, spacing, hierarchy)
MANDATORY: Before any use_figma call, load the figma-use skill (from the Figma MCP plugin). It contains critical Plugin API rules.
Input Parsing
Help
--help: Display usage and stop:
Figmadeck — Figma-Native Presentation Generator
Usage:
/figmadeck Create presentation in Figma
/figmadeck --learn=N Calibration + learning (N cycles)
/figmadeck --export pdf|png [figma-url] Export via Playwright
/figmadeck --edit Edit existing generated page
/figmadeck --help Show this help
Subcommands
--export [figma-url]: Export presentation.
- Run auth check (
references/auth.md) - Playwright: open Figma file → navigate to generated page ("Generated: ...")
- For
pdf: File → Export PDF, or Presentation Mode → Print to PDF - For
png:get_screenshotper slide → save locally - Fallback: export each frame via
get_screenshot→ combine to PDF via Python/Pillow
--edit : Edit existing presentation.
- Open Figma file, find generated page (name prefix "Generated:")
- Read user's edit comment
- Apply changes via
use_figma - Run QA cycle (
references/qa-cycle.md) to validate
Mode Detection
- Figma URL +
--learn=N→ Learning mode: readreferences/figma-learning.md. Max N: 10. - Figma URL + outline → Generation mode: read
references/figma-generation.md, thenreferences/qa-cycle.md. --export→ Export mode: readreferences/auth.md, execute export.--edit→ Edit mode: find generated page, apply changes, run QA.
URL Parsing
Extract fileKey from Figma URL:
figma.com/design/:fileKey/:fileName→ fileKeyfigma.com/design/:fileKey/branch/:branchKey/:fileName→ use branchKey- If URL is not
figma.com/design/...→ error
Hard Constraints
The generated presentation MUST have exactly the same number of slides, in exactly the same order, with exactly the same content as the outline. Never add, remove, merge, or reorder slides beyond what the outline specifies.
Mandatory Title Slide
CRITICAL: The first slide MUST always be a cover/title slide (contentType: "intro"). Rules:
- If the outline's first slide is explicitly a title/cover → use it as-is
- If the outline does NOT start with a title slide → prepend one automatically: use the presentation topic as the title and the first outline slide's subtitle or description as the subtitle
- The title slide MUST be matched to an
intro-type template (largest title fontSize, cover layout). If nointrotemplate exists → use the first template frame and adapt it as a cover - A title slide with only 1 short word in an oversized slot looks empty — use 2+ words or a title+subtitle pair (see
design-lessons.md)
Zero Placeholder Text
CRITICAL: After generation, NO template placeholder text may remain in ANY text node. Rules:
- Every visible TEXT node with
fontSize > 10MUST be filled with content from the outline or contextually appropriate metadata (page number, project name, section name) - If a text node has no matching role in the outline → fill with contextual content (section name, slide title, empty string for decorative labels) — but NEVER leave the original English/template text
- During Step 5 (Fill), if
newTextis undefined for a role → do NOTcontinuesilently. Instead, set the node to the slide's title, section name, or""(empty) as a last resort - QA MUST flag any text node where
charactersmatches the original template text ANDfontSize > 10
No Text Overlap
CRITICAL: Text elements MUST NOT overlap each other or any other visible elements. Rules:
- After filling each slide, run a pairwise overlap check between ALL visible text nodes on that slide (not just text vs top-level sections)
- If two text nodes overlap → apply fix priority: expand container width → shorten text → reduce fontSize → move element
- Russian text is 20-40% longer than English — every text replacement MUST include an overlap check against sibling text nodes within the same parent container
- The minimum gap between any two text elements is 8px. Between unrelated elements: 16px
Content Adaptation
When outline content is longer than the template placeholder text:
- Shorten/rephrase to fit (preserve core meaning)
- textAutoResize = "HEIGHT" to let text grow
- Reduce fontSize (minimum = current × 0.85)
- Last resort: move overflow detail to a note
Mandatory QA — All 4 Levels
CRITICAL — NON-NEGOTIABLE: After generation, ALL 4 QA levels MUST execute in strict order. NONE may be skipped.
| Level | What | Can be skipped? | |-------|------|-----------------| | Level 1 | Per-slide structural + visual checklist | NO | | Level 2 | Designer Critic cycle | NO | | Level 3 | Client Simulator cycle | NO | | Level 4 | Senior Reviewer cycle | NO |
This applies regardless of: deck size, how clean L1 reports, time spent, context pressure, or number of presentations in a session. Each presentation gets its own full 4-level QA. If any level is skipped, the presentation is INCOMPLETE and must not be delivered.
Print ✅ Level N COMPLETE — proceeding to Level N+1 between each level as a verification gate.
Autonomous Execution
CRITICAL: Execute all steps autonomously without stopping for confirmation. If blocked, attempt to resolve (2-3 attempts). Only stop if truly unresolvable.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: kama34
- Source: kama34/kama-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.