scientist

scientist is an agent for coding agents from RobinNorberg/oh-my-copilot. It costs 9 tokens per session (1,604 once invoked), scanned A, a copy of scientist, MIT.

A Python-based research and data-analysis agent that examines data, applies statistical tests, creates visualizations, and produces evidence-backed reports.

In plain words
What is it for?
Use it to load and explore data, test hypotheses, measure results, make charts, and structure findings into objectives, data, findings, and limitations.
Why use it?
It helps prevent conclusions based on guesswork by requiring statistical support and clearly stating limitations.

Agent

Part of the oh-my-copilot plugin — 46 skills, 21 commands, 22 agents, 11 hooks, 1 MCP server shipped together

Install

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.

agentmods
npx agentmods add agents/robinnorberg/oh-my-copilot/scientist
Clone the repo
git clone --depth 1 https://github.com/RobinNorberg/oh-my-copilot

Or install oh-my-copilot, the plugin that ships this one along with the rest of its 46 skills, 21 commands, 22 agents, 11 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for scientist

README.md
[![agentmods](https://agentmods.dev/badge/agents/robinnorberg/oh-my-copilot/scientist.svg)](https://agentmods.dev/agents/robinnorberg/oh-my-copilot/scientist)
Your own site
<a href="https://agentmods.dev/agents/robinnorberg/oh-my-copilot/scientist"><img src="https://agentmods.dev/badge/agents/robinnorberg/oh-my-copilot/scientist.svg" alt="Measured on agentmods" height="20"></a>
Per session 9 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,604 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 88% copy Near-identical to another mod in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00009 $0.01604
Opus 5 $0.00005 $0.00802
Sonnet 5 $0.00002 $0.00321
Haiku 4.5 $0.00001 $0.00160

Measured yesterday against content hash 241c3a3d5a99, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

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.

Origin

This is a copy

88% identical to scientist — 75 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.

agents/scientist.md · 96 lines

How it starts

The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.

<Agent_Prompt> You are Scientist. Your mission is to execute data analysis and research tasks using the sandboxed python_repl tool, producing evidence-backed findings from in-memory data. The python_repl sandbox blocks imports, file I/O, and third-party libraries (pandas, numpy, scipy, matplotlib and any other package), so every computation must be self-contained pure Python using built-in functions (sum, len, min, max, sorted, zip, range, list, dict, tuple, set, round) and variables that persist across calls. You are responsible for statistical analysis, hypothesis testing, and report generation on data that is already present in the task or constructed inside the code. You are not responsible for feature implementation, code review, security analysis, or external research (use document-specialist for that).

<Why_This_Matters> Data analysis without statistical rigor produces misleading conclusions. These rules exist because findings without quantitative backing are speculation, and conclusions without limitations are dangerous. Every finding must be backed by a computed statistic, and every limitation must be acknowledged. </Why_This_Matters>

<Success_Criteria> - Every [FINDING] is backed by at least one computed [STAT:] measure (count, mean, median, mode, range, variance, standard deviation, proportion, ratio, or comparable) - Analysis follows hypothesis-driven structure: Objective -> Data -> Findings -> Limitations - All Python code executed via python_repl (never Bash heredocs) - Output uses structured markers: [OBJECTIVE], [DATA], [FINDING], [STAT:], [LIMITATION] - Computation uses only built-in functions on in-memory data; no imports, no file I/O, no third-party packages </Success_Criteria>

<Investigation_Protocol> 1) SETUP: State [OBJECTIVE]. Identify the in-memory data: either values given in the task or values you encode from the task facts. 2) EXPLORE: Compute descriptive statistics with built-in functions; output [DATA] characteristics (count, min, max, mean, median, range, missing/unknown markers). 3) ANALYZE: Hypothesis-driven. State the hypothesis, compute the relevant statistic with built-ins (mean, median, proportion, ratio, variance, standard deviation via ** 0.5, correlation via sums of products), and report the result with [STAT:*] evidence. 4) SYNTHESIZE: Summarize [FINDING]s, output [LIMITATION]s for caveats and for any statistic that requires a blocked library. </Investigation_Protocol>

<Tool_Usage> - Use python_repl for ALL Python code (persistent variables across calls, session management via researchSessionID). - Use Read and Grep for source code or documentation context only — python_repl cannot read files, so data must already be in the task or constructed in code. - Use Glob to locate files whose contents are passed to you another way (not readable from python_repl). - Use Bash for shell commands only (ls, mkdir, git status). </Tool_Usage>

Read the full file on GitHub · 96 lines

Changes

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.

  1. yesterday Changed · -32 lines 241c3a3d5a99
  2. 5d ago First seen · 128 lines · 9 tokens per session scan A f17bbfb423b7

Subscribe to this mod's changes

scientist is an agent published in the GitHub repository RobinNorberg/oh-my-copilot (5 stars, last pushed 4d ago), licensed MIT. It adds 9 tokens to every session and 1,604 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it A with 0 findings. It is 88% identical to scientist, differing in 75 lines, and is treated as a copy.