Agent skill

Power Analysis

by gaasher in gaasher/Agent-Loop-Skills

A skill your agent uses when the user is planning a two-arm comparison (an A/B test, a simple RCT, a behavioral study, or a two-model/two-config evaluation) and needs to size it and preregister it…

MITAuto-check passedData & Analytics

Install Power Analysis

skills CLI
$ npx skills add gaasher/Agent-Loop-Skills --skill power-analysis -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gaasher/Agent-Loop-Skills power-analysis --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/loops/power-analysis .claude/skills/power-analysis && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
power-analysis
GitHub stars
174
Token cost
~2.2k tokens
SKILL.md length
1,065 words
Files
3
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when the user is planning a two-arm comparison (an A/B test, a simple RCT, a behavioral study, or a two-model/two-config evaluation) and needs to size it and preregister it…

  • Works in 5 steps: Simulate power. Run at the current… → Solve N. If power < , re-run the… → Audit validity. Check the design against… → …
  • The user is planning a two-arm comparison (an A/B test
  • SKILL.md covers Scope & limitations, When to use, Setup and The loop, plus 2 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Power Analysis is an agent skill from gaasher/Agent-Loop-Skills. Use when the user is planning a two-arm comparison (an A/B test, a simple RCT, a behavioral study, or a two-model/two-config evaluation) and needs to size it and preregister it before collecting data — finding the per-group sample size that hits target statistical power for the smallest effect worth detecting, auditing the design against a validity checklist, and locking it in a preregistration. Only for a single two-arm comparison with one primary outcome. Not for factorial, repeated-measures…

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `examples/run.example.yaml` and `tools/power_sim.py`). Compatibility notes: Requires Python 3.9+

It sits in Data & Analytics, covering Experimental design, Data analysis and Statistics. The repository describes itself as: Loop until it's better — drop-in agentic loops (autoresearch, scientific writing, data analysis, code/SQL/prompt optimization, red-teaming) as open-standard Agent Skills… The licence is MIT.

