CAMI Documentation

Creating Custom Agents

CAMI includes agent-architect, a specialist agent that creates professional agents through conversation. You describe what you need, and it handles the rest.

When to Create a Custom Agent

Good reasons:

  • You have a specific, repeatable process (deployment checklist, health checks)
  • Your tech stack isn't covered by official agents (Django, Go, Flutter)
  • Your team has unique patterns or conventions

Don't create one when:

  • Official agents already handle your use case
  • It's a one-off task (just ask Claude directly)
  • You're not sure what you need (try official agents first)

Creating an Agent

Start Claude in your CAMI workspace and describe what you need:

bash
cd ~/cami-workspace
claude
typescript
You: "I need an agent that checks Kubernetes pod health
following our team's diagnostic workflow"
Claude(via agent-architect): "I'll create a Workflow Specialist
for Kubernetes health checks. What are the specific steps in
your diagnostic process?"
You: "First check if pods are running, then check resource usage,
then verify endpoints are responding, then check logs for errors"
Claude: "Got it. Let me structure this workflow..."
[agent-architect creates the agent]
Claude: "I've created k8s-pod-health-checker.md.
Shall I save it to ~/cami-workspace/sources/my-agents/?"
You: "Yes"
Claude: "Saved! To use it, deploy to any project:
'Deploy k8s-pod-health-checker to ~/projects/my-app'"

What agent-architect Does

Based on your description, agent-architect:

  1. Classifies the agent - Determines if it's a Workflow Specialist, Technology Implementer, or Strategic Planner
  2. Gathers requirements - Asks targeted questions based on the class
  3. Generates the agent file - Creates proper frontmatter and methodology
  4. Saves to my-agents - Your personal agent collection

Agent Classes

agent-architect will classify your agent into one of three types:

ClassPurposeExamples
Workflow SpecialistExecute specific, repeatable processesHealth checks, deployment workflows, component builders
Technology ImplementerBuild complete features in a domainFrontend, backend, database, auth systems
Strategic PlannerResearch, plan, and architectArchitect, security reviewer, researcher

Tips for Good Agents

Be specific about what triggers it:

typescript
Good: "An agent for checking Kubernetes pod health in production"
Vague: "A Kubernetes agent"

Describe the workflow or domain clearly:

typescript
Good: "First check pod status, then resource usage, then logs"
Vague: "Check pods and stuff"

Mention tools or technologies:

typescript
Good: "Uses kubectl and our monitoring API at /health"
Vague: "Uses standard tools"

Using Your Custom Agent

Deploy it like any other agent:

typescript
You: "Deploy k8s-pod-health-checker to ~/projects/devops-tools"
Claude: "Deployed k8s-pod-health-checker(v1.0.0 from my-agents)"
# Later, in that project:
You: "Check our production pod health"
Claude(using your agent): "Running the Kubernetes health check workflow..."
[Executes your defined steps]

Iterating on Your Agent

Found something to improve? Just tell Claude:

typescript
You: "The k8s-pod-health-checker should also check database connections"
Claude: "I'll update the agent to include database connection checks.
Where should this fit in the workflow?"
You: "After endpoint checks, before logs"
Claude: "Updated and saved as v1.1.0"

Sharing Custom Agents

Personal use: Agents in my-agents/ are already available

Team sharing: Create a Git repo and add it as a source:

typescript
You: "Add our team agents from git@github.com:ourteam/agents.git"
Claude: "Added team-agents source with priority 50"

Team members add the same source to get your shared agents.

Next Steps