
Research
/Security News
Miasma Mini Shai-Hulud Hits ImmobiliareLabs npm Packages
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.
Swiss-army knife CLI for Figma Slides .deck files. Parse, inspect, modify, and rebuild presentations programmatically — no Figma API required.
Each Figma product has its own native file format:
| Product | Extension | Supported |
|---|---|---|
| Figma Slides | .deck | ✅ |
| Figma Design | .fig | ❌ not yet |
| Figma Jam (whiteboard) | .jam | ❌ not yet |
| Figma Buzz | .buzz | ❌ not yet |
| Figma Sites | .site | ❌ not yet |
| Figma Make | .make | ❌ not yet |
.deck?Figma Slides lets you download presentations as .deck files and re-upload them. This is the native round-trip format. Exporting to .pptx is lossy — vectors get rasterized, fonts fall back to system defaults, layout breaks. By staying in .deck, you preserve everything exactly as Figma renders it.
FigmaTK makes this round-trip programmable. Download a .deck, modify it, re-upload. Everything stays native.
Plug in Claude Cowork or any coding agent and you have an AI that can read and edit Figma presentations end-to-end — without ever opening the Figma UI.
.deck.deck filenpm install -g figmatk
Node 18+. No build step. Pure ESM.
figmatk inspect my-presentation.deck # node hierarchy
figmatk list-text my-presentation.deck # all text + images per slide
figmatk list-overrides my-presentation.deck # editable fields per symbol
→ Full CLI reference: docs/cli.md
FigmaTK supports two Claude Cowork install paths:
.mcpb bundle install, which matches Anthropic's current desktop-extension packaging modelIf you want Claude Cowork to keep checking the repo for updates, install figmatk from GitHub/personal plugins inside Claude Cowork.
That path uses the checked-in plugin.json and marketplace.json metadata.
Build the extension bundle:
npm install
npm run pack
This creates dist/figmatk.mcpb. Install that bundle from Claude Desktop/Cowork's Extensions UI.
Install in Claude Cowork:
Settings.Extensions.dist/figmatk.mcpb.Use this path when you want a local extension artifact. Unlike the GitHub-backed personal plugin path, local .mcpb installs do not poll the repo for updates automatically.
The MCP server covers four high-level workflows:
→ MCP tool reference: docs/mcp.md
FigmaTK supports two related template states:
SLIDE_ROW -> SLIDE -> ...SLIDE_ROW -> MODULE -> SLIDE -> ...Reusable template authoring is built around explicit layout and slot naming, then a publish-like wrapping step before later instantiation.
→ Template workflow guide: docs/template-workflows.md
import { Deck } from 'figmatk';
const deck = await Deck.open('template.deck');
const slide = deck.slides[0];
slide.addText('Hello world', { style: 'Title' });
await deck.save('output.deck');
| Docs | |
|---|---|
| MCP / Claude workflows | docs/mcp.md |
| High-level API | docs/figmatk-api-spec.md |
| Low-level FigDeck API | docs/library.md |
| Template workflows | docs/template-workflows.md |
| File format internals | docs/format/ |
MIT
FAQs
Figma Toolkit — Swiss-army knife CLI for Figma .deck and .fig files
We found that figmatk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.

Security News
Rolldown paused Rust React Compiler integration after a 5MB binary size increase raised concerns about shipping React-specific code to all Vite users.

Security News
/Research
Mini Shai-Hulud expands into the Go ecosystem after hitting LeoPlatform npm packages and targeting GitHub Actions workflows.