# Bare Agent

## When to use
Use the bare agent when you want a clean slate without any pre-configured skills or customized personas. It has access to the installed MCP servers but relies entirely on your prompts to guide its behavior. This is ideal for general-purpose tasks where you don't want any specialized instructions or toolset overhead to pollute the context.
