Agent skill

Persist ML Git

by probabl-ai in probabl-ai/skills

Persist the current loop stage with the real git CLI when the end-turn hook says invoke.

BSD-3-ClauseAuto-check: notesDevelopment

Install Persist ML Git

skills CLI
$ npx skills add probabl-ai/skills --skill persist-ml-git -a claude-code

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

GitHub CLI
$ gh skill install probabl-ai/skills persist-ml-git --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/probabl-ai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/persist-ml-git .claude/skills/persist-ml-git && 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
persist-ml-git
GitHub stars
137
Token cost
~683 tokens
SKILL.md length
377 words
Files
2
Skills in repo
23
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Persist the current loop stage with the real git CLI when the end-turn hook says invoke.

  • Works in 6 steps: If action is skip, stop. Do not nag.… → If reason is resolve-dotfiles and… → If review_paths is non-empty, ask once… → …
  • After python -m skoreskills git end-turn --stage <stage returns action invoke
  • Calls git and python
  • The user asks to commit this turns work

What it does

Persist ML Git is an agent skill from probabl-ai/skills. Persist the current loop stage with the real git CLI when the end-turn hook says invoke. Trigger after python -m skoreskills git end-turn --stage <stage returns action invoke, or when the user asks to commit this turn's work.

Its SKILL.md is about 680 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/evals.json`).

It sits in Development, covering Git workflow. It works with Git and Python. The repository describes itself as: Tabular Data Science Skills for guardrailing AI Agents. The licence is BSD-3-Clause.

When your agent uses it

  • After python -m skoreskills git end-turn --stage <stage returns action invoke
  • The user asks to commit this turns work

Example prompts

  • “/persist-ml-git”

Requirements

  • Python 3

Workflow steps

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

  1. If action is skip, stop. Do not nag. Load triage-ml-task
  2. If reason is resolve-dotfiles and ambiguous_dotfiles is
  3. If review_paths is non-empty, ask once which of those paths
  4. Run git status. Stage only non-secret paths that are not
  5. Commit with a one-line subject from this turn's files and
  6. Load triage-ml-task if installed, else stop.

What it can do on your machine

Read from SKILL.md and the folder at commit 73564e4. 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

    Shell commands in SKILL.md call:

    • git
    • python

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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.

Context cost

Persist ML Git loads about 683 tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 377 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:21
    `.env` or `.skore`. If `ambiguous_dotfiles` is empty or `reason`
  • NoteMentions a .env fileSKILL.md:36
    next JSON. Never `--keep` `.env` or `.skore`. If
  • NoteMentions a .env fileSKILL.md:47
    `.env` or `.skore`.

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 probabl-ai/skills at commit 73564e4, republished under its BSD-3-Clause licence (© probabl-ai). 377 words, ~683 tokens.

Download SKILL.mdSave it as .claude/skills/persist-ml-git/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
persist-ml-git
description
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.

Persist ML Git

The hook already ran this turn. Follow its JSON. Run git yourself.

  1. If action is skip, stop. Do not nag. Load triage-ml-task if installed, else stop.
  2. If reason is resolve-dotfiles and ambiguous_dotfiles is non-empty, ask once which hidden paths to keep. Then python -m skore_skills git ignore-merge --decide plus --keep <path> for each chosen path (no --keep if they keep none). Do not re-ask names gone from the next JSON. Never keep .env or .skore. If ambiguous_dotfiles is empty or reason is persist, do not ask about hidden paths. Exit code 2 from git ignore-merge is the structured dotfile decision required outcome, not a generic command failure: read its JSON, ask the decision, and rerun with --decide.
  3. If review_paths is non-empty, ask once which of those paths to keep tracked. List each JSON path and kind, and say that the rest are ignored. Then python -m skore_skills git review-decide with --keep <path> for each chosen path and --ignore <path> for every other path in the list (no --keep if 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 .env or .skore. If review_paths is empty, do not ask about file size, artifacts, or datasets. Do this when reason is resolve-review, and also after step 2 when reason is resolve-dotfiles and that payload lists review_paths. Exit code 2 from git review or git review-decide is the structured review decision required outcome, not a generic command failure: read its JSON, ask the decision, and rerun review-decide.
  4. Run git status. Stage only non-secret paths that are not still listed in review_paths: git add -- <paths>. Never .env or .skore.
  5. Commit with a one-line subject from this turn's files and intent: git commit -m "…". Do not use a canned stage slogan.
  6. Load triage-ml-task if installed, else stop.
Show full SKILL.md (44 more words)Show less

Stop conditions

  • Do not git push, amend, rebase, or git 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.

© probabl-ai, BSD-3-Clause. 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 1 other file in skills/persist-ml-git of probabl-ai/skills.

  • SKILL.md
  • evals/evals.json

Open the folder on GitHubat commit 73564e4

Compare with similar skills

Persist ML Git 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.

Persist ML Git compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Persist ML Git this skillprobabl-ai/skills137—~683Automated safety check: NotesBSD-3-Clause
Skyvern Version BumpSkyvern-AI/skyvern23k—~1kAutomated safety check: NotesAGPL-3.0
Saleor Commit Workflowsaleor/saleor23k—~575Automated safety check: PassBSD-3-Clause
pybind11 Release Preparationpybind/pybind1118k—~1.7kAutomated safety check: PassCustom licence
pybind11 Release Publicationpybind/pybind1118k—~2.5kAutomated safety check: PassCustom licence
Git History Bug Auditben-manes/caffeine18k—~3.3kAutomated safety check: PassApache-2.0

Similar skills

  • Skyvern Version Bump

    Skyvern-AI/skyvern

    Walks through a Skyvern open-source release bump: update the version, rebuild the Python and TypeScript SDKs with Fern, commit, and open a pull request.

    23k GitHub stars~1k tokensUpdated today
    DevelopmentAuto-check: notes
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.

    18k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Walks a maintainer through publishing a pybind11 release after the preparation PR merges, with preflight checks, confirmations before each push and a GitHub release.

    18k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Git History Bug Audit

    ben-manes/caffeine

    Audits a module by walking its git history commit by commit, tracking unresolved issues forward, and reporting the ones that survive to HEAD as findings.

    18k GitHub stars~3.3k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Adk Git

    google/adk-python

    Official

    Writes commit messages and pull request descriptions for the adk-python repository: Conventional Commits types and scopes, subject lines that say why a change was made, and the linked-issue and…

    22k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed

More from probabl-ai/skills

All 23 skills in this repo
  • Add Python Package

    probabl-ai/skills

    Add a Python dependency through the project env manager, or ask the user to install it when env.managed is false.

    137 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Build ML Pipeline

    probabl-ai/skills

    Declare the pipeline from data source to predictor as a skrub DataOps graph.

    137 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Evaluate ML Pipeline

    probabl-ai/skills

    Evaluate one learner with skore.evaluate. An agent skill from probabl-ai/skills.

    137 GitHub stars~4.3k tokensUpdated today
    Auto-check passed
  • Setup Workspace

    probabl-ai/skills

    Detect an existing ML workspace or scaffold a fresh one via python -m skoreskills scaffold --package <pkg.

    137 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Audit ML Pipeline

    probabl-ai/skills

    Read-only audit of one persisted skore report: audit/NN<stem.py (jupytext percent), 1:1 with experiments/ and journal/.

    137 GitHub stars~9.4k tokensUpdated today
    Auto-check passed
  • Explore ML Data

    probabl-ai/skills

    Owns data understanding before any model is designed. An agent skill from probabl-ai/skills.

    137 GitHub stars~5.7k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Persist ML Git

What does Persist ML Git do?

Persist the current loop stage with the real git CLI when the end-turn hook says invoke. Persist ML Git is an agent skill from probabl-ai/skills. Persist the current loop stage with the real git CLI when the end-turn hook says invoke.

When should I use Persist ML Git?

Persist ML Git fits situations like: after python -m skoreskills git end-turn --stage <stage returns action invoke; the user asks to commit this turns work.

How do I install Persist ML Git in Claude Code?

Run `npx skills add probabl-ai/skills --skill persist-ml-git -a claude-code`. Or copy the skill folder (skills/persist-ml-git in probabl-ai/skills) into .claude/skills/persist-ml-git in your project. Claude Code loads it when a task matches its description.

How do I install Persist ML Git in Codex?

Run `npx skills add probabl-ai/skills --skill persist-ml-git -a codex`. Or copy the skill folder (skills/persist-ml-git in probabl-ai/skills) into .agents/skills/persist-ml-git in your project. Codex loads it when a task matches its description.

Can I use Persist ML Git 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 probabl-ai/skills --skill persist-ml-git -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/persist-ml-git, .gemini/skills/persist-ml-git, .github/skills/persist-ml-git and .opencode/skills/persist-ml-git in your project.

What does Persist ML Git need to run?

Going by SKILL.md and its folder, Persist ML Git needs the command-line tools its instructions call (git and python). Our summary lists: Python 3.

Does Persist ML Git access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Persist ML Git safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Persist ML Git use?

Persist ML Git is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Persist ML Git use?

About 683 tokens (SKILL.md is roughly 2.7k 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 Persist ML Git?

Skills that share tags, products or a category with Persist ML Git: Skyvern Version Bump (Skyvern-AI/skyvern, 23k stars), Saleor Commit Workflow (saleor/saleor, 23k stars), pybind11 Release Preparation (pybind/pybind11, 18k stars) and pybind11 Release Publication (pybind/pybind11, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Persist ML Git?

probabl-ai (a GitHub organization) maintains it in probabl-ai/skills, which has 137 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 7, 2026.

Source: probabl-ai/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.