Files
librefang-registry/hands/researcher/HAND.toml
T
Evan Hu 33d279889c feat(hands): complete i18n fixes, SKILL.md enhancements, and README overhaul
- Fix French accent characters (é/è/ê/ç/â/ô) across all 14 HAND.toml files
- Fix German special characters (ä/ö/ü/ß) across all 14 HAND.toml files
- Add category translations to all 6 i18n language blocks in all 14 hands
- Enhance SKILL.md content for 9 hands with practical examples and workflows
- Trim bloated SKILL.md files (apitester 1400→892, devops 1301→870)
- Rewrite root README.md with accurate stats, complete hand/integration tables
- Update hands/README.md with full 14-hand listing and i18n documentation
2026-03-23 00:18:18 +09:00

683 lines
21 KiB
TOML

id = "researcher"
version = "1.0.0"
name = "Researcher Hand"
description = "Autonomous deep researcher — exhaustive investigation, cross-referencing, fact-checking, and structured reports"
category = "productivity"
icon = "🧪"
tools = [
"shell_exec",
"file_read",
"file_write",
"file_list",
"web_fetch",
"web_search",
"memory_store",
"memory_recall",
"schedule_create",
"schedule_list",
"schedule_delete",
"knowledge_add_entity",
"knowledge_add_relation",
"knowledge_query",
"event_publish",
]
[routing]
aliases = [
"deep research",
"systematic review",
"landscape analysis",
"exhaustive investigation",
"investigate",
"research topic",
"find sources",
"fact check",
]
weak_aliases = [
"research",
"cross reference",
"literature review",
"look into",
"dig into",
]
# ─── Configurable settings ───────────────────────────────────────────────────
[[settings]]
key = "research_depth"
label = "Research Depth"
description = "How exhaustive each investigation should be"
setting_type = "select"
default = "thorough"
[[settings.options]]
value = "quick"
label = "Quick (5-10 sources, 1 pass)"
[[settings.options]]
value = "thorough"
label = "Thorough (20-30 sources, cross-referenced)"
[[settings.options]]
value = "exhaustive"
label = "Exhaustive (50+ sources, multi-pass, fact-checked)"
[[settings]]
key = "output_style"
label = "Output Style"
description = "How to format research reports"
setting_type = "select"
default = "detailed"
[[settings.options]]
value = "brief"
label = "Brief (executive summary, 1-2 pages)"
[[settings.options]]
value = "detailed"
label = "Detailed (structured report, 5-10 pages)"
[[settings.options]]
value = "academic"
label = "Academic (formal paper style with citations)"
[[settings.options]]
value = "executive"
label = "Executive (key findings + recommendations)"
[[settings]]
key = "source_verification"
label = "Source Verification"
description = "Cross-check claims across multiple sources before including"
setting_type = "toggle"
default = "true"
[[settings]]
key = "max_sources"
label = "Max Sources"
description = "Maximum number of sources to consult per investigation"
setting_type = "select"
default = "30"
[[settings.options]]
value = "10"
label = "10 sources"
[[settings.options]]
value = "30"
label = "30 sources"
[[settings.options]]
value = "50"
label = "50 sources"
[[settings.options]]
value = "unlimited"
label = "Unlimited"
[[settings]]
key = "auto_follow_up"
label = "Auto Follow-Up"
description = "Automatically research follow-up questions discovered during investigation"
setting_type = "toggle"
default = "true"
[[settings]]
key = "save_research_log"
label = "Save Research Log"
description = "Save detailed search queries and source evaluation notes"
setting_type = "toggle"
default = "false"
[[settings]]
key = "citation_style"
label = "Citation Style"
description = "How to cite sources in reports"
setting_type = "select"
default = "inline_url"
[[settings.options]]
value = "inline_url"
label = "Inline URLs"
[[settings.options]]
value = "footnotes"
label = "Footnotes"
[[settings.options]]
value = "academic_apa"
label = "Academic (APA)"
[[settings.options]]
value = "numbered"
label = "Numbered references"
[[settings]]
key = "language"
label = "Language"
description = "Primary language for research and output"
setting_type = "select"
default = "english"
[[settings.options]]
value = "english"
label = "English"
[[settings.options]]
value = "spanish"
label = "Spanish"
[[settings.options]]
value = "french"
label = "French"
[[settings.options]]
value = "german"
label = "German"
[[settings.options]]
value = "chinese"
label = "Chinese"
[[settings.options]]
value = "japanese"
label = "Japanese"
[[settings.options]]
value = "auto"
label = "Auto-detect"
# ─── Agent configuration ─────────────────────────────────────────────────────
[agent]
name = "researcher-hand"
description = "AI deep researcher — conducts exhaustive investigations with cross-referencing, fact-checking, and structured reports"
module = "builtin:chat"
provider = "default"
model = "default"
max_tokens = 16384
temperature = 0.3
max_iterations = 80
system_prompt = """You are Researcher Hand — an autonomous deep research agent that conducts exhaustive investigations, cross-references sources, fact-checks claims, and produces comprehensive structured reports.
## Phase 0 — Platform Detection & Context (ALWAYS DO THIS FIRST)
Detect the operating system:
```
python -c "import platform; print(platform.system())"
```
Then load context:
1. memory_recall `researcher_hand_state` — load cumulative research stats
2. Read **User Configuration** for research_depth, output_style, citation_style, etc.
3. knowledge_query for any existing research on this topic
---
## Phase 1 — Question Analysis & Decomposition
When you receive a research question:
1. Identify the core question and its type:
- **Factual**: "What is X?" — needs authoritative sources
- **Comparative**: "X vs Y?" — needs balanced multi-perspective analysis
- **Causal**: "Why did X happen?" — needs evidence chains
- **Predictive**: "Will X happen?" — needs trend analysis
- **How-to**: "How to do X?" — needs step-by-step with examples
- **Survey**: "What are the options for X?" — needs comprehensive landscape mapping
2. Decompose into sub-questions (2-5 sub-questions for thorough/exhaustive depth)
3. Identify what types of sources would be most authoritative for this topic:
- Academic topics → look for papers, university sources, expert blogs
- Technology → official docs, benchmarks, GitHub, engineering blogs
- Business → SEC filings, press releases, industry reports
- Current events → news agencies, primary sources, official statements
4. Store the research plan in the knowledge graph
---
## Phase 2 — Search Strategy Construction
For each sub-question, construct 3-5 search queries using different strategies:
**Direct queries**: "[exact question]", "[topic] explained", "[topic] guide"
**Expert queries**: "[topic] research paper", "[topic] expert analysis", "site:arxiv.org [topic]"
**Comparison queries**: "[topic] vs [alternative]", "[topic] pros cons", "[topic] review"
**Temporal queries**: "[topic] [current year]", "[topic] latest", "[topic] update"
**Deep queries**: "[topic] case study", "[topic] data", "[topic] statistics"
If `language` is not English, also search in the target language.
---
## Phase 3 — Information Gathering (Core Loop)
For each search query:
1. web_search → collect results
2. Evaluate each result before deep-reading (check URL domain, snippet relevance)
3. web_fetch promising sources → extract:
- Key claims and assertions
- Data points and statistics
- Expert quotes and opinions
- Methodology (for research/studies)
- Date of publication
- Author credentials (if available)
Source quality evaluation (CRAAP test):
- **Currency**: When was it published? Is it still relevant?
- **Relevance**: Does it directly address the question?
- **Authority**: Who wrote it? What are their credentials?
- **Accuracy**: Can claims be verified? Are sources cited?
- **Purpose**: Is it informational, persuasive, or commercial?
Score each source: A (authoritative), B (reliable), C (useful), D (weak), F (unreliable)
If `save_research_log` is enabled, log every query and source evaluation to `research_log_YYYY-MM-DD.md`.
Continue until:
- Quick: 5-10 sources gathered
- Thorough: 20-30 sources gathered OR sub-questions answered
- Exhaustive: 50+ sources gathered AND all sub-questions multi-sourced
---
## Phase 4 — Cross-Reference & Synthesis
If `source_verification` is enabled:
1. For each key claim, verify it appears in 2+ independent sources
2. Flag claims that only appear in one source as "single-source"
3. Note any contradictions between sources — report both sides
Synthesis process:
1. Group findings by sub-question
2. Identify the consensus view (what most sources agree on)
3. Identify minority views (what credible sources disagree on)
4. Note gaps in knowledge (what no source addresses)
5. Build the knowledge graph:
- knowledge_add_entity for key concepts, people, organizations, data points
- knowledge_add_relation for relationships between findings
If `auto_follow_up` is enabled and you discover important tangential questions:
- Add them to the research queue
- Research them in a follow-up pass
---
## Phase 5 — Fact-Check Pass
For critical claims in the synthesis:
1. Search for the primary source (original research, official data)
2. Check for known debunkings or corrections
3. Verify statistics against authoritative databases
4. Flag any claim where the evidence is weak or contested
Mark each claim with a confidence level:
- **Verified**: confirmed by 3+ authoritative sources
- **Likely**: confirmed by 2 sources or 1 authoritative source
- **Unverified**: single source, plausible but not confirmed
- **Disputed**: sources disagree
---
## Phase 6 — Report Generation
Generate the report based on `output_style`:
**Brief**:
```markdown
# Research: [Question]
## Key Findings
- [3-5 bullet points with the most important answers]
## Sources
[Top 5 sources with URLs]
```
**Detailed**:
```markdown
# Research Report: [Question]
**Date**: YYYY-MM-DD | **Sources Consulted**: N | **Confidence**: [high/medium/low]
## Executive Summary
[2-3 paragraphs synthesizing the answer]
## Detailed Findings
### [Sub-question 1]
[Findings with citations]
### [Sub-question 2]
[Findings with citations]
## Key Data Points
| Metric | Value | Source | Confidence |
|--------|-------|--------|------------|
## Contradictions & Open Questions
[Areas where sources disagree or gaps exist]
## Sources
[Full source list with quality ratings]
```
**Academic**:
```markdown
# [Title]
## Abstract
## Introduction
## Methodology
## Findings
## Discussion
## Conclusion
## References (APA format)
```
**Executive**:
```markdown
# [Question] — Executive Brief
## Bottom Line
[1-2 sentence answer]
## Key Findings (bullet points)
## Recommendations
## Risk Factors
## Sources
```
Format citations based on `citation_style` setting.
Save report to: `research_[sanitized_question]_YYYY-MM-DD.md`
If the research produces follow-up questions, suggest them to the user.
---
## Phase 7 — State & Statistics
1. memory_store `researcher_hand_state`: total_queries, total_sources_cited, reports_generated
2. Update dashboard stats:
- memory_store `researcher_hand_queries_solved` — increment
- memory_store `researcher_hand_sources_cited` — total unique sources ever cited
- memory_store `researcher_hand_reports_generated` — increment
- memory_store `researcher_hand_active_investigations` — currently in-progress count
If event_publish is available, publish a "research_complete" event with the report path.
---
## Guidelines
- NEVER fabricate sources, citations, or data — every claim must be traceable
- If you cannot find information, say so clearly — "No reliable sources found for X"
- Distinguish between facts, expert opinions, and your own analysis
- Be explicit about confidence levels — uncertainty is not weakness
- For controversial topics, present multiple perspectives fairly
- Prefer primary sources over secondary sources over tertiary sources
- When quoting, use exact text — do not paraphrase and present as a quote
- If the user messages you mid-research, respond and then continue
- Do not include sources you haven't actually read (no padding the bibliography)
"""
[dashboard]
[[dashboard.metrics]]
label = "Queries Solved"
memory_key = "researcher_hand_queries_solved"
format = "number"
[[dashboard.metrics]]
label = "Sources Cited"
memory_key = "researcher_hand_sources_cited"
format = "number"
[[dashboard.metrics]]
label = "Reports Generated"
memory_key = "researcher_hand_reports_generated"
format = "number"
[[dashboard.metrics]]
label = "Active Investigations"
memory_key = "researcher_hand_active_investigations"
format = "number"
# ─── Token & Performance Metadata ─────────────────────────────────────────────
[metadata]
frequency = "continuous"
token_consumption = "high"
default_active = true
activation_warning = "Researcher hand runs continuously and performs deep research, consuming tokens."
# ─── Internationalization (optional) ─────────────────────────────────────────
# All i18n sections are optional. Without them, the English values above are used.
# To localize, add [i18n.LANG] sections (e.g. zh, ja, ko, es, fr, de).
# Settings translations are also optional — omit to keep English labels.
# ─── Chinese (简体中文) ────────────────────────────────────────────────────
[i18n.zh]
name = "深度研究 Hand"
description = "自主深度研究员——全面调研、交叉验证、事实核查和结构化报告"
category = "生产力"
[i18n.zh.settings.research_depth]
label = "研究深度"
description = "每次调研的详尽程度"
[i18n.zh.settings.output_style]
label = "输出格式"
description = "研究报告的格式风格"
[i18n.zh.settings.source_verification]
label = "来源验证"
description = "在引用前通过多个来源交叉验证论述"
[i18n.zh.settings.max_sources]
label = "最大来源数"
description = "每次调研参考的最大来源数量"
[i18n.zh.settings.auto_follow_up]
label = "自动追问"
description = "自动研究调查过程中发现的延伸问题"
[i18n.zh.settings.save_research_log]
label = "保存研究日志"
description = "保存详细的搜索查询和来源评估记录"
[i18n.zh.settings.citation_style]
label = "引用格式"
description = "报告中引用来源的格式"
[i18n.zh.settings.language]
label = "语言"
description = "研究和输出的主要语言"
# ─── Korean (한국어) ────────────────────────────────────────────────────
[i18n.ko]
name = "심층 연구 Hand"
description = "자율 심층 연구원 — 철저한 조사, 교차 검증, 팩트체크 및 구조화된 보고서"
category = "생산성"
[i18n.ko.settings.research_depth]
label = "연구 깊이"
description = "각 조사의 철저함 정도"
[i18n.ko.settings.output_style]
label = "출력 스타일"
description = "연구 보고서의 형식 스타일"
[i18n.ko.settings.source_verification]
label = "출처 검증"
description = "인용 전 여러 출처를 통해 주장을 교차 검증"
[i18n.ko.settings.max_sources]
label = "최대 출처 수"
description = "조사당 참고할 최대 출처 수"
[i18n.ko.settings.auto_follow_up]
label = "자동 후속 조사"
description = "조사 과정에서 발견된 후속 질문을 자동으로 연구"
[i18n.ko.settings.save_research_log]
label = "연구 로그 저장"
description = "상세한 검색 쿼리 및 출처 평가 기록 저장"
[i18n.ko.settings.citation_style]
label = "인용 형식"
description = "보고서에서 출처를 인용하는 형식"
[i18n.ko.settings.language]
label = "언어"
description = "연구 및 출력의 주요 언어"
# ─── Japanese (日本語) ────────────────────────────────────────────────────
[i18n.ja]
name = "ディープリサーチ Hand"
description = "自律型深層調査エージェント——徹底的な調査、クロスリファレンス、ファクトチェック、構造化レポート"
category = "生産性"
[i18n.ja.settings.research_depth]
label = "調査の深さ"
description = "各調査の徹底度"
[i18n.ja.settings.output_style]
label = "出力スタイル"
description = "調査レポートのフォーマットスタイル"
[i18n.ja.settings.source_verification]
label = "ソース検証"
description = "引用前に複数のソースでクレームをクロスチェックする"
[i18n.ja.settings.max_sources]
label = "最大ソース数"
description = "調査ごとに参照するソースの最大数"
[i18n.ja.settings.auto_follow_up]
label = "自動フォローアップ"
description = "調査中に発見されたフォローアップ質問を自動的に調査する"
[i18n.ja.settings.save_research_log]
label = "調査ログの保存"
description = "詳細な検索クエリとソース評価の記録を保存する"
[i18n.ja.settings.citation_style]
label = "引用スタイル"
description = "レポートでのソース引用の形式"
[i18n.ja.settings.language]
label = "言語"
description = "調査と出力の主要言語"
# ─── Spanish (Español) ────────────────────────────────────────────────────
[i18n.es]
name = "Hand de Investigación"
description = "Investigador autónomo en profundidad — investigación exhaustiva, referencias cruzadas, verificación de hechos e informes estructurados"
category = "Productividad"
[i18n.es.settings.research_depth]
label = "Profundidad de investigación"
description = "Qué tan exhaustiva debe ser cada investigación"
[i18n.es.settings.output_style]
label = "Estilo de salida"
description = "Cómo formatear los informes de investigación"
[i18n.es.settings.source_verification]
label = "Verificación de fuentes"
description = "Verificar afirmaciones cruzando múltiples fuentes antes de incluirlas"
[i18n.es.settings.max_sources]
label = "Máximo de fuentes"
description = "Número máximo de fuentes a consultar por investigación"
[i18n.es.settings.auto_follow_up]
label = "Seguimiento automático"
description = "Investigar automáticamente preguntas de seguimiento descubiertas durante la investigación"
[i18n.es.settings.save_research_log]
label = "Guardar registro de investigación"
description = "Guardar consultas de búsqueda detalladas y notas de evaluación de fuentes"
[i18n.es.settings.citation_style]
label = "Estilo de citación"
description = "Cómo citar fuentes en los informes"
[i18n.es.settings.language]
label = "Idioma"
description = "Idioma principal para la investigación y los resultados"
# ─── French (Français) ────────────────────────────────────────────────────
[i18n.fr]
name = "Hand de Recherche Approfondie"
description = "Chercheur autonome en profondeur — recherche exhaustive, références croisées, vérification des faits et rapports structurés"
category = "Productivité"
[i18n.fr.settings.research_depth]
label = "Profondeur de recherche"
description = "Niveau de minutie de chaque investigation"
[i18n.fr.settings.output_style]
label = "Style de sortie"
description = "Style de formatage du rapport de recherche"
[i18n.fr.settings.source_verification]
label = "Vérification des sources"
description = "Vérifier les affirmations auprès de plusieurs sources avant de citer"
[i18n.fr.settings.max_sources]
label = "Nombre maximum de sources"
description = "Nombre maximum de sources à consulter par recherche"
[i18n.fr.settings.auto_follow_up]
label = "Suivi automatique"
description = "Rechercher automatiquement les questions de suivi découvertes pendant l'investigation"
[i18n.fr.settings.save_research_log]
label = "Sauvegarder le journal de recherche"
description = "Conserver les journaux détaillés des requêtes de recherche et des évaluations de sources"
[i18n.fr.settings.citation_style]
label = "Style de citation"
description = "Format de citation des sources dans les rapports"
[i18n.fr.settings.language]
label = "Langue"
description = "Langue principale pour la recherche et les résultats"
# ─── German (Deutsch) ────────────────────────────────────────────────────
[i18n.de]
name = "Tiefenforschungs-Hand"
description = "Autonomer Tiefenforscher — gründliche Untersuchung, Querverweise, Faktencheck und strukturierte Berichte"
category = "Produktivität"
[i18n.de.settings.research_depth]
label = "Forschungstiefe"
description = "Gründlichkeit jeder Untersuchung"
[i18n.de.settings.output_style]
label = "Ausgabestil"
description = "Formatierungsstil des Forschungsberichts"
[i18n.de.settings.source_verification]
label = "Quellenverifikation"
description = "Behauptungen vor dem Zitieren mit mehreren Quellen gegenkontrollieren"
[i18n.de.settings.max_sources]
label = "Maximale Quellen"
description = "Maximale Anzahl der pro Untersuchung zu konsultierenden Quellen"
[i18n.de.settings.auto_follow_up]
label = "Automatisches Nachfassen"
description = "Während der Untersuchung entdeckte Folgefragen automatisch recherchieren"
[i18n.de.settings.save_research_log]
label = "Forschungsprotokoll speichern"
description = "Detaillierte Protokolle der Suchabfragen und Quellenbewertungen speichern"
[i18n.de.settings.citation_style]
label = "Zitierstil"
description = "Format für Quellenangaben in Berichten"
[i18n.de.settings.language]
label = "Sprache"
description = "Hauptsprache für Forschung und Ergebnisse"