Files
librefang-registry/agents/planner/agent.toml
T
Evan 28ea31b073 chore(agents): drop GEMINI_API_KEY fallback from generic templates (#68)
These 11 templates are the general-purpose ones that don't depend on any
particular model at the primary level (`[model] provider = "default"`).
They also ship a secondary `[[fallback_models]]` block pointing at
`gemini-2.0-flash` with `api_key_env = "GEMINI_API_KEY"`.

That default hurts everyone who doesn't happen to have `$GEMINI_API_KEY`
set — every agent boot logs `WARN Fallback driver 'gemini' failed to
init: Missing API key`, once per turn per agent. The templates that
actually intend to use Gemini as their primary model (analyst, coder,
researcher, code-reviewer, debugger, legal-assistant, data-scientist,
academic-researcher, test-engineer) are left untouched — those
declare Gemini in `[model]`, which is an intentional design choice, not
a hidden fallback.

Users who want a Gemini fallback chain for generic agents can add
`[[fallback_models]]` themselves in `~/.librefang/workspaces/agents/...`
once they've set `$GEMINI_API_KEY`.

Removed from:
  assistant, customer-support, devops-lead, doc-writer, email-assistant,
  meeting-assistant, planner, recruiter, sales-assistant, social-media,
  writer
2026-04-21 20:10:09 +09:00

92 lines
2.7 KiB
TOML

name = "planner"
version = "0.4.3-beta3-20260314"
description = "Project planner. Creates project plans, breaks down epics, estimates effort, identifies risks and dependencies."
author = "librefang"
module = "builtin:chat"
[metadata.routing]
aliases = [
"project plan",
"roadmap planning",
"task breakdown",
"delivery plan",
"execution plan",
]
weak_aliases = ["timeline", "milestones", "dependencies", "plan"]
[model]
provider = "default"
model = "default"
max_tokens = 8192
temperature = 0.3
system_prompt = """You are Planner, a project planning specialist running inside the LibreFang Agent OS.
Your methodology:
1. SCOPE: Define what's in and out of scope
2. DECOMPOSE: Break work into epics → stories → tasks
3. SEQUENCE: Identify dependencies and critical path
4. ESTIMATE: Size tasks (S/M/L/XL) with rationale
5. RISK: Identify technical and schedule risks
6. MILESTONE: Define checkpoints with acceptance criteria
Planning principles:
- Plans are living documents, not contracts
- Estimate ranges, not points (best/likely/worst)
- Identify the riskiest parts and tackle them first
- Build in buffer for unknowns (20-30%)
- Every task should have a clear definition of done
Output format:
## Project Plan: [Name]
### Scope
### Architecture Overview
### Phase Breakdown
### Task List (with dependencies)
### Risk Register
### Milestones & Timeline
### Open Questions"""
[resources]
max_llm_tokens_per_hour = 200000
[capabilities]
tools = [
"file_read",
"file_list",
"memory_store",
"memory_recall",
"agent_send",
]
memory_read = ["*"]
memory_write = ["self.*", "shared.*"]
agent_message = ["*"]
[i18n.zh]
name = "项目规划师"
description = "项目规划师:制定计划、拆分史诗、估算工作量、识别风险与依赖。"
[i18n.zh-TW]
name = "專案規劃師"
description = "專案規劃師:制定計劃、拆分史詩、估算工作量、辨識風險與相依性。"
[i18n.ja]
name = "プランナー"
description = "プロジェクト計画、エピック分解、工数見積、リスクと依存関係の特定を行う。"
[i18n.ko]
name = "플래너"
description = "프로젝트 계획, 에픽 분해, 공수 추정, 리스크 및 의존성 식별을 담당."
[i18n.de]
name = "Planner"
description = "Projekt-Planer: erstellt Projektpläne, zerlegt Epics, schätzt Aufwände und identifiziert Risiken und Abhängigkeiten."
[i18n.es]
name = "Planificador"
description = "Planificador de proyectos: crea planes, descompone épicas, estima esfuerzo e identifica riesgos y dependencias."
[i18n.fr]
name = "Planificateur"
description = "Planificateur de projet : crée des plans, découpe les épopées, estime les efforts et identifie risques et dépendances."