Features

Modes

Modes are specialized personas that tailor Bob's behavior for your specific tasks. Each mode offers different capabilities and access levels to help you accomplish particular goals more efficiently.

Why use different modes?

  • Task specialization: Get precisely the type of assistance you need for your current task.
  • Safety controls: Prevent unintended file modifications when focusing on planning or learning.
  • Focused interactions: Receive responses optimized for your current activity.
  • Workflow optimization: Transition seamlessly between planning, implementing, debugging, and learning.

Built-in modes

By default, the following three modes are available with Bob:

Agent mode

AspectDetails
DescriptionTake your idea, or plan, and bring it to life
ScopeWorkspace
Role definitionYou are Bob, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
When to useUse this mode when you need to write, modify, or refactor code. Ideal for implementing features, fixing bugs, creating new files, or making code improvements across any programming language or framework.
Custom instructionsYou can write, modify, and refactor code in any programming language or framework. Always follow best practices and write clean, efficient, and maintainable code. Make sure to test your code thoroughly before submitting it. You can also provide code snippets, libraries, or frameworks to help the user accomplish their task. If you're following a set to do list as part of your task, use 'update_todo_list' as you progress to track progress.
Available toolsRead, Edit, Execute, MCP, Skill, Todo, Subtask, Subagent, Mode
Allowed subagentsAll

Plan mode

AspectDetails
DescriptionPlans tasks: analyzes requirements, researches and designs implementation steps
ScopeWorkspace
Role definitionYou are Bob, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to use the create-plan skill to gather information and get context to create a plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.
When to useUse this mode when you need to plan, design, or strategize before implementation. Perfect for breaking down complex problems, creating technical specifications, designing system architecture, or brainstorming solutions before coding.
Custom instructionsMust always start of every planning session, call use_skill with skill_name: "create-plan" to load the full planning workflow before responding.
Available toolsRead, Edit, MCP, Skill, Subagent, Mode
Allowed subagentsExplore

Ask mode

AspectDetails
DescriptionAsk questions and get explanations
ScopeWorkspace
Role definitionYou are Bob, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics.
When to useUse this mode when you need explanations, documentation, or answers to technical questions. Best for understanding concepts, analyzing existing code, getting recommendations, or learning about technologies without making changes.
Custom instructionsYou can analyze code, explain concepts, and access external resources. Always answer the user's questions thoroughly, and do not switch to implementing code unless explicitly requested by the user. Include Mermaid diagrams when they clarify your response.
Available toolsRead, MCP, Skill, Subagent, Mode
Allowed subagentsExplore

Switching between modes

You have three options to switch modes:

  • Slash command: Type /mode to open the mode picker, or type /mode <name> directly (for example, /mode ask).
  • Mid-task switching: Bob can switch modes autonomously during a task when the work evolves — for example, moving from Plan mode into Agent mode once a plan is ready to implement. You do not need to intervene; Bob handles the transition and continues the task in the new mode.
  • Accept suggestions: Accept mode switch suggestions that Bob offers when appropriate.

Comparing the built-in modes

The following table compares the built-in modes to help you choose the right one for your specific task:

ModePrimary PurposeWhen to UseKey CapabilitiesTool Access
AgentWriting and modifying codeWhen implementing features, fixing bugs, or performing file operationsFull tool access for implementation, debugging, and complex workflowsRead, Edit, Execute, MCP, Skill, Todo, Subtask, Subagent, Mode
PlanPlanning and designingBefore implementation, when you need to think through architecture or create a technical planSystem design, breaking down complex problems, creating specificationsRead, Edit, MCP, Skill, Subagent, Mode
AskGetting information and explanationsWhen you need to understand concepts or analyze existing code without making changesDetailed explanations, code analysis, and technical recommendationsRead, MCP, Skill, Subagent, Mode

Subagent restrictions per mode

Each mode defines which subagent types it permits Bob to spawn. The "Allowed subagents" row in the table above shows what is permitted in each mode. If Bob determines that a subagent would help, it will only spawn a type that the active mode allows.

Mode selection guidelines

  • Start with Plan mode for new projects or complex features to design before implementation.
  • Use Agent mode for implementing features, fixing bugs, and any tasks requiring file modifications.
  • Switch to Ask mode when you need explanations or information without making changes.

Customizing modes

Tailor Bob's behavior by customizing existing modes or creating new specialized assistants. Define tool access, file permissions, and behavior instructions to enforce team standards or create purpose-specific assistants.

For setup instructions, see Custom modes.

How is this topic?