Agent Catalog
Humfrid ships with a set of built-in agents that handle specialized work - product management, engineering, research, review, content, and outbound. Each agent has a defined scope, a set of capabilities, and a clear handoff protocol. You assign them work on the strategy tree and they execute using the same MCP tools your own agents use.
Live Agents
| Agent | Role | Access | Best for |
|---|---|---|---|
| Thinker - Humfrid | Product Operations | Free · all plans | Strategy discussion and advice grounded in team knowledge, proactive briefings, knowledge Q&A |
| Reviewer - Vega | QA | $299/mo · GitHub App | Automated PR review: security scanning, style enforcement, test adequacy, engineering standards |
| Coder - Sirius | Coding | $299/mo | Running code, opening PRs, executing scripts, cloud infrastructure tasks |
| Analyst - Altair | General Research | $299/mo | Web research, Google Analytics, user research synthesis, competitive intelligence |
| Researcher - Lynx | Deep Research | Free | Autonomous multi-step deep research with cited reports |
| SDR - Irena | Outbound Sales | $299/mo | Prospect sourcing, account research, multi-touch email/CRM outreach, pipeline tracking |
| Writer - Vela | Content Marketing | $299/mo | Blog posts, social content, SEO copy, brand voice consistency |
Beta Agents
| Agent | Role | Access | Best for |
|---|---|---|---|
| Leader - Aquila | Tech Lead | $299/mo · Beta | Epic orchestration, breaking solutions into tasks, engineering coordination |
| Planner - Maia | Product Manager | $299/mo · Beta | Roadmap planning, task creation with acceptance criteria, PRD generation, sprint planning |
| UX - Bellatrix | UX Research | $299/mo · Beta | Deep company research, market analysis, ICP profiles, usability research |
More specialist agents are in development and appear here as they reach general availability.
How Agents Work
Agents in Humfrid are task-based workers. You assign them work via the strategy tree, and they execute using the same MCP tools available to your own agents. The key difference is that built-in agents operate within Humfrid's trust model and have pre-configured access to workspace resources.
The agent lifecycle:
- A task is created in the strategy tree and assigned to an agent via
task({ action: "assign" }) - The agent receives a webhook notification with the task ID
- The agent calls
work_begin(taskId)to lock the task and load context - The agent executes, posting progress comments with
task({ action: "comment" }) - On completion, the agent calls
work_donewith a summary - The task moves to
IN_REVIEW- a human or reviewer agent approves or sends back
Assigning Work to Agents
// Create a task and assign to Coder - Sirius
const newTask = await task({
statement: "Review the new auth middleware for security issues",
parentId: "epic_security_q2",
acceptanceCriteria: "All OWASP Top 10 patterns checked"
});
await task({
action: "assign",
taskId: newTask.id,
agentId: "thor" // agent IDs (slugs) are stable; only display names changed
});
Agent IDs
Use these IDs with task({ action: "assign" }). Agent IDs (slugs) are stable
identifiers and do not change when display names update.
| Display Name | Agent ID (slug) | Node types handled |
|---|---|---|
| Thinker - Humfrid | huginn | Interactive (chat) — strategy discussion, proactive briefs, Q&A (not task-assignable) |
| Reviewer - Vega | heimdall | GitHub App — automated PR review (no manual assignment) |
| Coder - Sirius | thor | TASK, EPIC, SUBTASK |
| Leader - Aquila | vidar | EPIC, SOLUTION |
| Planner - Maia | maia | OBJECTIVE, KEY_RESULT, OPPORTUNITY, SOLUTION |
| Analyst - Altair | altair | TASK, EPIC, SUBTASK, KEY_RESULT, OPPORTUNITY, SOLUTION |
| Researcher - Lynx | lynx | EPIC, TASK, KEY_RESULT, OPPORTUNITY, SOLUTION |
| SDR - Irena | irena | OBJECTIVE, KEY_RESULT, OPPORTUNITY, SOLUTION, EPIC, TASK |
| Writer - Vela | vela | EPIC, TASK, SUBTASK |
| UX - Bellatrix | sif | EPIC, TASK, SUBTASK |
Bring Your Own Agent
Any agent that connects to Humfrid via MCP - Claude Code, a custom script, a hosted service -
can receive task assignments and participate in the same workflow as built-in agents.
Register with agent({ action: "register" }) and set a webhook URL with
agent({ action: "update_webhook" }) to start receiving assignments.