post-submission-review
Skill2 starsChanged 6 months agoMITView on GitHub
After any kaggle submission, diff against the prior best submission, fetch the new public score, write the outcome to the competition's submissions/LOG.md, and capture a learning if the delta is notable. Triggered automatically by a PostToolUse hook on `kaggle competitions submit`. Also use when the user says "review that submission" or "what did that submission do".
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Identify the submission just made: Read the last line of competitions/<slug>/submissions/LOG.md if present, otherwise list recent …
- Very specific: line 20
Stop once status is complete or error.
- Distinctive: line 30
If no git history, ask the user in one line: "What changed since last submission?"
- Distinctive: line 44
Don't auto-capture learnings on noise-level deltas — save the slot for real signal.
- Very specific: line 45
Don't trust a single submission's public score on a small leaderboard — note it but flag cv-lb-mismatch as a risk.
- Distinctive: line 46
Don't re-submit the same artifact to "check noise." Submission quota is precious.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Post-Submission Review
The discipline that turns each submission into a data point with a lesson attached.
Steps
- Identify the submission just made. Read the last line of
competitions/<slug>/submissions/LOG.mdif present, otherwise list recent submissions:kaggle competitions submissions <slug> --page-size 3 - Poll for score. Up to ~3 minutes, every 15s:
Stop oncekaggle competitions submissions <slug> --page-size 1statusiscompleteorerror. - Compute delta against prior best. Prior best = highest
publicScorein submission history. Respect the scoring direction — higher-better vs lower-better; read fromcompetitions/<slug>/CLAUDE.md. - Append / update the
LOG.mdrow with final public score and a one-line notes field. - Classify the outcome:
- Improved > meaningful threshold (competition-specific; default 0.001 absolute) →
patternlearning candidate. - Regressed > threshold →
scarlearning candidate. - Flat ±threshold → no learning; log as
noise-equivalentin notes. - Errored (invalid format, timeout) →
scar, always.
- Improved > meaningful threshold (competition-specific; default 0.001 absolute) →
- Collect the cause. Based on session context: what changed between this submission and the prior best?
- Use git:
git log --oneline <prior-commit>..HEAD -- competitions/<slug>. - If no git history, ask the user in one line: "What changed since last submission?"
- Use git:
- If a learning candidate, invoke
capture-learningwith:scope: <slug>unless the change clearly generalizes globally.- Scar or pattern per step 5.
- Tags:
submission,<metric-name>, and any technique tag (e.g.feature-eng,hyperparam,ensemble).
- Summarize to the user:
Submission: <file> — <score> (Δ +0.0042 vs best) Cause: <what changed> Captured: L-… (pattern)
Do NOT
- Don't auto-capture learnings on noise-level deltas — save the slot for real signal.
- Don't trust a single submission's public score on a small leaderboard — note it but flag
cv-lb-mismatchas a risk. - Don't re-submit the same artifact to "check noise." Submission quota is precious.
Lineage
Treat each submission as a node in a tree whose parent is the prior best. The delta is the edge label. Over time, this tree shows which branches paid off. When you capture a learning, reference the submission IDs ("L-… explains the gain from sub-023 → sub-024").
In this repository14 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- capture-learningSkill
- debug-agentSkill
- eda-auditSkill
- ensemble-blendSkill
- improve-agentSkill
- leaderboard-checkSkill
- log-experimentSkill
- new-competitionSkill
- preflight-consultSkill
- recall-learningsSkill
- retrospect-sessionSkill
- run-local-evalSkill
- submit-competitionSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

