
figma-create-new-file
✓ Official★ 1,700by figma · part of figma/mcp-server-guide
Create a new blank Figma file. Use when the user wants to create a new Figma design or FigJam file, or when you need a new file before calling use_figma.…
Create a new blank Figma file. Use when the user wants to create a new Figma design or FigJam file, or when you need a new file before calling use_figma.…
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by figma
Create a new blank Figma file. Use when the user wants to create a new Figma design or FigJam file, or when you need a new file before calling use_figma.…
npx skills add https://github.com/figma/dev-mode-mcp-server-guide --skill figma-create-new-file
Download ZIPGitHub1.7k
create_new_file — Create a New Figma File
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.
Skill Arguments
This skill accepts optional arguments: /figma-create-new-file [editorType] [fileName]
-
editorType:
design(default),figjam, orslides -
fileName: Name for the new file (defaults to "Untitled")
Examples:
-
/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".
Workflow
Step 1: Resolve the planKey
The create_new_file tool requires a planKey parameter. Follow this decision tree:
User already provided a planKey (e.g. from a previous whoami call or in their prompt) → use it directly, skip to Step 2.
No planKey available → call the whoami tool. The response contains a plans array. Each plan has a key, name, seat, and tier.
-
Single plan: use its
keyfield automatically. -
Multiple plans: ask the user which team or organization they want to create the file in, then use the corresponding plan's
key.
Step 2: Call create_new_file
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:
{
"planKey": "team:123456",
"fileName": "My New Design",
"editorType": "design"
}
Step 3: Use the result
The tool returns:
-
file_key— the key of the newly created file -
file_url— a direct URL to open the file in Figma
Use the file_key for subsequent tool calls like use_figma.
Important Notes
-
The file is created in the user's drafts folder for the selected plan.
-
Supported editor types are
"design","figjam", and"slides". -
If
use_figmais your next step, load thefigma-useskill before calling it.
Editor-specific notes
Slides — newly created files have an empty grid
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.
npx skills add https://github.com/figma/mcp-server-guide --skill figma-create-new-fileRun this in your project — your agent picks the skill up automatically.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.