* chore(hands): bump all HAND.toml versions to 1.1.0 Triggers version-aware sync in librefang runtime (librefang/librefang#1530). Previously sync_subdirs() skipped existing hands regardless of version. With the runtime fix, bumping from 1.0.0 → 1.1.0 ensures users get updated hand definitions on next registry sync. * chore: fix taplo formatting for 4 agent.toml files * fix(hands): fix invalid install fields in analytics and browser - analytics: `linux` → `linux_apt`/`linux_dnf`/`linux_pacman` (parser only recognizes platform-specific variants, not generic `linux`) - analytics: remove `pip = "python3 --version"` (version check, not an install command) - browser: remove `pip = "python3 --version"` (same issue) * fix: enrich sub-agent prompts and add missing requires across all hands - analytics: fix linux → linux_apt/dnf/pacman, remove invalid pip check, enrich analyst and modeler sub-agent prompts - apitester: add [[requires]] for curl - browser: remove invalid pip check, enrich researcher and extractor prompts - clip: enrich editor and transcriber sub-agent prompts - collector: enrich scout, scholar, and localizer sub-agent prompts - devops: add [[requires]] for curl, git, docker (optional), GITHUB_TOKEN (optional), enrich sub-agent prompts - lead: enrich outreach, recruiter, and messenger sub-agent prompts - linkedin: enrich content and researcher sub-agent prompts - predictor: enrich orchestrator, planner, and modeler sub-agent prompts - reddit: enrich monitor and composer sub-agent prompts - strategist: enrich architect, counsel, and analyst sub-agent prompts - trader: enrich accountant and researcher sub-agent prompts - twitter: enrich curator and composer sub-agent prompts
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
- Create
agents/<name>/agent.toml - Ensure
namematches the directory name - Run
python scripts/validate.py - Submit a PR
See CONTRIBUTING.md for the full guide.