scan-commit

scan-commit is a skill for Claude Code, Codex from magic3007/dotfiles. It costs 35 tokens per session (2,378 once invoked), scanned A, original, MIT.

A repository change scanner that groups file changes into separate commits. It uses Conventional Commits, a shared format for writing commit messages such as feat or fix.

In plain words
What is it for?
Use it to inspect unstaged, untracked, and already-staged changes, preview a commit plan, stage logical groups, and create the commits.
Why use it?
It helps when a working folder contains several unrelated edits that have not been staged or committed. Grouping changes at the individual code-hunk level can keep commits focused.

Skill for Claude CodeCodex

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

Good fit Use it to inspect unstaged, untracked, and already-staged changes, preview a commit plan, stage logical groups, and create the commits.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/magic3007/dotfiles/scan-commit
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 magic3007/dotfiles --skill scan-commit
Clone the repo
git clone --depth 1 https://github.com/magic3007/dotfiles

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 scan-commit

README.md
[![agentmods](https://agentmods.dev/badge/skills/magic3007/dotfiles/scan-commit/github.svg)](https://agentmods.dev/skills/magic3007/dotfiles/scan-commit)
Your own site
<a href="https://agentmods.dev/skills/magic3007/dotfiles/scan-commit"><img src="https://agentmods.dev/badge/skills/magic3007/dotfiles/scan-commit/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 scan-commit

Your own site · 80×15
<a href="https://agentmods.dev/skills/magic3007/dotfiles/scan-commit"><img src="https://agentmods.dev/badge/skills/magic3007/dotfiles/scan-commit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 35 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,378 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. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Tool Misuse · line 143
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
How audits are shown
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.00035 $0.02378
Opus 5.5 $0.00014 $0.00951
Sonnet 5.5 $0.00007 $0.00476
Haiku 4.5 $0.00003 $0.00238

Measured 1mo ago against content hash e5e48d93db96, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

scan-commit 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 1mo 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/scan-commit/SKILL.md · 304 lines

How it starts

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

Scan Commit

Scan the entire working tree for pending changes — unstaged modifications, untracked files, and (with a warning) already-staged changes — analyze them into logical groups at the hunk level, then stage and commit each group with well-structured messages following Conventional Commits v1.0.0.

This extends the smart-commit workflow by adding the scanning and staging phases. It handles the common case where a developer has been working on multiple concerns and hasn't staged anything yet.

Usage

Invoke with /scan-commit or when the task matches.

Arguments:

  • --dry-run: Only show the proposed commit plan without executing

Workflow

Step 1: Scan All Changes

# Unstaged modifications to tracked files
git diff --no-color

# Untracked new files
git status --porcelain

# Already-staged changes (warn if present)
git diff --cached --stat

Collect three categories of changes:

Category Command Description
Modified (unstaged) git diff --no-color Changes to tracked files not yet staged
Untracked git status --porcelain New files git doesn't know about
Staged git diff --cached --stat Already staged (warn, include in analysis)

If no changes exist at all, stop and inform the user.

If there are already-staged changes, warn the user. Include them in the analysis but note they are already staged — they will be committed as-is (no hunk splitting on already-staged content).

Step 2: Read and Understand All Changes

For each changed file, understand:

  • What was added, modified, or deleted
  • How the change relates to other files
  • For files with multiple logical changes (e.g., a bug fix AND a refactor in the same file), identify each hunk's purpose

Use git diff --no-color output to analyze at the hunk level. Each hunk starts with @@ ... @@ and represents a contiguous block of change. Determine which hunks belong together logically.

Read the full file on GitHub · 304 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. 1mo ago First seen · 304 lines · 35 tokens per session scan A e5e48d93db96

Subscribe to this mod's changes

scan-commit is a skill published in the GitHub repository magic3007/dotfiles (11 stars, last pushed today), licensed MIT. It adds 35 tokens to every session and 2,378 once invoked, about $0.0001 per session on Opus 5.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.

Related

Other skills, from other repositories

ship

Generate a conventional commit message from staged or unstaged changes and create an atomic commit, then optionally push and watch CI until it passes or fails. Use when the user says "write a commit", "generate a commit message", "commit this", "git add .", or "ship this". Push and CI-watch are optional and skipped if…

urmzd/dotfiles · 119 tokens

commit

Commit the changes in the working tree. Only invoke when the user explicitly signals to commit ("commit", "/commit", etc.). Never invoke this skill on your own initiative — implementation approval is not a commit signal.

ooloth/dotfiles · 44 tokens

merge-ready

Drive an existing pull request to a mergeable state: get CI green, resolve merge conflicts with the base branch, address and resolve review comments, trigger required bot reviews/approvals (e.g. commenting '@claude review'), link associated issues, and clean up the PR title and description. Ends with a readiness…

urmzd/dotfiles · 208 tokens

sync-release

Owns release-pipeline conventions: sr.yaml schema, the sr CLI verbs (init/plan/prepare/ release) and urmzd/sr action, typed publishers (cargo/npm/pypi/docker/go/custom), monorepo workspace discovery, versionfiles/stagefiles mapping, and post-release patterns. Language-specific build targets live in scaffold-rust…

urmzd/dotfiles · 136 tokens

setup-ci

Defines GitHub Actions workflow structure: ci.yml + release.yml naming, concurrency groups, bot-commit skip, workflowcall reuse, App-token checkout, and optional fsrc/teasr steps. Language-specific pipelines live in scaffold-rust, scaffold-go, scaffold-python, scaffold-node, scaffold-terraform. Use when setting up…

urmzd/dotfiles · 119 tokens

pr

Open a pull request via gh pr create with an auto-generated title and summary derived from the commits on the branch, grouped by conventional-commit type. Use when the user says "create a pull request", "open a PR", "gh pr create", "raise a PR", or "make a PR for this branch". Assumes commits already exist and only…

urmzd/dotfiles · 107 tokens