dev-commit
AI DevKit · Safe git commit workflow for AI coding agents. Use when the user asks to commit, prepare a commit, stage changes, create a PR-ready checkpoint, or finish work with a conventional commit while avoiding unrelated user changes.
Install
npx skills add https://github.com/codeaholicguy/ai-devkit/tree/main/skills/dev-commit
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install codeaholicguy-ai-devkit@llmmart
git clone https://github.com/codeaholicguy/ai-devkit.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole codeaholicguy/ai-devkit collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Dev Commit
Make one intentional, verified commit without sweeping in unrelated work.
Commit Contract
- Check repository state with
git status --short --branch,git diff --stat, andgit diff. - Identify the files that belong to the requested change. Treat pre-existing user edits, local config, generated artifacts, dependency caches, build outputs, and unrelated formatting churn as out of scope unless the user explicitly includes them.
- Run appropriate validation before committing. Prefer the repo's targeted tests, lint, typecheck, build, or documented verification commands. Record skipped validation with the reason. In workspaces whose packages resolve against built artifacts, ensure install and build have run in that worktree (
npm ci,npm run build) before full validation or commit hooks; a fresh worktree with stale artifacts fails hooks for environmental reasons. - Stage only intended paths. Prefer explicit pathspecs such as
git add path/to/fileovergit add .. - Re-check with
git diff --cached --stat,git diff --cached, andgit status --short. - Write a concise conventional commit message:
<type>(optional-scope): <summary>. - Commit, then report the commit SHA, final status, validation commands, and any unstaged/untracked files left behind.
Guardrails
- Do not commit secrets, credentials,
.envfiles, local machine config, caches, coverage, logs, screenshots, or generated files unless the change explicitly requires them. - Do not stage another person's unrelated edits. If intended and unrelated changes are mixed in one file, use an interactive or patch-based staging flow and review the staged diff carefully.
- Do not amend, rebase, force-push, reset, or delete branches unless the user explicitly asks for that operation.
- If validation fails, stop before committing unless the user explicitly instructs you to commit with failing validation. Report the failing command and key output.
- If the repo has commit hooks, let them run. If a hook changes files, inspect and stage only intended hook outputs before retrying. If a hook fails, first rule out environmental causes (missing install, stale workspace build artifacts, concurrent test runs sharing resources) by re-running the failing package in isolation; do not treat an environmental failure as a code regression or "stop" condition until isolated runs still fail.
Message Style
Use semantic or conventional commit types that match the change:
feat: user-facing feature or capabilityfix: bug fixdocs: documentation-only changetest: test-only changerefactor: behavior-preserving code restructuringchore: maintenance, build, tooling, metadata, or generated index updates
Keep the subject under about 72 characters when practical, imperative, and specific. Add a body only when it explains non-obvious validation, risk, migration, or follow-up context.
Files (ai-devkit)
-
agents
-
openai.yaml 206 B
interface: display_name: "Dev Commit" short_description: "AI DevKit · Commit only intended, verified changes" default_prompt: "Use $dev-commit to review, stage, commit, and report this work safely."
-
-
SKILL.md 3.1 KB
--- name: dev-commit description: AI DevKit · Safe git commit workflow for AI coding agents. Use when the user asks to commit, prepare a commit, stage changes, create a PR-ready checkpoint, or finish work with a conventional commit while avoiding unrelated user changes. --- # Dev Commit Make one intentional, verified commit without sweeping in unrelated work. ## Commit Contract 1. Check repository state with `git status --short --branch`, `git diff --stat`, and `git diff`. 2. Identify the files that belong to the requested change. Treat pre-existing user edits, local config, generated artifacts, dependency caches, build outputs, and unrelated formatting churn as out of scope unless the user explicitly includes them. 3. Run appropriate validation before committing. Prefer the repo's targeted tests, lint, typecheck, build, or documented verification commands. Record skipped validation with the reason. In workspaces whose packages resolve against built artifacts, ensure install and build have run in that worktree (`npm ci`, `npm run build`) before full validation or commit hooks; a fresh worktree with stale artifacts fails hooks for environmental reasons. 4. Stage only intended paths. Prefer explicit pathspecs such as `git add path/to/file` over `git add .`. 5. Re-check with `git diff --cached --stat`, `git diff --cached`, and `git status --short`. 6. Write a concise conventional commit message: `<type>(optional-scope): <summary>`. 7. Commit, then report the commit SHA, final status, validation commands, and any unstaged/untracked files left behind. ## Guardrails - Do not commit secrets, credentials, `.env` files, local machine config, caches, coverage, logs, screenshots, or generated files unless the change explicitly requires them. - Do not stage another person's unrelated edits. If intended and unrelated changes are mixed in one file, use an interactive or patch-based staging flow and review the staged diff carefully. - Do not amend, rebase, force-push, reset, or delete branches unless the user explicitly asks for that operation. - If validation fails, stop before committing unless the user explicitly instructs you to commit with failing validation. Report the failing command and key output. - If the repo has commit hooks, let them run. If a hook changes files, inspect and stage only intended hook outputs before retrying. If a hook fails, first rule out environmental causes (missing install, stale workspace build artifacts, concurrent test runs sharing resources) by re-running the failing package in isolation; do not treat an environmental failure as a code regression or "stop" condition until isolated runs still fail. ## Message Style Use semantic or conventional commit types that match the change: - `feat`: user-facing feature or capability - `fix`: bug fix - `docs`: documentation-only change - `test`: test-only change - `refactor`: behavior-preserving code restructuring - `chore`: maintenance, build, tooling, metadata, or generated index updates Keep the subject under about 72 characters when practical, imperative, and specific. Add a body only when it explains non-obvious validation, risk, migration, or follow-up context.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.