Agents & Skills
Customize the AI's identity, knowledge, shortcuts, and configurations.
Agents
An agent is a system prompt that defines the AI's behavior, personality, and instructions. Only one agent is active at a time — it appears as the first context element.
Built-in agents
| Agent | Purpose |
|---|---|
| Default | General-purpose coding assistant |
| Context Builder | Codebase exploration and understanding |
| Context Cleaner | Context management and hygiene |
| Planner | Task planning and breakdown |
| Worker | Focused implementation and testing |
Creating custom agents
Use the agent_create tool with a name and content (the system prompt text). The agent is saved as a .md file in .context-pilot/agents/.
# The AI creates agents via tool calls:
agent_create(name: "Reviewer", content: "You are a code reviewer...")
You can also create agents manually by adding .md files to .context-pilot/agents/ with YAML frontmatter:
---
name: Reviewer
description: Code review specialist
---
You are a code reviewer focused on security, performance, and readability...
Managing agents
agent_create— Create a new agentEdit_prompt— Modify name, description, or contentagent_delete— Remove a custom agent (built-ins can't be deleted)agent_load— Activate an agent as the current system prompt
Skills
A skill is a knowledge document that gets loaded as a context panel. Skills provide additional instructions, coding standards, API references, or domain knowledge.
How skills work
- Create a skill with
skill_create(or add a.mdfile to.context-pilot/skills/) - Load it with
skill_load— it appears as a dynamic panel the AI can see - Unload with
skill_unloadwhen no longer needed
Skills are ideal for project-specific conventions, framework documentation, or coding standards that should persist across conversations.
Managing skills
skill_create— Create a new skillEdit_prompt— Modify content (updates live if loaded)skill_delete— Remove a skill (unloads first if loaded)skill_load— Add skill to context as a panelskill_unload— Remove skill from context
Commands
A command is a text shortcut expanded inline when you type /command-name in the input field. Commands are replaced with their content before the message is sent.
Creating commands
# Create a command:
command_create(name: "review", content: "Please review the code changes...")
Then typing /review in the input field expands to the full review prompt.
Managing commands
command_create— Create a new commandEdit_prompt— Modify contentcommand_delete— Remove a command (built-ins can't be deleted)
Presets
A preset is a snapshot of your entire worker configuration — active agent, active modules, disabled tools, panel state, and module data. Load a preset to instantly switch contexts.
Built-in presets
| Preset | Agent | Focus |
|---|---|---|
| Admin | Default | Unrestricted access to all modules and tools |
| Worker | Worker | Implementation — file editing, git, console |
| Planner | Planner | Task planning with todo and scratchpad |
| Context Builder | Context Builder | Full exploration mode |
| Context Cleaner | Context Cleaner | Minimal read-only cleanup mode |
Custom presets
Configure your environment how you want it, then save with preset_snapshot_myself. Load later with preset_load.
Storage Format
All prompts (agents, skills, commands) are stored as Markdown files with YAML frontmatter in .context-pilot/:
.context-pilot/
├── agents/
│ ├── default.md # Built-in
│ └── my-reviewer.md # Custom
├── skills/
│ ├── rust.md # Built-in
│ └── my-project-rules.md # Custom
├── commands/
│ └── review.md # Custom
└── presets/
├── admin.json # Built-in
└── my-setup.json # Custom
Built-in prompts are regenerated from embedded defaults on startup if missing. Custom ones are yours to edit, share, or version control.