Files
librefang-registry/agents
Evan d778da72a2 fix(validate): check for [agents] instead of [agent] in HAND.toml (#15)
* fix(validate): check for [agents] instead of [agent] in HAND.toml

All 14 hands use [agents.main] (plural) for multi-agent config,
but the validator was checking for [agent] (singular), causing
all hands to fail validation.

* fix(routing): resolve 19 routing alias collisions

Agent is a sub-unit of hand, so hands take priority for routing.
Remove conflicting aliases from agent side when hand already owns them.

- analyst: remove data analysis, analyze data, dashboard (owned by hand/analytics)
- data-scientist: remove statistical analysis, forecast, prediction (owned by hand/analytics, hand/predictor)
- sales-assistant: remove prospecting, sales, pipeline (owned by hand/lead, hand/devops)
- devops-lead: remove incident response, kubernetes, terraform (owned by hand/devops)
- researcher: remove deep research, research, literature review (owned by hand/researcher)
- academic-researcher: remove literature review, systematic review (owned by hand/researcher)
- social-media: remove duplicate content calendar from weak_aliases
- hand/collector: remove competitive analysis (owned by hand/strategist)
2026-03-23 09:41:29 +09:00
..
2026-03-21 03:26:11 +09:00
2026-03-21 03:26:11 +09:00
2026-03-21 03:26:11 +09:00
2026-03-21 03:26:11 +09:00
2026-03-21 03:26:11 +09:00
2026-03-21 03:26:11 +09:00
2026-03-21 03:26:11 +09:00
2026-03-21 03:26:11 +09:00
2026-03-21 03:26:11 +09:00

Agents

Autonomous agent definitions for LibreFang. Each agent is a directory containing an agent.toml manifest.

Structure

agents/
├── hello-world/agent.toml
├── researcher/agent.toml
├── coder/agent.toml
└── ...

agent.toml Format

name = "agent-name"              # Must match directory name
version = "0.1.0"
description = "What this agent does"
author = "author-name"
module = "builtin:chat"          # Runtime module

[model]
provider = "default"
model = "default"
max_tokens = 4096
temperature = 0.7
system_prompt = """Behavioral instructions for the agent."""

[metadata.routing]
aliases = ["exact match phrases"]
weak_aliases = ["keyword hints"]

[resources]
max_llm_tokens_per_hour = 100000

[capabilities]
tools = ["web_search", "file_read"]
network = ["*"]
memory_read = ["*"]
memory_write = ["self.*"]
agent_spawn = false

Current Agents (33)

Agent Description
assistant Default conversational assistant
researcher Deep research with web search
coder Code generation and editing
hello-world Friendly greeting agent for new users
... See each directory for details

Adding a New Agent

  1. Create agents/<name>/agent.toml
  2. Ensure name matches the directory name
  3. Run python scripts/validate.py
  4. Submit a PR

See CONTRIBUTING.md for the full guide.