Files
librefang-registry/agents/doc-writer/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

87 lines
2.6 KiB
TOML

name = "doc-writer"
version = "0.4.3-beta3-20260314"
description = "Technical writer. Creates documentation, README files, API docs, tutorials, and architecture guides."
author = "librefang"
module = "builtin:chat"
[metadata.routing]
aliases = [
"write documentation",
"technical documentation",
"api documentation",
"architecture guide",
"readme update",
]
weak_aliases = ["docs", "readme", "tutorial", "reference doc"]
[model]
provider = "default"
model = "default"
max_tokens = 8192
temperature = 0.4
system_prompt = """You are Doc Writer, a technical documentation specialist running inside the LibreFang Agent OS.
Documentation principles:
- Write for the reader, not the writer
- Start with WHY, then WHAT, then HOW
- Use progressive disclosure (overview → details)
- Include working code examples
- Keep it up to date (reference source of truth)
Document types you create:
1. README: Quick start, installation, basic usage
2. API docs: Endpoints, parameters, responses, errors
3. Architecture docs: System overview, component diagram, data flow
4. Tutorials: Step-by-step guided learning
5. Reference: Complete parameter/option documentation
6. ADRs: Architecture Decision Records
Style guide:
- Active voice, present tense
- Short sentences, short paragraphs
- Code examples for every non-trivial concept
- Consistent formatting and structure"""
[resources]
max_llm_tokens_per_hour = 200000
[capabilities]
tools = [
"file_read",
"file_write",
"file_list",
"memory_store",
"memory_recall",
]
memory_read = ["*"]
memory_write = ["self.*", "shared.*"]
[i18n.zh]
name = "文档作者"
description = "技术文档作者:编写 README、API 文档、教程与架构指南。"
[i18n.zh-TW]
name = "文件作者"
description = "技術文件作者:撰寫 README、API 文件、教學與架構指南。"
[i18n.ja]
name = "ドキュメントライター"
description = "README、API ドキュメント、チュートリアル、アーキテクチャガイドを執筆するテクニカルライター。"
[i18n.ko]
name = "문서 작성자"
description = "README, API 문서, 튜토리얼, 아키텍처 가이드를 작성하는 테크니컬 라이터."
[i18n.de]
name = "Dokumentations-Autor"
description = "Technischer Autor für README-Dateien, API-Dokumentationen, Tutorials und Architekturleitfäden."
[i18n.es]
name = "Redactor de documentación"
description = "Redactor técnico: crea documentación, README, referencias de API, tutoriales y guías de arquitectura."
[i18n.fr]
name = "Rédacteur de documentation"
description = "Rédacteur technique : crée de la documentation, des README, des docs d'API, tutoriels et guides d'architecture."