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

AgentPurpose
DefaultGeneral-purpose coding assistant
Context BuilderCodebase exploration and understanding
Context CleanerContext management and hygiene
PlannerTask planning and breakdown
WorkerFocused 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

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

  1. Create a skill with skill_create (or add a .md file to .context-pilot/skills/)
  2. Load it with skill_load — it appears as a dynamic panel the AI can see
  3. Unload with skill_unload when no longer needed

Skills are ideal for project-specific conventions, framework documentation, or coding standards that should persist across conversations.

💡 Example A "Rust Best Practices" skill loaded with coding conventions means the AI follows your standards without you repeating them every conversation.

Managing skills

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

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

PresetAgentFocus
AdminDefaultUnrestricted access to all modules and tools
WorkerWorkerImplementation — file editing, git, console
PlannerPlannerTask planning with todo and scratchpad
Context BuilderContext BuilderFull exploration mode
Context CleanerContext CleanerMinimal read-only cleanup mode

Custom presets

Configure your environment how you want it, then save with preset_snapshot_myself. Load later with preset_load.

ℹ️ What presets capture Active agent, active modules, disabled tools, per-worker module data (todos, scratchpad, git settings), loaded skills, and dynamic panel configurations. Not captured: conversation messages or global config (provider, model).

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.