Extension ID
figma
Extension Name
Spec Kit Figma
Version
3.1.1
Description
Grounds SpecKit spec/plan/tasks in Figma design context via REST or MCP, on macOS/Linux/Windows.
Author
Fyloss
Repository URL
https://github.com/Fyloss/spec-kit-figma
Download URL
https://github.com/Fyloss/spec-kit-figma/archive/refs/tags/v3.1.1.zip
License
MIT
Homepage (optional)
https://github.com/Fyloss/spec-kit-figma
Documentation URL (optional)
https://github.com/Fyloss/spec-kit-figma/blob/main/docs/
Changelog URL (optional)
https://github.com/Fyloss/spec-kit-figma/blob/main/CHANGELOG.md
Required Spec Kit Version
=0.11.2
Required Tools (optional)
- git - required
- bash (>=4), curl, jq - required on macOS/Linux (POSIX engine, scripts/bash/*.sh)
- pwsh (>=7.0) - required on Windows (PowerShell ports, scripts/powershell/*.ps1)
- A read-only Figma personal access token (scope: file_content:read) - required at runtime
Number of Commands
7
Number of Hooks (optional)
11 (6 before_* + 5 after_*)
Tags
figma, design, frontend, ui, design-system
Key Features
- Grounds /speckit.specify, /speckit.plan, /speckit.tasks, /speckit.analyze, /speckit.converge and /speckit.implement in Figma design context, automatically, via before_* hooks
- Two interchangeable engines: portable REST (curl + jq, CI-friendly) and optional MCP for higher-fidelity mockup implementation, with transparent REST fallback
- Auto-detects Figma links pasted in the feature input and introspects the linked file, frames and nodes;
oversized link scope forces a confirmation checkpoint instead of reasoning over a 12,000px page
- Cross-file source-component resolution (new in 3.1.1): resolves an INSTANCE's main component through Figma's component registry, so components published from a Design System or another library are no longer degraded to instance-only data
- Deterministic extracted values (spacing, typography, colors) rendered into the spec/plan/tasks section, so weaker models cannot guess them
- after_* hooks verify the design section actually landed in the document and self-correct; --strict turns it into a CI gate
- /speckit.figma.export renders nodes to images: confirmation previews next to the spec, or shipped assets (.svg/.png) tracked in a manifest that refuses to overwrite hand-edited files
- /speckit.figma.drift reports when the Figma file changed after the spec was generated
- 3-level component resolution (reuse -> Design System -> app), works with or without a Design System
- Single-repo (default), mono-repo (Nx/Turborepo/pnpm/yarn/Lerna) and multi-repo (git submodules) layouts
- Cross-platform: bash helpers for macOS/Linux, PowerShell 7+ ports for Windows, same flags/JSON/exit codes
Testing Checklist
Submission Requirements
Testing Details
Automated (GitHub Actions, on every PR and on the v3.1.1 tag):
- ShellCheck on scripts/bash/*.sh and install.sh
- bats suite (13 files) on ubuntu-latest
- PSScriptAnalyzer on the PowerShell ports
- Pester 5 suite on windows-latest AND ubuntu-latest
- Validation of the five shipped example configs against the JSON schema
Manual:
- [OS + Spec Kit version used, e.g. macOS 26.6.1 with Spec Kit v0.16.2]
- Installed from the v3.1.1 release archive with
specify extension add figma --from <url>
- Ran /speckit.figma.config, then a full specify -> plan -> tasks -> implement cycle on [test project]
- Verified the design section is injected by the before_* hooks and confirmed by the after_* hooks
- Verified the 3.1.1 change specifically: an INSTANCE whose main component is published from a separate Design System file now resolves, and the "Source components" table shows the File column
- Verified upgrade path from 3.0.0 via /speckit.figma.update (figma.projects.config.json preserved)
Example Usage
# Install / update the extension from the v3.1.1 release
specify extension add figma --from https://github.com/Fyloss/spec-kit-figma/archive/refs/tags/v3.1.1.zip
# Configure once per workspace (selects the REST or MCP engine, validates connectivity)
/speckit.figma.config
# Then just paste a Figma link in the feature description — the hooks do the rest
/speckit.specify Build the checkout summary card https://www.figma.com/design/AbC123/Shop?node-id=412-1877
# Optional: deep dive, export assets, check drift
/speckit.figma.introspect --node 412:1877 --depth 3
/speckit.figma.export --mode asset --node 88:12 --format svg --out packages/ds/assets
/speckit.figma.drift
Proposed Catalog Entry
{
"figma": {
"name": "Spec Kit Figma",
"id": "figma",
"description": "Grounds SpecKit spec/plan/tasks in Figma design context via REST or MCP, on macOS/Linux/Windows.",
"author": "Fyloss",
"version": "3.1.1",
"download_url": "https://github.com/Fyloss/spec-kit-figma/archive/refs/tags/v3.1.1.zip",
"repository": "https://github.com/Fyloss/spec-kit-figma",
"homepage": "https://github.com/Fyloss/spec-kit-figma",
"license": "MIT",
"requires": {
"speckit_version": ">=0.11.2"
},
"provides": {
"commands": 7,
"hooks": 11
},
"tags": ["figma", "design", "frontend", "ui", "design-system"],
"verified": false,
"downloads": 0,
"stars": 0,
"created_at": "2026-06-17T00:00:00Z",
"updated_at": "2026-08-25T18:08:04Z"
}
}
Additional Context
Update submission for the Figma extension, from the previously submitted version to 3.1.1.
Two things worth flagging for review:
-
requires.speckit_version moves from ">=0.1.0" to ">=0.11.2" (breaking prerequisite, released as 3.0.0). Reason: /speckit.converge's command template — and therefore the before_converge / after_converge hook points — first ships in Spec Kit 0.11.2. Every other hook registered here has existed since at least 0.9.5. Users on an older Spec Kit must run uv tool upgrade specify-cli before updating.
-
The command surface changed in 3.0.0: speckit.figma.setup was renamed speckit.figma.config, and speckit.figma.export / speckit.figma.drift were added (5 commands -> 7). Existing installs upgrade in place via /speckit.figma.update, which is idempotent and preserves figma.projects.config.json.
Changelog for this release: https://github.com/Fyloss/spec-kit-figma/blob/main/CHANGELOG.md
Full diff: Fyloss/spec-kit-figma@v1.6.0...v3.1.1
Extension ID
figma
Extension Name
Spec Kit Figma
Version
3.1.1
Description
Grounds SpecKit spec/plan/tasks in Figma design context via REST or MCP, on macOS/Linux/Windows.
Author
Fyloss
Repository URL
https://github.com/Fyloss/spec-kit-figma
Download URL
https://github.com/Fyloss/spec-kit-figma/archive/refs/tags/v3.1.1.zip
License
MIT
Homepage (optional)
https://github.com/Fyloss/spec-kit-figma
Documentation URL (optional)
https://github.com/Fyloss/spec-kit-figma/blob/main/docs/
Changelog URL (optional)
https://github.com/Fyloss/spec-kit-figma/blob/main/CHANGELOG.md
Required Spec Kit Version
Required Tools (optional)
Number of Commands
7
Number of Hooks (optional)
11 (6 before_* + 5 after_*)
Tags
figma, design, frontend, ui, design-system
Key Features
oversizedlink scope forces a confirmation checkpoint instead of reasoning over a 12,000px pageTesting Checklist
Submission Requirements
extension.ymlmanifest includedTesting Details
Automated (GitHub Actions, on every PR and on the v3.1.1 tag):
Manual:
specify extension add figma --from <url>Example Usage
Proposed Catalog Entry
{ "figma": { "name": "Spec Kit Figma", "id": "figma", "description": "Grounds SpecKit spec/plan/tasks in Figma design context via REST or MCP, on macOS/Linux/Windows.", "author": "Fyloss", "version": "3.1.1", "download_url": "https://github.com/Fyloss/spec-kit-figma/archive/refs/tags/v3.1.1.zip", "repository": "https://github.com/Fyloss/spec-kit-figma", "homepage": "https://github.com/Fyloss/spec-kit-figma", "license": "MIT", "requires": { "speckit_version": ">=0.11.2" }, "provides": { "commands": 7, "hooks": 11 }, "tags": ["figma", "design", "frontend", "ui", "design-system"], "verified": false, "downloads": 0, "stars": 0, "created_at": "2026-06-17T00:00:00Z", "updated_at": "2026-08-25T18:08:04Z" } }Additional Context
Update submission for the Figma extension, from the previously submitted version to 3.1.1.
Two things worth flagging for review:
requires.speckit_versionmoves from ">=0.1.0" to ">=0.11.2" (breaking prerequisite, released as 3.0.0). Reason: /speckit.converge's command template — and therefore the before_converge / after_converge hook points — first ships in Spec Kit 0.11.2. Every other hook registered here has existed since at least 0.9.5. Users on an older Spec Kit must runuv tool upgrade specify-clibefore updating.The command surface changed in 3.0.0:
speckit.figma.setupwas renamedspeckit.figma.config, andspeckit.figma.export/speckit.figma.driftwere added (5 commands -> 7). Existing installs upgrade in place via/speckit.figma.update, which is idempotent and preserves figma.projects.config.json.Changelog for this release: https://github.com/Fyloss/spec-kit-figma/blob/main/CHANGELOG.md
Full diff: Fyloss/spec-kit-figma@v1.6.0...v3.1.1