CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

figma-extract

Pull a Figma file's node tree, design tokens, and embedded assets into the project cwd as a structured snapshot.

60

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugins/_official/atoms/figma-extract/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, well-structured body with a clear input/output contract, an explicit convergence checkpoint, and thoughtful anti-patterns — it reads more like precise internal documentation than an executable instruction sheet. The main gap is actionability: the primary extract operation is described rather than given as a runnable command or code path.

Suggestions

Show one complete, copy-pasteable invocation (e.g. a full `od plugin apply figma-extract --input fileUrl=<url> --token ...` example with the OAuth input step included) instead of the truncated fragment.

Add a minimal concrete example of `figma/tree.json` (one frame with a child node) so the output contract is verifiable rather than implied by the field list in the tree diagram.

Flesh out the failure path into a short validate → recover loop (e.g. "on 401, re-run `oauth-prompt` and retry once before aborting") to close the remaining workflow-clarity gap.

DimensionReasoningScore

Conciseness

The body is compact and assumes reader competence — an inputs table, an output tree diagram, and terse sections ("The atom completes when `figma/tree.json` exists and is non-empty"); no padding or explanation of concepts Claude already knows. Not 5 because a few tokens go to project-internal bookkeeping ("Spec §10 / §21.3.1", the atom/orchestration framing) that is not operational; not 3 because there is no noticeable over-explanation to trim.

4 / 5

Actionability

Concrete guidance exists but is incomplete: the only invocation form given is a fragment ("`od plugin apply --input fileUrl=…`") with no full command for the OAuth input, and the actual extraction behavior is delegated to "`apps/daemon/src/plugins/atoms/figma-extract.ts`" rather than shown. This matches anchor 3 (some concrete guidance, key details missing / pseudocode-level); not 4 because a reader cannot execute or faithfully reproduce the extract step from the body alone; not 2 because the output contract, invocation surface, and failure modes are specified concretely.

3 / 5

Workflow Clarity

The flow is well sequenced with an explicit validation checkpoint and error paths: inputs → deterministic output ("writes a deterministic, JSON-shaped extract") → convergence check ("The `until` evaluator reads `figma.tree.nodes >= 1`") → failure handling ("if the figma file is empty or the OAuth token expired, the atom emits a clear error event and the run aborts"). Matches anchor 4 (clear sequence, most checkpoints present); not 5 because the error path ends in abort-and-let-the-user-fix rather than an explicit validate → fix → retry loop, and the token-exchange step is referenced ("Routed through `oauth-prompt`") without its own checkpoint.

4 / 5

Progressive Disclosure

This is a short (~55-line), single-purpose skill with no bundle files (references/, scripts/, assets/ are absent) and no external reference files needed — the rubric's guideline that short, well-organized skills can score 5 applies. Sections (Inputs / Output / Convergence / Anti-patterns / Status) are clearly headed and each is appropriately scoped; the one file pointer (`apps/daemon/src/plugins/atoms/figma-extract.ts`) is a status note about an implementation location, not a buried multi-level reference chain. Not 4 because there are no organization gaps to point at — every section earns its place at one level of depth.

5 / 5

Total

16

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A tight, specific, well-scoped description that clearly says what the skill does and to what destination, with strong niche distinctiveness. Its one real weakness is the complete absence of a "Use when..." trigger clause, which caps completeness and slightly limits natural discoverability.

Suggestions

Append an explicit trigger clause, e.g. "Use when the user provides a Figma file URL or node-id and wants its structure, tokens, or assets extracted into the project."

Add one or two natural trigger synonyms ("Figma link", "Figma export", "extract design tokens from Figma") so the skill fires on phrasings users actually say.

Optionally hint at the downstream hand-off (e.g. "as input to token mapping or code generation") to sharpen when-to-use context without adding fluff.

DimensionReasoningScore

Specificity

Quotes "Pull a Figma file's node tree, design tokens, and embedded assets into the project cwd as a structured snapshot" — it names three concrete extractions ("node tree", "design tokens", "embedded assets") plus a concrete destination ("project cwd ... structured snapshot"). Not score 5 because coverage is narrower than the top anchor's comprehensive action list (e.g., no mention of exporting/converting file formats or linking component instances); not 3 because it goes beyond 1-2 actions with a specific output artifact.

4 / 5

Completeness

The 'what' is clear (pull node tree, tokens, assets as a structured snapshot), but there is no "Use when..." clause or equivalent explicit trigger guidance anywhere in the description — the judging guidelines explicitly cap completeness at 3 in that case. Not 2 because the 'what' is concrete rather than vague; not 4 because 'when' is entirely absent rather than merely weakly stated.

3 / 5

Trigger Term Quality

Natural terms present: "Figma file", "node tree", "design tokens", "assets" — a user needing Figma extraction would naturally say "Figma" or "design tokens". Not 5 because synonyms and variations are missing ("Figma link/URL", "Figma export", file-format cues); not 3 because keyword coverage is good and domain-specific, not just generic.

4 / 5

Distinctiveness Conflict Risk

"Pull a Figma file's node tree, design tokens, and embedded assets" carves out a clear niche — Figma-to-project extraction — with triggers ("Figma file", "design tokens") unlikely to fire for unrelated skills. Matches the top anchor (clear niche with distinct triggers, minimal conflict risk); score 4's 'minor overlap risk with closely related skills' example doesn't fit since Figma extraction is unambiguous.

5 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

nexu-io/open-design

Path

plugins/_official/atoms/figma-extract/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.