<!-- Markdown mirror. Canonical: https://empryo.com/docs/context/prompt-system -->

# Modes & the prompt

> Switch agent modes with Ctrl+D, auto-load EMPRYO.md and other tools' instruction files, and get per-model-family prompt tuning automatically.

![What ships on every request: the smallest set of tools against the largest ceiling.](https://empryo.com/media/forge-v2-loadout.svg)

*What ships on every request: the smallest set of tools against the largest ceiling.*

## Modes

Press `Ctrl+D` to cycle, or `/mode <name>`:

| Mode | What it does |
|------|--------------|
| `default` | Full agent - investigates then implements |
| `architect` | Design only - outlines and tradeoffs, no file edits |
| `socratic` | Asks probing questions before doing anything |
| `challenge` | Devil's advocate - challenges every assumption |
| `plan` | Research, plan, confirm, execute (see [plan mode](/docs/recipes/plan-mode)) |
| `auto` | Autonomous - minimal interruptions |

## Project instructions

Empryo auto-loads `EMPRYO.md` from your project root as context. You can also pick up instructions from other tools:

```json
{
  "instructionFiles": ["empryo", "claude", "cursorrules"]
}
```

| File | From |
|------|------|
| `EMPRYO.md` | Empryo (on by default) |
| `CLAUDE.md` | Claude Code |
| `.cursorrules` | Cursor |
| `.github/copilot-instructions.md` | GitHub Copilot |
| `.clinerules` | Cline |
| `.windsurfrules` | Windsurf |
| `AGENTS.md` | OpenAI Codex |
| `.aider.conf.yml` | Aider |
| `AMPLIFY.md` | Amp |
| `GEMINI.md`, `QWEN.md`, `AGENT.md`, `WARP.md`, `CLAUDE.local.md` | Gemini CLI, Qwen Code, Amp, Warp, Claude Code |
| `.rules`, `.continuerules`, `.roorules`, `.augment-guidelines`, `.junie/guidelines.md`, `.trae/rules/project_rules.md`, `.goosehints` | Zed, Continue, Roo, Augment, Junie, Trae, Goose |

Toggle in the TUI: `/instructions`. Enabled files all load together, one `Project instructions:` block, each file under its own header, unless you route them: `instructionRouting` sends a file to a model family, a provider, a model pattern or a custom agent, so `CLAUDE.md` can carry a Claude persona and `AGENTS.md` a GPT one with `EMPRYO.md` common to both. See [configuration → instruction files](/docs/reference/configuration#routing-instruction-files-by-model-provider-or-agent).

## Per-family tuning

Empryo tailors the prompt based on the model family (Claude, OpenAI, Gemini) - different models respond better to different phrasings. Gateway providers (LLM Gateway, OpenRouter, Vercel) are detected by the model ID portion, so `llmgateway/claude-sonnet-4` gets the Claude prompt.

This is automatic, there's nothing to configure.
