Persist ML Git
SkillDev toolsLets your agent save each round of machine-learning work by staging files and making a git commit.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Persist ML Git skill
About this skill
Persist the current loop stage with the real git CLI when the end-turn hook says invoke. Trigger after `python -m skore_skills git end-turn --stage <stage>` returns action invoke, or when the user asks to commit this turn's work.
What this skill tells your AI
The instructions your AI receives, as published by probabl-ai/skills in skills/persist-ml-git/SKILL.md and read by ahel’s review.
The hook already ran this turn. Follow its JSON. Run git yourself.
- If
actionisskip, stop. Do not nag. Loadtriage-ml-taskif installed, else stop. - If
reasonisresolve-dotfilesandambiguous_dotfilesis non-empty, ask once which hidden paths to keep. Thenpython -m skore_skills git ignore-merge --decideplus--keep <path>for each chosen path (no--keepif they keep none). Do not re-ask names gone from the next JSON. Never keep.envor.skore. Ifambiguous_dotfilesis empty orreasonispersist, do not ask about hidden paths. Exit code 2 fromgit ignore-mergeis the structureddotfile decision requiredoutcome, not a generic command failure: read its JSON, ask the decision, and rerun with--decide. - If
review_pathsis non-empty, ask once which of those paths to keep tracked. List each JSONpathandkind, and say that the rest are ignored. Thenpython -m skore_skills git review-decidewith--keep <path>for each chosen path and--ignore <path>for every other path in the list (no--keepif they keep none). Pass a folder path through with its trailing slash so the ignore line is that folder. Copy paths and kinds from the JSON; do not invent them. Do not re-ask paths gone from the next JSON. Never--keep.envor.skore. Ifreview_pathsis empty, do not ask about file size, artifacts, or datasets. Do this whenreasonisresolve-review, and also after step 2 whenreasonisresolve-dotfilesand that payload listsreview_paths. Exit code 2 fromgit revieworgit review-decideis the structuredreview decision requiredoutcome, not a generic command failure: read its JSON, ask the decision, and rerunreview-decide. - Run
git status. Stage only non-secret paths that are not still listed inreview_paths:git add -- <paths>. Never.envor.skore. - Commit with a one-line subject from this turn's files and
intent:
git commit -m "…". Do not use a canned stage slogan. - Load
triage-ml-taskif installed, else stop.
Stop conditions
- Do not
git push, amend, rebase, orgit config. - Do not invent a commit when the hook was
skip(off,unanswered,no_repo,clean). - Do not call
python -m skore_skills git end-turn --stage <stage>to perform the commit; that command only prints facts.
Signals
- GitHub stars
- 132
- Forks
- 9
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
persist-ml-git- Source
- github.com/probabl-ai/skills