CtrlK
BlogDocsLog inGet started
Tessl Logo

od-figma-migration

Default reference pipeline for the figma-migration taskKind — figma-extract → token-map → generate → critique.

60

Quality

71%

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/scenarios/od-figma-migration/SKILL.md
SKILL.md
Quality
Evals
Security

od-figma-migration (scenario)

Spec §1 / §10.1 / §21.3.1 / §23.3.3: the canonical figma-migration flow. The pipeline is sequenced so each stage's output is the next stage's input — figma-extract writes figma/tree.json, token-map writes token-map/colors.json (etc.), and generate reads both before producing the HTML artifact.

Default pipeline

{
  "stages": [
    { "id": "extract",  "atoms": ["figma-extract"] },
    { "id": "tokens",   "atoms": ["token-map"] },
    { "id": "generate", "atoms": ["file-write", "live-artifact"] },
    {
      "id": "critique", "atoms": ["critique-theater"],
      "repeat": true,
      "until": "critique.score>=4 || iterations>=3"
    }
  ]
}

Required GenUI surfaces

The scenario expects two oauth-prompt / form surfaces from the plugin layer:

  • figma-oauthoauth.route='connector', connectorId='figma', persists at the project tier so multi-conversation work doesn't re-prompt.
  • file-pickkind='form', captures the Figma file URL on the first turn so figma-extract knows where to read.

The daemon auto-derives the figma-oauth surface when od.connectors.required[].id='figma' is declared and the connector isn't yet authorised (spec §10.3.1 implicit oauth-prompt rule).

Repository
nexu-io/open-design
Last updated
First committed

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.