When your agent uses it

  • The user is planning a two-arm comparison (an A/B test
  • A behavioral study
  • Auditing the design against a validity checklist
  • Locking it in a preregistration

Example prompts

  • “/power-analysis”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Requires Python 3.9+

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Simulate power. Run at the current per-group n` and the assumed effect, with the
  2. Solve N. If power < , re-run the simulation at larger n — step up (e.g. double),
  3. Audit validity. Check the design against the checklist and list every flaw found
  4. Revise. Fix the highest-priority flaw (or a tightly-coupled pair that cannot be fixed
  5. Log one ledger row and continue.

What it can do on your machine

Read from SKILL.md and the folder at commit f1169e6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Python 3.9+

    From compatibility in the SKILL.md frontmatter.

Context cost

Power Analysis loads about 2.2k tokens when it runs. Until then it costs about 173 tokens; SKILL.md has 1,065 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~173
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gaasher/Agent-Loop-Skills at commit f1169e6, republished under its MIT licence (© gaasher). 1,065 words, ~2,194 tokens.

Download SKILL.mdSave it as .claude/skills/power-analysis/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
power-analysis
description
Use when the user is planning a two-arm comparison (an A/B test, a simple RCT, a behavioral study, or a two-model/two-config evaluation) and needs to size it and preregister it before collecting data — finding the per-group sample size that hits target statistical power for the smallest effect worth detecting, auditing the design against a validity checklist, and locking it in a preregistration. Only for a single two-arm comparison with one primary outcome. Not for factorial, repeated-measures, clustered/multilevel, time-series, adaptive, or survival designs; not for analyzing data already collected; not for choosing the outcome or manipulation from domain knowledge.
compatibility
Requires Python 3.9+
metadata.version
0.1.0

Power Analysis Loop

A power-analysis-and-preregister loop for a two-arm comparison. The artifact is the study's statistical plan; the feedback signal is two parts — statistical power (estimated by Monte-Carlo simulation of the planned test) and a count of validity flaws. Each iteration simulates power, solves for the sample size that reaches the target, audits the design for flaws, and revises — until power clears the target and the flaw list is empty. The deliverable is a sample-size justification plus a preregistration that pins the hypothesis, primary outcome, analysis, sample size, and stopping rule before any data is seen.

Scope & limitations

This loop does exactly three things, in a loop: (1) computes power and required sample size for a two-group comparison by simulation, (2) runs a fixed validity checklist over the design, and (3) writes a preregistration. The vendored power model (tools/power_sim.py) covers two-sample mean (continuous outcome) and two-proportion (binary outcome) tests only.

It is not a general experiment designer. It does not handle factorial, repeated-measures, clustered/multilevel, time-series, adaptive, or survival designs; it does not pick your outcome measure or manipulation from domain knowledge; and it does not analyze data you have already collected. For those, the power numbers here do not apply — use a design-appropriate power method. If the study is not a simple two-arm comparison, say so and stop rather than reporting a power that does not match the planned analysis.

When to use

Use this to size and preregister one two-arm comparison whose primary outcome is a continuous mean or a binary rate. Default to powering for the minimal effect of interest the user states; if they are unsure of that effect, help them set it from a baseline and a smallest-meaningful difference rather than an optimistic guess — a design "powered" for an effect bigger than reality is a fiction. If the study is not a two-arm comparison, stop and point to a design-appropriate method.

Setup

Resolve bindings interactively. If loop.run.yaml exists in the working dir, load it, confirm the values in one line, and skip to the loop. Otherwise: on Claude Code (the AskUserQuestion tool is available) infer a likely value for each binding and present it as the recommended option; on other hosts ask each as a quoted plain-text prompt. Then write loop.run.yaml (format: examples/run.example.yaml) and confirm the values before creating any other files.

bindingmeaningdefaulthow to infer
<hypothesis>the claim the experiment tests—ask the user
<outcome>primary outcome type + minimal effect of interest: continuous (baseline_mean, sd, min_effect) or binary (baseline_rate, min_lift)—ask; this fixes the effect size power is computed at
<target_power>power the design must clear0.80—
<alpha>significance level0.05—
<power_cmd>invocation of the vendored simulatorpython3 <skill_dir>/tools/power_sim.py --design <two-sample-mean|two-proportion> --effect <e> [--sd <sd> | --baseline <p0>] --alpha <alpha> --n <n_per_group>—
<design_doc>output design + preregistration file<sandbox_root>/design.md—
<sandbox_root>where design + ledger live./sandbox—
<budget>max iterations8—

<power_cmd> prints one JSON object, {"power", "n_per_group", ...}. Run it to get the power; never estimate power by hand.

Show full SKILL.md (573 more words)Show less

The loop

Copy this checklist and tick items off:

  • Iteration 0 — draft the design to <design_doc>; record nothing as final.
  • Simulate power: run <power_cmd> at the current n and the assumed effect.
  • Solve N: if power < <target_power>, re-run at larger n (step up, then bisect) until it clears.
  • Audit validity: list every flaw from the checklist below.
  • Revise: fix the highest-priority flaw, set n to the power-adequate value, update <design_doc> (+ Preregistration section).
  • Append a ledger row; stop when power clears the target and no flaws remain, or at <budget>.

Iteration 0 — draft. Write a first design to <design_doc>: the arms/conditions, the unit of analysis and how units are assigned, the primary outcome and the exact planned test, the assumed effect size (from <outcome>), and a first sample-size guess. Record nothing as final yet.

Then, until stop (power met + no flaws, or budget):

  1. Simulate power. Run <power_cmd> at the current per-group n and the assumed effect, with the --design matching the planned test. Record the achieved power.
  2. Solve N. If power < <target_power>, re-run the simulation at larger n — step up (e.g. double), then bisect — until power clears the target, and adopt that n.
  3. Audit validity. Check the design against the checklist and list every flaw found:
    • Confounding / no control — is there a concurrent control group, or is the comparison against a historical/other-source baseline that differs in other ways?
    • Randomization — are units randomly assigned? If not, selection bias threatens any effect.
    • Selection / sampling — is the sample representative of the population the claim is about?
    • Multiple comparisons — more than one outcome/subgroup tested without correction?
    • Optional stopping / peeking — is there a pre-specified stopping rule, or will analysis run repeatedly until significant?
    • Outcome & analysis pre-specification — are the primary outcome and its single planned test fixed in advance (not chosen after seeing data)?
    • Measurement — is the outcome measured reliably and blind to condition where possible?
  4. Revise. Fix the highest-priority flaw (or a tightly-coupled pair that cannot be fixed independently, such as adding a concurrent control and randomizing assignment to it) and set n to the power-adequate value. Update <design_doc>, including a Preregistration section: hypothesis, primary outcome, the one planned analysis, sample size + how it was derived, randomization scheme, and the stopping rule.
  5. Log one ledger row and continue.

Stop when power ≥ <target_power> and the flaw list is empty, or at <budget>. Report the final design + preregistration, the achieved power and required n, and — if stopping on budget — the flaws still outstanding.

Ledger

<sandbox_root>/ledger.tsv, tab-separated, never commas in the text. Header:

iter	n_per_group	power	open_flaws	change

Example:

iter	n_per_group	power	open_flaws	change
0	50	0.50	2	draft: volunteers vs last-year cohort, n=50
1	100	0.80	1	solved n for 80% power at d=0.4
2	100	0.80	0	randomized concurrent control; pre-specified single primary outcome + stopping rule

Report the best iteration: the final design, the achieved power and required n, and any flaws still open if stopping on budget.

Constraints

  • Power is computed at the minimal effect of interest, not an optimistic one, because a design powered for an effect bigger than reality detects nothing real — and the --design in the simulation must match the test named in the design. Do not edit tools/power_sim.py.
  • A design does not pass on power alone — an adequately powered but confounded or non-randomized design still fails; both gates (power and flaws) must clear.
  • Preregister before data, so the eventual test is confirmatory rather than chosen after seeing results: the analysis, outcome, sample size, and stopping rule are fixed in advance.
  • One primary outcome and one planned test drive the power and the verdict; secondary analyses are labeled exploratory.
  • The sandbox is self-contained — no ../ escapes. Do not pause the loop to ask whether to continue.

© gaasher, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in loops/power-analysis of gaasher/Agent-Loop-Skills.

  • SKILL.md
  • examples/run.example.yaml
  • tools/power_sim.py

Open the folder on GitHubat commit f1169e6

Compare with similar skills

Power Analysis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Power Analysis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Power Analysis this skillgaasher/Agent-Loop-Skills174—~2.2kAutomated safety check: PassMIT
Data Scientistdavila7/claude-code-templates32k8 repos~2.6kAutomated safety check: PassMIT
Statistical Analystalirezarezvani/claude-skills28k1 repos~2.5kAutomated safety check: PassMIT
Senior Data Scientistborghei/Claude-Skills874—~1.7kAutomated safety check: PassMIT
Senior Data ScientistRaidriar7170/hermes-skilleval1256 repos~1.4kAutomated safety check: PassMIT
Data Scientistmagnus919/hermes-profiles278—~3.3kAutomated safety check: PassMIT

Similar skills

  • Data Scientist

    davila7/claude-code-templates

    Expert data scientist for advanced analytics, machine learning, and statistical modeling.

    32k GitHub starsUsed in 8 repos~2.6k tokens
    Data & AnalyticsAuto-check passed
  • Statistical Analyst

    alirezarezvani/claude-skills

    Run hypothesis tests, analyze A/B experiment results, calculate sample sizes, and interpret statistical significance with effect sizes.

    28k GitHub starsUsed in 1 repo~2.5k tokens
    Data & AnalyticsAuto-check passed
  • Senior Data Scientist

    borghei/Claude-Skills

    A skill your agent uses when the user asks to "design an experiment", "build a predictive model", "run A/B test analysis", "perform causal inference", "engineer features", "evaluate model…

    874 GitHub stars~1.7k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Senior Data Scientist

    Raidriar7170/hermes-skilleval

    World-class data science skill for statistical modeling, experimentation, causal inference, and advanced analytics.

    125 GitHub starsUsed in 6 repos~1.4k tokens
    Data & AnalyticsAuto-check passed
  • Data Scientist

    magnus919/hermes-profiles

    PhD-level expertise in data science, statistics, and machine learning.

    278 GitHub stars~3.3k tokensUpdated 3 mo ago
    Research & ScienceAuto-check passed
  • Data Science

    travisjneuman/.claude

    Data science and analytics expertise for statistical analysis, machine learning pipelines, data governance, business intelligence, predictive modeling, and analytics strategy.

    101 GitHub starsUsed in 1 repo~2.3k tokens
    Data & AnalyticsAuto-check passed

More from gaasher/Agent-Loop-Skills

All 21 skills in this repo
  • Alpha Evolve

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user wants to evolve an ML model/program through population-based search rather than a single sequential refine loop — a generational evolution where parallel…

    174 GitHub starsUsed in 1 repo~3.4k tokens
    Auto-check passed
  • Karpathy

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user wants the LLM to do its own ML research: a fully-autonomous loop that hacks the training code, runs it, and keeps changes that lower a single scalar metric (e.g.

    174 GitHub starsUsed in 1 repo~2.6k tokens
    Auto-check passed
  • Tournament Autoresearch

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user wants an autonomous ML research loop that pressure-tests competing ideas before spending compute — several research subagents each propose one architecture…

    174 GitHub starsUsed in 1 repo~3k tokens
    Auto-check passed
  • Dueling Autoresearch

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user wants two approaches raced head-to-head on a single shared metric — e.g.

    174 GitHub starsUsed in 1 repo~2.6k tokens
    Auto-check: warnings
  • Anomaly Investigation

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user has a known, already-observed anomaly in their data — a metric spike or drop, an outlier, an unexpected number — and wants its root cause diagnosed, not guessed.

    174 GitHub stars~2.1k tokensUpdated 3 mo ago
    Auto-check passed
  • Blue Team

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user has concrete failing cases in code or a guardrail/classifier/filter/prompt/API they own — a red-team failure catalogue OR a CI/CD test-failure report (failing…

    174 GitHub stars~3.6k tokensUpdated 3 mo ago
    Auto-check passed

Questions about Power Analysis

What does Power Analysis do?

A skill your agent uses when the user is planning a two-arm comparison (an A/B test, a simple RCT, a behavioral study, or a two-model/two-config evaluation) and needs to size it and preregister it…. Power Analysis is an agent skill from gaasher/Agent-Loop-Skills. Use when the user is planning a two-arm comparison (an A/B test, a simple RCT, a behavioral study, or a two-model/two-config evaluation) and needs to size it and preregister it before collecting data — finding the per-group sample size that hits target statistical power for the smallest effect worth detecting, auditing the design against a validity checklist, and locking it in a preregistration.

When should I use Power Analysis?

Power Analysis fits situations like: the user is planning a two-arm comparison (an A/B test; A behavioral study; auditing the design against a validity checklist; locking it in a preregistration.

How do I install Power Analysis in Claude Code?

Run `npx skills add gaasher/Agent-Loop-Skills --skill power-analysis -a claude-code`. Or copy the skill folder (loops/power-analysis in gaasher/Agent-Loop-Skills) into .claude/skills/power-analysis in your project. Claude Code loads it when a task matches its description.

How do I install Power Analysis in Codex?

Run `npx skills add gaasher/Agent-Loop-Skills --skill power-analysis -a codex`. Or copy the skill folder (loops/power-analysis in gaasher/Agent-Loop-Skills) into .agents/skills/power-analysis in your project. Codex loads it when a task matches its description.

Can I use Power Analysis in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gaasher/Agent-Loop-Skills --skill power-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/power-analysis, .gemini/skills/power-analysis, .github/skills/power-analysis and .opencode/skills/power-analysis in your project.

What does Power Analysis need to run?

Going by SKILL.md and its folder, Power Analysis needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3. Compatibility (from SKILL.md): Requires Python 3.9+.

Does Power Analysis access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Power Analysis safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Power Analysis use?

Power Analysis is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Power Analysis use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Power Analysis?

Skills that share tags, products or a category with Power Analysis: Data Scientist (davila7/claude-code-templates, 32k stars), Statistical Analyst (alirezarezvani/claude-skills, 28k stars), Senior Data Scientist (borghei/Claude-Skills, 874 stars) and Senior Data Scientist (Raidriar7170/hermes-skilleval, 125 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Power Analysis?

gaasher (a GitHub user) maintains it in gaasher/Agent-Loop-Skills, which has 174 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on June 30, 2026.

Source: gaasher/Agent-Loop-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.