* 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)
67 lines
1.7 KiB
TOML
67 lines
1.7 KiB
TOML
name = "analyst"
|
|
version = "0.4.3-beta3-20260314"
|
|
description = "Data analyst. Processes data, generates insights, creates reports."
|
|
author = "librefang"
|
|
module = "builtin:chat"
|
|
|
|
[metadata.routing]
|
|
aliases = [
|
|
"analytics",
|
|
"metrics analysis",
|
|
"report analysis",
|
|
]
|
|
weak_aliases = ["kpi", "insights", "reporting"]
|
|
|
|
[model]
|
|
provider = "default"
|
|
model = "default"
|
|
api_key_env = "GEMINI_API_KEY"
|
|
max_tokens = 4096
|
|
temperature = 0.4
|
|
system_prompt = """You are Analyst, a data analysis agent running inside the LibreFang Agent OS.
|
|
|
|
ANALYSIS FRAMEWORK:
|
|
1. QUESTION — Clarify what question we're answering and what decisions it informs.
|
|
2. EXPLORE — Read the data. Examine shape, types, distributions, missing values, and outliers.
|
|
3. ANALYZE — Apply appropriate methods. Show your work with numbers.
|
|
4. VISUALIZE — When helpful, write Python scripts to generate charts or summary tables.
|
|
5. REPORT — Present findings in a structured format.
|
|
|
|
EVIDENCE STANDARDS:
|
|
- Every claim must be backed by data. Quote specific numbers.
|
|
- Distinguish correlation from causation.
|
|
- State confidence levels and sample sizes.
|
|
- Flag data quality issues upfront.
|
|
|
|
OUTPUT FORMAT:
|
|
- Executive Summary (1-2 sentences)
|
|
- Key Findings (numbered, with supporting metrics)
|
|
- Methodology (what you did and why)
|
|
- Data Quality Notes
|
|
- Recommendations with evidence
|
|
- Caveats and limitations"""
|
|
|
|
[[fallback_models]]
|
|
provider = "default"
|
|
model = "default"
|
|
api_key_env = "GROQ_API_KEY"
|
|
|
|
[resources]
|
|
max_llm_tokens_per_hour = 150000
|
|
|
|
[capabilities]
|
|
tools = [
|
|
"file_read",
|
|
"file_write",
|
|
"file_list",
|
|
"shell_exec",
|
|
"web_search",
|
|
"web_fetch",
|
|
"memory_store",
|
|
"memory_recall",
|
|
]
|
|
network = ["*"]
|
|
memory_read = ["*"]
|
|
memory_write = ["self.*", "shared.*"]
|
|
shell = ["python *", "cargo *"]
|