| name | submitting-results |
| description | Submit competition results to the leaderboard for this project using make submit and Kaggle CLI. Use when the user asks to submit a model, run make submit, or send the current submission.csv to the leaderboard. |
Submitting Results (AI Cup 2026 Performance)
When to use this skill
Use this skill whenever the user wants to:
- Submit a new model to the AI Cup 2026 | Performance Track leaderboard.
- Run
make submit or otherwise send the current submission.csv to Kaggle.
- Ensure submissions are associated with a clear, informative message.
This skill is project-specific to the bird-prediction repo.
Prerequisites
- The project root is
/Users/nomomon/Desktop/Projects/bird-prediction.
submission.csv in the project root is the file to submit (already generated and tested).
- The working tree must be clean (no uncommitted changes), because the
Makefile enforces this.
- The Kaggle CLI is already configured and authenticated for the user.
You must not try to bypass the Makefile’s cleanliness check. If the tree is dirty, guide the user to commit or stash changes first.
Submission workflow
1. Verify git status
From the project root, run:
cd /Users/nomomon/Desktop/Projects/bird-prediction
git status
- If
git status reports “nothing to commit, working tree clean”, you can proceed.
- If there are uncommitted changes, ask the user whether to:
- Commit them (preferred for changes that should be kept), or
- Stash/discard them (only if explicitly requested).
Do not run make submit until the working tree is clean.
2. Ensure the correct submission file is in place
By convention in this project:
- The best current model’s predictions are copied or written to
submission.csv in the project root.
- If multiple candidate submissions exist (e.g.
submission_tuned_calibrated_targetenc.csv), first copy the chosen one:
cd /Users/nomomon/Desktop/Projects/bird-prediction
cp submission_tuned_calibrated_targetenc.csv submission.csv
Only after this step should you submit.
3. Understand how make submit works
The Makefile contains:
submit:
@if [ -n "$$(git status --porcelain)" ]; then \
echo "commit all changes before submission"; \
exit 1; \
fi; \
hash=$$(git rev-parse --short HEAD); \
read -p "Submission message: " msg; \
kaggle competitions submit -c ai-cup-2026-performance -f submission.csv -m "[$$hash] $$msg"; \
echo "Waiting 20s for submission to process..."; \
sleep 20; \
kaggle competitions submissions -c ai-cup-2026-performance
Key points:
- It refuses to run if there are uncommitted changes.
- It computes the current git commit short hash and prefixes it in the Kaggle message like
[abcd123].
- It reads a single-line submission message from stdin (via
read -p "Submission message: " msg).
- It submits
submission.csv to the ai-cup-2026-performance competition.
- It waits 20 seconds, then prints the recent submissions table with public scores.
Because read expects input from stdin, you must pipe the message when driving this non-interactively.
4. Running make submit with a piped message
To submit non-interactively (as the agent), use this pattern:
cd /Users/nomomon/Desktop/Projects/bird-prediction
printf 'Your submission message here\n' | make submit
Guidelines for the message:
- Include the phase or experiment description and OOF score (and any notable settings).
- Keep it to a single concise line; the Makefile automatically prepends the commit hash.
Examples:
printf 'Phase 1: tuned+calibrated histgb with target-encoding (OOF 0.5555)\n' | make submit
printf 'Phase 2: stronger regularization search, tuned histgb + target-encoding (OOF 0.56x)\n' | make submit
printf 'Phase 3: per-class sample weights for weak classes (Cormorants/Ducks/Waders)\n' | make submit
After the command finishes, inspect the printed submissions table to see:
- The fileName (should be
submission.csv),
- The description (including commit hash + your message),
- The publicScore for the new submission.
Agent usage checklist
When the user asks to “submit”, “use make submit”, or “send this to the leaderboard”:
- Confirm best file is in
submission.csv
- If needed, copy the best candidate file over
submission.csv.
- Ensure clean git state
- Run
git status; if dirty, coordinate with the user to commit/stash before proceeding.
- Construct a clear message
- Include: phase name, key settings (tuned/ensemble/target-encoding/etc.), OOF mAP, and any notable class behavior.
- Run
printf 'message\n' | make submit
- Use the exact project root path and command pattern above.
- Report back to the user
- Summarize: which file was submitted, the message used, and the resulting public leaderboard score from the printed table.
Follow this workflow every time you submit to keep submissions traceable and consistent.