Install any skill in seconds. Free to start, no credit card required.
Get Started Free →**MANDATORY prerequisite** — you MUST invoke this skill BEFORE every `create_new_file` tool call. NEVER call `create_new_file` directly without loading this skill first. Trigger whenever the user wants a new blank Figma file — a new design, FigJam, or Slides file — or when you need a fresh file before calling `use_figma`. Usage — /figma-create-new-file [editorType] [fileName] (e.g. /figma-create-n
.claude/skills/kunanonj-cursor-plugin-figma-figma-create-new-file/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 91% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 127% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 151% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -12% | 0% |
MANDATORY: load this skill before every create_new_file tool call. It encodes the plan-resolution decision tree, the editor-type contract, and the post-creation handoff to use_figma.
Use the create_new_file MCP tool to create a new blank Figma file in the user's drafts folder. This is typically used before use_figma when you need a fresh file to work with.
This skill accepts optional arguments: /figma-create-new-file [editorType] [fileName]
design (default), figjam, or slidesExamples:
/figma-create-new-file — creates a design file named "Untitled"/figma-create-new-file figjam My Whiteboard — creates a FigJam file named "My Whiteboard"/figma-create-new-file design My New Design — creates a design file named "My New Design"/figma-create-new-file slides Q3 Review — creates a Slides presentation named "Q3 Review"Parse the arguments from the skill invocation. If editorType is not provided, default to "design". If fileName is not provided, default to "Untitled".
The create_new_file tool requires a planKey parameter. Follow this decision tree:
whoami call or in their prompt) → use it directly, skip to Step 2.whoami tool. The response contains a plans array. Each plan has a key, name, seat, and tier.key field automatically.key.Call the create_new_file tool with:
| Parameter | Required | Description | |-------------|----------|-------------| | planKey | Yes | The plan key from Step 1 | | fileName | Yes | Name for the new file | | editorType| Yes | "design", "figjam", or "slides" |
Example:
json{ "planKey": "team:123456", "fileName": "My New Design", "editorType": "design" }
The tool returns:
file_key — the key of the newly created filefile_url — a direct URL to open the file in FigmaUse the file_key for subsequent tool calls like use_figma.
"design", "figjam", and "slides".use_figma is your next step, load the figma-use skill before calling it.A slides file produced by this tool starts with zero rows and zero slides — figma.getSlideGrid() returns [], not a default first slide. The page's only child is the SLIDE_GRID node itself, which is empty until you create content. The first call to figma.createSlide() implicitly creates row 0 and inserts the new slide there.
If your follow-up use_figma script assumes at least one slide exists (e.g. to read theme tokens off it), guard for the empty case or call createSlide() first. See figma-use-slides → slide-grid for full details.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-12 | fail→pass | 4,184 | 1,795 | -57% | 1 | 1 | 0% | 873 | 1,247 | +43% | 0 | 0 | — |
case-01 | fail→fail | 3,758 | 2,476 | -34% | 1 | 1 | 0% | 677 | 1,209 | +79% | 0 | 0 | — |
case-02 | fail→fail | 6,159 | 2,245 | -64% | 1 | 1 | 0% | 1,092 | 1,105 | +1% | 0 | 0 | — |
case-03 | fail→fail | 7,310 | 2,509 | -66% | 1 | 1 | 0% | 1,413 | 1,120 | -21% | 0 | 0 | — |
case-04 | fail→fail | 3,362 | 3,182 | -5% | 1 | 1 | 0% | 261 | 1,092 | +318% | 0 | 0 | — |
case-05 | fail→fail | 8,157 | 3,659 | -55% | 1 | 1 | 0% | 702 | 1,194 | +70% | 0 | 0 | — |
case-06 | fail→fail | 2,194 | 3,937 | +79% | 1 | 1 | 0% | 317 | 1,186 | +274% | 0 | 0 | — |
case-07 | fail→fail | 3,756 | 3,727 | -1% | 1 | 1 | 0% | 268 | 1,191 | +344% | 0 | 0 | — |
case-08 | fail→pass | 4,024 | 2,842 | -29% | 1 | 1 | 0% | 844 | 1,611 | +91% | 0 | 0 | — |
case-09 | pass→pass | 5,843 | 2,902 | -50% | 1 | 1 | 0% | 1,065 | 1,503 | +41% | 0 | 0 | — |
case-10 | fail→pass | 2,995 | 3,000 | +0% | 1 | 1 | 0% | 655 | 1,484 | +127% | 0 | 0 | — |
case-11 | fail→pass | 2,799 | 2,917 | +4% | 1 | 1 | 0% | 600 | 1,503 | +151% | 0 | 0 | — |
case-13 | fail→pass | 7,999 | 2,258 | -72% | 1 | 1 | 0% | 1,575 | 1,391 | -12% | 0 | 0 | — |
case-14 | fail→pass | 12,137 | 3,383 | -72% | 1 | 1 | 0% | 2,179 | 1,627 | -25% | 0 | 0 | — |
case-15 | fail→pass | 3,764 | 1,727 | -54% | 1 | 1 | 0% | 702 | 1,288 | +83% | 0 | 0 | — |
case-16 | pass→pass | 5,523 | 1,407 | -75% | 1 | 1 | 0% | 999 | 1,146 | +15% | 0 | 0 | — |
case-17 | pass→pass | 4,225 | 1,459 | -65% | 1 | 1 | 0% | 678 | 1,280 | +89% | 0 | 0 | — |
case-18 | fail→pass | 3,845 | 2,272 | -41% | 1 | 1 | 0% | 640 | 1,392 | +118% | 0 | 0 | — |
case-19 | fail→pass | 7,449 | 2,265 | -70% | 1 | 1 | 0% | 1,612 | 1,384 | -14% | 0 | 0 | — |
case-20 | pass→pass | 7,088 | 5,702 | -20% | 1 | 1 | 0% | 1,498 | 2,181 | +46% | 0 | 0 | — |
case-21 | pass→fail | 4,416 | 9,882 | +124% | 1 | 1 | 0% | 957 | 2,065 | +116% | 0 | 0 | — |
case-22 | pass→fail | 4,426 | 10,990 | +148% | 1 | 1 | 0% | 757 | 2,058 | +172% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 13 counted toward the lift figure. The other 9 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +32 percentage points is the difference between those two pass rates over the 13 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.