controlled-submission-experiment

controlled-submission-experiment is a skill for Claude Code, Codex from topprismdata/cultivating-ml-agent. It costs 111 tokens per session (1,182 once invoked), scanned A, original, MIT.

A testing method for machine-learning submissions that changes one part at a time. A submission is a packaged set of model predictions sent to an external leaderboard for scoring.

In plain words
What is it for?
Use it when several changes were bundled together, a new submission scores worse, or local cross-validation improves while leaderboard performance falls.
Why use it?
It makes it possible to tell whether a model, feature, or post-processing change caused an improvement or regression.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it when several changes were bundled together, a new submission scores worse, or local cross-validation improves while leaderboard performance falls.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/topprismdata/cultivating-ml-agent/controlled-submission-experiment
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.

Any agent
npx skills add topprismdata/cultivating-ml-agent --skill controlled-submission-experiment
Clone the repo
git clone --depth 1 https://github.com/topprismdata/cultivating-ml-agent

Made for: Claude Code, Codex.

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 controlled-submission-experiment

README.md
[![agentmods](https://agentmods.dev/badge/skills/topprismdata/cultivating-ml-agent/controlled-submission-experiment/github.svg)](https://agentmods.dev/skills/topprismdata/cultivating-ml-agent/controlled-submission-experiment)
Your own site
<a href="https://agentmods.dev/skills/topprismdata/cultivating-ml-agent/controlled-submission-experiment"><img src="https://agentmods.dev/badge/skills/topprismdata/cultivating-ml-agent/controlled-submission-experiment/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for controlled-submission-experiment

Your own site · 80×15
<a href="https://agentmods.dev/skills/topprismdata/cultivating-ml-agent/controlled-submission-experiment"><img src="https://agentmods.dev/badge/skills/topprismdata/cultivating-ml-agent/controlled-submission-experiment.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 111 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,182 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found 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.00111 $0.01182
Opus 5 $0.00056 $0.00591
Sonnet 5 $0.00022 $0.00236
Haiku 4.5 $0.00011 $0.00118

Measured 12d ago against content hash 9f1d3f3663ac, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

controlled-submission-experiment 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 12d ago.

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.

skills/examples/controlled-submission-experiment/SKILL.md · 113 lines

How it starts

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

Controlled Submission Experiment

Problem

When multiple changes are bundled into a single submission (new features + new model + new post-processing), it's impossible to tell which change helped or hurt. A submission that scores worse than baseline might actually contain valuable model improvements hidden by a post-processing regression.

Symptoms

  • New submission scores worse than baseline despite "better" CV
  • Multiple changes made simultaneously (features + model + post-processing)
  • Zero ratio in submission changes significantly (>2%) between versions
  • Can't explain WHY the score changed in a specific direction

Solution

The Controlled Experiment Pattern

Isolate one variable at a time by creating multiple submissions from the same model output:

Baseline:  Model_A + Postproc_A  → Score_A
New:       Model_B + Postproc_B  → Score_B
Control:   Model_B + Postproc_A  → Score_C  (KEY!)

Interpretation matrix:

Pattern Model B Postproc B Conclusion
Score_C > Score_A, Score_B ≈ Score_C Better Neutral Model B is better, postproc doesn't matter
Score_C > Score_A, Score_C >> Score_B Better Worse Model B is better BUT postproc B regresses
Score_C < Score_A, Score_B ≈ Score_C Worse Neutral Model B is genuinely worse
Score_C ≈ Score_A, Score_B >> Score_A Neutral Better Postproc B carries the improvement
Score_C > Score_A, Score_B > Score_C Better Better Both improve, model B slightly more

Implementation

import pandas as pd
import numpy as np

# Step 1: Load both submission predictions (before post-processing)
r10_raw = pd.read_csv("submission_r10_raw.csv")  # baseline raw predictions
r11b_raw = pd.read_csv("submission_r11b_raw.csv")  # new raw predictions

# Step 2: Identify disputed predictions
merged = r10_raw.merge(r11b_raw, on="id", suffixes=("_r10", "_r11b"))
disputed = merged[
    (merged["sales_r11b"] == 0) & (merged["sales_r10"] > 0)
]
print(f"Disputed rows: {len(disputed)}")
print(f"R10 values in disputed: mean={disputed['sales_r10'].mean():.2f}")

# Step 3: Create controlled submission
# Use Model_B predictions but with Postproc_A logic
controlled = r11b_raw.copy()
# Apply only the baseline post-processing
controlled.loc[controlled["sales"] < 0.1, "sales"] = 0
controlled.to_csv("submission_r11c_controlled.csv", index=False)

Read the full file on GitHub · 113 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. 12d ago First seen · 113 lines · 111 tokens per session scan A 9f1d3f3663ac

Subscribe to this mod's changes

controlled-submission-experiment is a skill published in the GitHub repository topprismdata/cultivating-ml-agent (5 stars, last pushed 14d ago), licensed MIT. It adds 111 tokens to every session and 1,182 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.