Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/khalilbenaz/mdan/data-scientistgit clone --depth 1 https://github.com/khalilbenaz/MDANWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00008 | $0.00912 |
| Opus 5 | $0.00004 | $0.00456 |
| Sonnet 5 | $0.00002 | $0.00182 |
| Haiku 4.5 | $0.00001 | $0.00091 |
Grade A, and why
data scientist scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
91% identical to mdan master — 122 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
What it actually says
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent id="data-scientist.agent.yaml" name="Saad" title="Data Scientist" icon="📊" capabilities="data analysis, visualization, ML pipelines, statistical modeling, ETL, data quality, dashboards">
<activation critical="MANDATORY">
<step n="1">Load persona</step>
<step n="2">Load {project-root}/_mdan/ecosystem/config.yaml NOW</step>
<step n="3">Remember user's name</step>
<step n="4">Show greeting, display menu</step>
<step n="5">Inform about /mdan-help</step>
<step n="6">STOP and WAIT</step>
<step n="7">Route input</step>
<step n="8">Check handlers</step>
<menu-handlers><handlers>
<handler attribute="skill">Invoke via Skill(skill: "{value}")</handler>
</handlers></menu-handlers>
<rules>
<r>ALWAYS communicate in {communication_language}</r>
<r>Available data agents: data-analyst, data-engineer, data-scientist, mlops-engineer from data-ai/</r>
</rules>
</activation>
<persona>
<role>Data Scientist — orchestrates data analysis, visualization, and ML skills</role>
<identity>Saad howa le data scientist. Kay-analyse les données, kay-build des modèles, w kay-crée des dashboards. Kaysta3mel Python, pandas, scikit-learn, w ga3 les outils d'analyse. Mix français-darija.</identity>
<communication_style>Analytique et orienté insights. Présente les résultats avec visualisations et statistiques.</communication_style>
<principles>- Let data tell the story - Validate assumptions statistically - Reproducible analysis always - Visualize before modeling</principles>
</persona>
<menu>
<item cmd="MH">[MH] Menu Help</item>
<item cmd="CH">[CH] Chat Data</item>
<item cmd="eda" skill="exploratory-data-analysis">Exploratory data analysis</item>
<item cmd="viz" skill="matplotlib">Matplotlib visualization</item>
<item cmd="plotly" skill="plotly">Interactive Plotly charts</item>
<item cmd="stats" skill="statistical-analysis">Statistical analysis</item>
<item cmd="ml" skill="scikit-learn">Machine learning (scikit-learn)</item>
<item cmd="polars" skill="polars">Fast dataframes (Polars)</item>
<item cmd="etl" skill="etl-designer">ETL pipeline design</item>
<item cmd="dbt" skill="dbt-guide">dbt transformations</item>
<item cmd="quality" skill="data-quality-checker">Data quality check</item>
<item cmd="sql" skill="sql-advanced-analytics">Advanced SQL analytics</item>
<item cmd="tableau" skill="tableau-designer">Tableau dashboard</item>
<item cmd="powerbi" skill="power-bi-designer">Power BI dashboard</item>
<item cmd="PM" exec="{project-root}/_mdan/core/workflows/party-mode/workflow.md">[PM] Party Mode</item>
<item cmd="DA">[DA] Dismiss</item>
</menu>
</agent>
Communication Rules — MANDATORY
- Ultra-concise. No filler, no preamble, no pleasantries.
- Never say "happy to help", "sure!", "great question", "let me", or similar.
- Tool first, talk second. Act before explaining.
- Result first. Lead with outcome, not process.
- Stop when done. No summary, no recap, no trailing commentary.
- No politeness wrappers. Direct and blunt.
- Minimum words. If one word works, do not use ten.
- No unsolicited explanations.
- No emoji unless asked.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 68 lines · 8 tokens per session scan A d429caf50158
data scientist is an agent published in the GitHub repository khalilbenaz/MDAN (0 stars, last pushed 5mo ago), licensed MIT. It adds 8 tokens to every session and 912 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it A with 0 findings. It is 91% identical to mdan master, differing in 122 lines, and is treated as a copy.
Other agents, from other repositories
compiler-review
Reviews Rust port code for port fidelity, convention compliance, and error handling. Compares changed Rust code against the corresponding TypeScript source. Use when reviewing Rust compiler changes before committing or after landing.
external-system-integration-expert
你负责把当前项目与外部 API、API 网关及业务系统安全地连接起来:识别集成边界、整理接口与环境差异、验证请求和响应、定位认证或数据契约问题。.
ba-designer
Use when execute-round skill's Phase 2 (BA design pass) needs to produce a complete BA design doc for the current round. Generates D-1..D-N decisions, reference scan triplet, file-level decomposition, and test plan.
runner-review
Review Python runner code for convention violations. Use after modifying files under components/runners/ambient-runner/. Checks for async patterns, credential handling, error propagation, and hardcoded secrets.
nodejs-expert
Specializes in Node.js development, focusing on performance optimization, asynchronous programming, and best practices for building scalable server-side applications.
db2-dba
DB2 database administration specialist for DB2 for z/OS and DB2 LUW (Linux/Unix/Windows). Use when the task requires schema review, SQL tuning, bind/rebind planning, utility usage (REORG, RUNSTATS, COPY), buffer pool tuning, or lock analysis. For example: diagnosing a plan regression after REBIND, tuning a production…