Profiles¶
Profiles are pre-configured capability sets that define which modules (providers, tools, hooks) are available during a session.
Built-in Profiles¶
| Profile | Description | Use Case |
|---|---|---|
foundation | Minimal - just LLM access | Simple chat, no tools |
base | Basic tools (filesystem, bash) | Light development work |
dev | Full development suite | Day-to-day development |
test | Testing focused | Running tests, debugging |
full | All features enabled | Exploring capabilities |
Using Profiles¶
List Available Profiles¶
Use a Profile¶
# For a single command
amplifier run --profile dev "Analyze this code"
# Set as default
amplifier profile use dev
Show Profile Configuration¶
Check Current Profile¶
Profile Contents¶
foundation¶
The minimal profile - just LLM access:
- Provider: Your configured provider
- Tools: None
- Hooks: Basic logging
base¶
Adds essential development tools:
- Everything in
foundation - Tools: filesystem, bash
- Use for: Basic file operations, running commands
dev¶
Full development capabilities:
- Everything in
base - Tools: web, search, task
- Agents: explorer, bug-hunter, zen-architect, researcher
- Hooks: approval, streaming-ui
- Use for: Day-to-day development work
full¶
All available features:
- Everything in
dev - Additional experimental tools
- All available hooks
- Use for: Testing new features, maximum capability
Creating Custom Profiles¶
Profiles are YAML files with markdown frontmatter.
Profile Location¶
Profiles are loaded from (in order):
.amplifier/profiles/(project)~/.amplifier/profiles/(user)- Bundled profiles (fallback)
Profile Format¶
Create .amplifier/profiles/my-profile.md:
---
name: my-profile
extends: base
description: My custom development profile
---
# My Profile
Custom instructions that will be included in the system prompt.
## Guidelines
- Follow our coding standards
- Write tests for all new code
Profile Schema¶
---
# Required
name: profile-name
# Optional - inherit from another profile
extends: base
# Optional
description: What this profile is for
# Optional - override session settings
session:
orchestrator: loop-streaming
context: context-persistent
# Optional - configure providers
providers:
- module: provider-anthropic
config:
default_model: claude-opus-4-1
# Optional - add/configure tools
tools:
- module: tool-filesystem
- module: tool-bash
config:
timeout: 60
# Optional - configure hooks
hooks:
- module: hooks-logging
config:
level: debug
# Optional - define agents
agents:
my-agent:
description: A specialized agent
tools:
- tool-filesystem
system:
instruction: You are a specialist in...
---
Profile Inheritance¶
Profiles can extend other profiles:
The child profile:
- Inherits all parent settings
- Can override specific configurations
- Adds its own system instructions
Inheritance Chain¶
Each level adds capabilities without removing parent features.
Profile-Specific Tools¶
Enable or disable tools per profile:
---
name: safe-profile
extends: base
tools:
- module: tool-filesystem
config:
read_only: true
# tool-bash intentionally omitted
---
Profile System Instructions¶
The markdown content after the frontmatter becomes the system instruction:
---
name: code-reviewer
extends: base
---
# Code Review Assistant
You are an expert code reviewer. When reviewing code:
1. Check for bugs and edge cases
2. Suggest performance improvements
3. Ensure code follows best practices
4. Look for security vulnerabilities
Be constructive and explain your reasoning.
Mentions in Profiles¶
Reference context files using @mentions:
---
name: team-profile
extends: dev
---
Follow our team standards:
@project:context/coding-standards.md
@project:context/architecture.md
Sharing Profiles¶
Via Git Repository¶
Commit profiles to your project's .amplifier/profiles/ directory.
Via Collections¶
Package profiles in a collection for broader sharing:
See Collections for more details.
Troubleshooting¶
Profile Not Found¶
# Check profile exists
amplifier profile list
# Check profile locations
ls ~/.amplifier/profiles/
ls .amplifier/profiles/
Profile Not Loading¶
Verify YAML syntax:
Inheritance Issues¶
Check the inheritance chain:
Best Practices¶
- Start minimal: Extend
foundationorbase, add only what you need - Use inheritance: Don't duplicate - extend parent profiles
- Document purpose: Include clear descriptions
- Project-specific: Put team profiles in
.amplifier/profiles/ - Test profiles: Run
amplifier profile showto verify
See Also¶
- CLI Reference - Profile commands
- Collections - Sharing profiles
- Agents - Agent configuration in profiles
- → Profile Authoring Guide - Complete reference