figma-conventions
Use this skill when the user is about to do design work in Figma — creating or editing components, building layouts, working with variables/tokens, or…
Skill by asabina-de
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/asabina-de-figma-conventions
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, backend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/figma-conventions
What's inside
- Skill name
figma-conventions- Description
- Use this skill when the user is about to do design work in Figma — creating or editing components, building layouts, working with variables/tokens, or reviewing visual output. Trigger for prompts like 'let's work on the Figma', 'design this component', 'update the card layout', 'fix the alignment', 'add a new variant', or when a task involves modifying a Figma file through the Plugin API or MCP tools. This skill provides opinionated workflow conventions for how to organize and maintain Figma files effectively — it complements the operational Figma skills (figma-use, figma-generate-design) which handle API mechanics. Do NOT trigger for purely code-side design token work (that's DESIGN.md territory) or for reading Figma files without modifying them.
- License
- CC-BY-4.0
- Instructions
- 329 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# figma-conventions
Opinionated workflow conventions for working effectively in Figma. This skill covers **how to organize and maintain Figma files** — the strategic layer on top of the operational Figma skills (`figma-use`, `figma-generate-design`, etc.) which handle API mechanics.
These conventions were distilled from pairing sessions and encode patterns that prevent common Figma pitfalls: silent failures, divergence between components and instances, layout fragility, and wasted iteration cycles.
## When to read this
Read this skill before any Figma modification work. The conventions apply whether you're using the Figma Plugin API directly, MCP tools, or guiding a human through manual edits.
**Also read:** the project's `DESIGN.md` for visual design tokens (colors, typography, spacing). This skill is about *how to work in Figma*; DESIGN.md is about *what the design looks like*. Both are needed for design work.
## Pre-flight: Figma personal access token
Before using the Figma REST API (e.g. for comment workflows), the agent needs a personal access token (PAT). Credentials are stored in **project-scoped memory** — never in committed files. Because memories are directory-local, different projects naturally use different tokens and accounts.
**Discovery flow:**
1. Check project memory for a file named `figma_pat.md` (or similar) containing a PAT reference
2. If found, use the stored token
3. If not found, prompt the user:
> "I need a Figma personal access token to work with comments. Create one at https://www.figma.com/developers/api#access-tokens with the scopes below, then paste it here."
4. Save the token to project memory (e.g. `figma_pat.md`) with a description noting its purpose and scopes
**Required scopes** (minimum for comment workflows):
- `file_comments:read` — list comments on a file
- `file_comments:write` — post, reply to, and delete comments
Add additional scopes as needed for other REST API operations (e.g. `file_dev_resources:read` for dev resources).
**Auth header:** all Figma REST API requests authenticate via:
```
X-Figma-Token: <PAT>
```
**Why memory, not config files:** PATs are user-specific secrets. Committing them (even to `.env` files that are gitignored) creates a pattern where secrets live adjacent to code. Memory-based storage keeps credentials out of the repository entirely and naturally supports multi-account setups — a contributor working across multiple projects gets the right token for each without manual switching.
## Comment feedback workflow (REST API — no MCP support)
The Figma MCP server has no comment tools. Agents that need to read or post Figma comments must use the [REST API comment endpoints](https://developers.figma.com/docs/rest-api/comments-endpoints/) directly via `curl` or equivalent HTTP calls. All requests require the `X-Figma-Token` header (see Pre-flight above).
### Endpoint reference
| Action | Method | Path | Key fields |
|--------|--------|------|------------|
| List comments | `GET` | `/v1/files/{file_key}/comments` | `?as_md=true` for markdown output |
| Post comment | `POST` | `/v1/files/{file_key}/comments` | `message` (required), `client_meta` (pin position), `comment_id` (for replies) |
| Delete comment | `DELETE` | `/v1/files/{file_key}/comments/{comment_id}` | — |
| List reactions | `GET` | `/v1/files/{file_key}/comments/{comment_id}/reactions` | `?cursor=` for pagination |
| Post reaction | `POST` | `/v1/files/{file_key}/comments/{comment_id}/reactions` | `emoji` (shortcode, e.g. `:+1:`) |
| Delete reaction | `DELETE` | `/v1/files/{file_key}/comments/{comment_id}/reactions` | `?emoji=` shortcode to remove |
All endpoints are [Tier 2](https://developers.figma.com/docs/rest-api/rate-limits/) and require `file_comments:read` or `file_comments:write` scopes.
### Reading comments
Fetch all comments on a file:
```bash
curl -s -H "X-Figma-Token: $FIGMA_PAT" \
"https://api.figma.com/v1/files/$FILE_KEY/comments?as_md=true"
```
The response contains a flat `comments` array. Thread structure is encoded via `parent_id` — top-level comments have `parent_id: null`, replies have the root comment's ID.
**Comment object fields:**
| Field | Type | Notes |
|-------|------|-------|
| `id` | string | Unique comment ID |
| `message` | string | Comment text (markdown if `as_md=true`) |
| `user` | object | `{ id, handle, img_url }` |
| `parent_id` | string \| null | Non-null for replies |
| `created_at` | string | UTC ISO 8601 timestamp |
| `resolved_at` | string \| null | UTC ISO 8601 when resolved (read-only) |
| `client_meta` | object | Pin position — `node_id`, `x`, `y` (varies by type) |
| `order_id` | number | Display order (top-level comments only) |
| `reactions` | array | `[{ user, emoji, created_at }]` |
To reconstruct threads: group by `parent_id`, sort replies by `created_at`.
### Posting a comment
**New comment pinned to a node:**
```bash
curl -s -X POST -H "X-Figma-Token: $FIGMA_PAT" \
-H "Content-Type: application/json" \
-d '{
"message": "This spacing looks off — should match the 8px grid.",
"client_meta": { "node_id": "1:42", "x": 100, "y": 200 }
}' \
"https://api.figma.com/v1/files/$FILE_KEY/comments"
```
- `message` — the comment text (required)
- `client_meta` — where to pin the comment; `node_id` identifies the node, `x`/`y` position the pin within it
**Reply to an existing comment:**
```bash
curl -s -X POST -H "X-Figma-Token: $FIGMA_PAT" \
-H "Content-Type: application/json" \
-d '{
"message": "Fixed — updated padding to 8px in the component.",
"comment_id": "123456"
}' \
"https://api.figma.com/v1/files/$FILE_KEY/comments"
```
- `comment_id` — the root comment ID to reply to (this is a request body field, not the `parent_id` from the response object)
- Replies cannot be nested — you can only reply to root comments, not to other replies
### Deleting a comment
```bash
curl -s -X DELETE -H "X-Figma-Token: $FIGMA_PAT" \
"https://api.figma.com/v1/files/$FILE_KEY/comments/$COMMENT_ID"From asabina-de/kb, CC-BY-4.0.
More from asabina-de/kb
- 0.587score
design
asabina-de
Use this skill when the user wants to do visual design work — exploring brand graphics, creating Figma compositions, iterating on visual concepts, or working…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
comment
asabina-de
Use this skill when another skill or the user needs to post a structured comment to a Linear issue.
SkillAFreshness: A★ 1Claude Code +9 - 0.574score
pair
asabina-de
Use this skill when the user wants to pair-program on a ticket — working through a Linear issue collaboratively with the AI driving and the human navigating.
SkillAFreshness: A★ 1Claude Code - 0.558score
align
asabina-de
Use this skill when the user wants to bring a repo's conventions into alignment with the KB standards.
SkillAFreshness: A★ 1Claude Code - 0.549score
pr
asabina-de
Use this skill when the user wants to create a pull request for the current branch.
SkillAFreshness: A★ 1Claude Code +9 - 0.549score
issue
asabina-de
Use this skill when the user asks you to turn a design note's action items into Linear issues, OR when the user wants to iterate on an existing Linear issue…
SkillAFreshness: A★ 1Claude Code - 0.472score
imagegen
asabina-de
Use this skill when the user wants to generate design concept images, visual references, or mood boards for design exploration.
SkillCFreshness: C★ 1Claude Code +9 - 0.468score
decision
asabina-de
Use this skill when the user asks you to start, extend, or record a decision record — ideation around a design problem, architectural choice, trade-off…
SkillCFreshness: C★ 1Claude Code - 0.467score
ping
asabina-de
Use this skill when the user says something nonsensical, says 'ping', 'blah', or sends a message without clear intent or additional context.
SkillCFreshness: C★ 1Claude Code +9 - 0.464score
commit
asabina-de
Use this skill when the user asks for a commit message suggestion, staging advice, or guidance on how to structure a commit — or when the user invokes…
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 30, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- CC-BY-4.0
- Repository
- github.com/asabina-de/kb
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from asabina-de
- 0.587score
design
asabina-de
Use this skill when the user wants to do visual design work — exploring brand graphics, creating Figma compositions, iterating on visual concepts, or working…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
comment
asabina-de
Use this skill when another skill or the user needs to post a structured comment to a Linear issue.
SkillAFreshness: A★ 1Claude Code +9 - 0.574score
pair
asabina-de
Use this skill when the user wants to pair-program on a ticket — working through a Linear issue collaboratively with the AI driving and the human navigating.
SkillAFreshness: A★ 1Claude Code - 0.558score
align
asabina-de
Use this skill when the user wants to bring a repo's conventions into alignment with the KB standards.
SkillAFreshness: A★ 1Claude Code - 0.549score
pr
asabina-de
Use this skill when the user wants to create a pull request for the current branch.
SkillAFreshness: A★ 1Claude Code +9 - 0.549score
issue
asabina-de
Use this skill when the user asks you to turn a design note's action items into Linear issues, OR when the user wants to iterate on an existing Linear issue…
SkillAFreshness: A★ 1Claude Code
Cite this page
figma-conventions skill. Agent Mart. https://agentmart.dev/skills/asabina-de-figma-conventions (last updated 2026-10-24)