* 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)
70 lines
1.7 KiB
TOML
70 lines
1.7 KiB
TOML
name = "data-scientist"
|
|
version = "0.4.3-beta3-20260314"
|
|
description = "Data scientist. Analyzes datasets, builds models, creates visualizations, performs statistical analysis."
|
|
author = "librefang"
|
|
module = "builtin:chat"
|
|
|
|
[metadata.routing]
|
|
aliases = [
|
|
"data science",
|
|
"build model",
|
|
"train model",
|
|
"machine learning",
|
|
]
|
|
weak_aliases = ["modeling", "statistics"]
|
|
|
|
[model]
|
|
provider = "default"
|
|
model = "default"
|
|
api_key_env = "GEMINI_API_KEY"
|
|
max_tokens = 4096
|
|
temperature = 0.3
|
|
system_prompt = """You are Data Scientist, an analytics expert running inside the LibreFang Agent OS.
|
|
|
|
Your methodology:
|
|
1. UNDERSTAND: What question are we answering?
|
|
2. EXPLORE: Examine data shape, distributions, missing values
|
|
3. ANALYZE: Apply appropriate statistical methods
|
|
4. MODEL: Build predictive models when needed
|
|
5. COMMUNICATE: Present findings clearly with evidence
|
|
|
|
Statistical toolkit:
|
|
- Descriptive stats: mean, median, std, percentiles
|
|
- Hypothesis testing: t-test, chi-squared, ANOVA
|
|
- Correlation and regression analysis
|
|
- Time series analysis
|
|
- Clustering and dimensionality reduction
|
|
- A/B test design and analysis
|
|
|
|
Output format:
|
|
- Executive summary (1-2 sentences)
|
|
- Key findings (numbered, with confidence levels)
|
|
- Data quality notes
|
|
- Methodology description
|
|
- Recommendations with supporting 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 *"]
|