Custom modes can be configured in two ways:
- Globally via the custom modes file in your Roo Code settings directory (typically ~/.roo-code/settings/custom_modes.yaml on macOS/Linux or %APPDATA%\roo-code\settings\custom_modes.yaml on Windows) - created automatically on startup
- Per-workspace via '.roomodes' in the workspace root directory
When modes with the same slug exist in both files, the workspace-specific .roomodes version takes precedence. This allows projects to override global modes or define project-specific modes.
If asked to create a project mode, create it in .roomodes in the workspace root. If asked to create a global mode, use the global custom modes file.
The following fields are required and must not be empty:
- slug: A valid slug (lowercase letters, numbers, and hyphens). Must be unique, and shorter is better.
- name: The display name for the mode
- roleDefinition: A detailed description of the mode's role and capabilities
- groups: Array of allowed tool groups (can be empty). Each group can be specified either as a string (e.g., "edit" to allow editing any file) or with file restrictions (e.g., ["edit", { fileRegex: ".md$", description: "Markdown files only" }] to only allow editing markdown files)
The following fields are optional but highly recommended:
- description: A short, human-readable description of what this mode does (5 words)
- whenToUse: A clear description of when this mode should be selected and what types of tasks it's best suited for. This helps the Orchestrator mode make better decisions.
- customInstructions: Additional instructions for how the mode should operate
For multi-line text, include newline characters in the string like "This is the first line.\nThis is the next line.\n\nThis is a double line break."
Both files should follow this structure (in YAML format):
customModes:
- slug: designer # Required: unique slug with lowercase letters, numbers, and hyphens
name: Designer # Required: mode display name
description: UI/UX design systems expert # Optional but recommended: short description (5 words)
roleDefinition: >-
You are Roo, a UI/UX expert specializing in design systems and frontend development. Your expertise includes:
- Creating and maintaining design systems
- Implementing responsive and accessible web interfaces
- Working with CSS, HTML, and modern frontend frameworks
- Ensuring consistent user experiences across platforms # Required: non-empty
whenToUse: >-
Use this mode when creating or modifying UI components, implementing design systems,
or ensuring responsive web interfaces. This mode is especially effective with CSS,
HTML, and modern frontend frameworks. # Optional but recommended
groups: # Required: array of tool groups (can be empty)
- read # Read files group (read_file, search_files, list_files, codebase_search)
- edit # Edit files group (apply_diff, write_to_file) - allows editing any file
Or with file restrictions:
- - edit
- fileRegex: .md$
description: Markdown files only # Edit group that only allows editing markdown files
- browser # Browser group (browser_action)
- command # Command group (execute_command)
- mcp # MCP group (use_mcp_tool, access_mcp_resource)
customInstructions: Additional instructions for the Designer mode # Optional
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: create-mode3description: Instructions for creating custom modes in Roo Code. Use when the user asks to create a new mode, edit an existing mode, or configure mode settings. Use when this capability is needed.4---56Custom modes can be configured in two ways:781. Globally via the custom modes file in your Roo Code settings directory (typically ~/.roo-code/settings/custom_modes.yaml on macOS/Linux or %APPDATA%\roo-code\settings\custom_modes.yaml on Windows) - created automatically on startup92. Per-workspace via '.roomodes' in the workspace root directory1011When modes with the same slug exist in both files, the workspace-specific .roomodes version takes precedence. This allows projects to override global modes or define project-specific modes.1213If asked to create a project mode, create it in .roomodes in the workspace root. If asked to create a global mode, use the global custom modes file.1415- The following fields are required and must not be empty:1617 - slug: A valid slug (lowercase letters, numbers, and hyphens). Must be unique, and shorter is better.18 - name: The display name for the mode19 - roleDefinition: A detailed description of the mode's role and capabilities20 - groups: Array of allowed tool groups (can be empty). Each group can be specified either as a string (e.g., "edit" to allow editing any file) or with file restrictions (e.g., ["edit", { fileRegex: "\.md$", description: "Markdown files only" }] to only allow editing markdown files)2122- The following fields are optional but highly recommended:2324 - description: A short, human-readable description of what this mode does (5 words)25 - whenToUse: A clear description of when this mode should be selected and what types of tasks it's best suited for. This helps the Orchestrator mode make better decisions.26 - customInstructions: Additional instructions for how the mode should operate2728- For multi-line text, include newline characters in the string like "This is the first line.\nThis is the next line.\n\nThis is a double line break."2930Both files should follow this structure (in YAML format):3132customModes:3334- slug: designer # Required: unique slug with lowercase letters, numbers, and hyphens35 name: Designer # Required: mode display name36 description: UI/UX design systems expert # Optional but recommended: short description (5 words)37 roleDefinition: >-38 You are Roo, a UI/UX expert specializing in design systems and frontend development. Your expertise includes:39 - Creating and maintaining design systems40 - Implementing responsive and accessible web interfaces41 - Working with CSS, HTML, and modern frontend frameworks42 - Ensuring consistent user experiences across platforms # Required: non-empty43 whenToUse: >-44 Use this mode when creating or modifying UI components, implementing design systems,45 or ensuring responsive web interfaces. This mode is especially effective with CSS,46 HTML, and modern frontend frameworks. # Optional but recommended47 groups: # Required: array of tool groups (can be empty)48 - read # Read files group (read_file, search_files, list_files, codebase_search)49 - edit # Edit files group (apply_diff, write_to_file) - allows editing any file50 # Or with file restrictions:51 # - - edit52 # - fileRegex: \.md$53 # description: Markdown files only # Edit group that only allows editing markdown files54 - browser # Browser group (browser_action)55 - command # Command group (execute_command)56 - mcp # MCP group (use_mcp_tool, access_mcp_resource)57 customInstructions: Additional instructions for the Designer mode # Optional5859---60> Converted and distributed by [TomeVault](https://tomevault.io/claim/kdt82) — claim your Tome and manage your conversions.61<!-- tomevault:4.0:skill_md:2026-04-14 -->