Agent Cards
Agent cards define who your AI assistants are and what they can do. Each card is a markdown file that combines a system prompt with tool access and configuration.
What’s in an Agent Card
Section titled “What’s in an Agent Card”An agent card answers these questions:
- Who is this agent? - Name, role, personality
- What can it do? - Which tools and MCPs it can access
- How does it behave? - System prompt and instructions
- What kind of model? - Specialty (not specific model)
File Location
Section titled “File Location”Place agent cards in:
~/.config/crucible/agents/- Personal agentsKILN/Agents/- Project-specific agents (shared with team)
Basic Example
Section titled “Basic Example”Create Agents/Researcher.md:
---description: Explores and synthesizes knowledgespecialty: reasoningtools: semantic_search: true read_note: true create_note: askmcps: - context7---
You are a research assistant specializing in knowledge exploration.
## Your Approach
- Search thoroughly before answering- Cite sources using [[wikilinks]]- Synthesize information from multiple notes- Acknowledge gaps in knowledgeFrontmatter Fields
Section titled “Frontmatter Fields”| Field | Required | Description |
|---|---|---|
description | Yes | Brief description |
specialty | Yes | Model category (coder, vision, reasoning, etc.) |
tools | No | Tool permissions (true/ask/deny) |
mcps | No | List of MCP servers to connect |
model | No | Specific model override (avoid for portability) |
Specialty Field
Section titled “Specialty Field”The specialty field maps to a model category from your config. This keeps agent cards portable - recipients use their own preferred model for each specialty.
| Specialty | Use Case |
|---|---|
coder | General programming tasks |
vision | Image analysis, diagrams |
designer | UI/UX, visual design |
writing | Documentation, prose |
reasoning | Complex analysis, planning |
Configure your preferred models in config.toml:
[models]coder = "claude-sonnet-4"vision = "claude-sonnet-4"reasoning = "o1-preview"writing = "claude-haiku"Tool Permissions
Section titled “Tool Permissions”Tools can have three permission levels that interact with runtime modes:
tools: semantic_search: true # Always allowed write_file: ask # Prompt for permission execute_command: deny # Never allowed for this agentPermission values:
trueorallow- Auto-approveask- Prompt user for each usefalseordeny- Block the tool
Tools not listed use the current mode’s default behavior.
MCP Connections
Section titled “MCP Connections”The mcps field lists MCP servers this agent can access:
mcps: - github # GitHub API access - context7 # Documentation lookup - filesystem # Local file accessMCP servers must be configured in your config.toml:
[mcps.github]command = "npx"args = ["-y", "@anthropic/mcp-server-github"]env = { GITHUB_TOKEN = "..." }
[mcps.context7]url = "https://context7.example.com"Available Tools
Section titled “Available Tools”Common tools to include:
Search tools:
semantic_search- Find by meaningtext_search- Find by keywordssearch_by_tags- Filter by tagssearch_by_properties- Filter by frontmatter
Note tools:
read_note- Read note contentcreate_note- Create new notesupdate_note- Modify notes
Kiln tools:
list_notes- List all notesget_stats- Kiln statistics
External tools (via MCP):
gh_search_code- GitHub code searchfs_read_file- Filesystem access
Directory Structure
Section titled “Directory Structure”your-kiln/├── Agents/│ ├── Researcher.md # Research-focused│ ├── Coder.md # Code-focused│ ├── Reviewer.md # Quality review│ └── Custom.md # Your ownUsing Agents
Section titled “Using Agents”From CLI
Section titled “From CLI”# Chat with default agentcru chat
# Chat with specific agentcru chat --agent Researcher
# List available agentscru agents listIn Chat
Section titled “In Chat”/agent Researcher/agent CoderWriting Good Prompts
Section titled “Writing Good Prompts”The markdown body becomes the system prompt. Write it like instructions:
Be specific about role:
You are a code reviewer focused on Rust best practices.You catch common mistakes and suggest idiomatic improvements.Define behavior:
## How You Work
1. Read the code carefully before commenting2. Prioritize correctness over style3. Explain the "why" behind suggestions4. Acknowledge good patterns tooSet boundaries:
## What You Don't Do
- Don't rewrite entire files- Don't suggest unrelated refactors- Don't ignore the user's stated goalsExamples in This Kiln
Section titled “Examples in This Kiln”- Researcher - Deep exploration
- Coder - Code analysis
- Reviewer - Quality review
Configuration Override
Section titled “Configuration Override”Agents can override global settings:
---type: agentmodel: claude-3-opustemperature: 0.9max_tokens: 4000---This agent uses a different model and higher temperature than the default.
Tool Restrictions
Section titled “Tool Restrictions”Limit what an agent can do:
---type: agenttools: - read_note - semantic_search# No create_note or update_note - read-only agent---Custom Model Endpoints
Section titled “Custom Model Endpoints”Use different providers per agent:
---type: agentmodel: llama3.2provider: ollama---
---type: agentmodel: gpt-4provider: openai---See Also
Section titled “See Also”- agents - Agent configuration
- chat - Chat command
- AI Features - All AI capabilities
- Agents & Protocols - MCP/ACP explained