Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/BackToCimaCoppi/Praxisnpx agentmods add skills/backtocimacoppi/praxis/commit-changesWrote 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.
[](https://agentmods.dev/skills/backtocimacoppi/praxis/commit-changes)<a href="https://agentmods.dev/skills/backtocimacoppi/praxis/commit-changes"><img src="https://agentmods.dev/badge/skills/backtocimacoppi/praxis/commit-changes/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.
<a href="https://agentmods.dev/skills/backtocimacoppi/praxis/commit-changes"><img src="https://agentmods.dev/badge/skills/backtocimacoppi/praxis/commit-changes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00100 | $0.00983 |
| Opus 5.5 | $0.00040 | $0.00393 |
| Sonnet 5.5 | $0.00020 | $0.00197 |
| Haiku 4.5 | $0.00010 | $0.00098 |
Grade A, and why
commit-changes 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 29d 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.
What it actually says
Commit Changes
用户明确要求提交、推送或说"帮我提交"时使用。本 skill 是用户级通用引擎:只固定流程与红线;提交规范原文、门禁脚本、额外前缀规则由项目注入,本 skill 不硬编码任何项目值。
项目注入(挂载点)
| 槽位 | 来源(按顺序探测,先命中先用) | 缺省 |
|---|---|---|
| 提交规范原文 | 项目指令文件(AGENTS.md)的「提交规范」节 → CONTRIBUTING.md |
本 skill「Rules」的默认格式 |
| 提交前门禁命令 | 项目补丁 skill 显式声明的命令 → .agents/hooks/pre-handoff-check.sh → .agents/hooks/pre-commit-check.sh |
无门禁,跳过 Step 0 |
| 额外首行规则 | 提交规范里声明的特殊前缀(如跨域提交标记、任务编号) | 无 |
Required reads
- 上表命中的提交规范原文——每次都读,不凭记忆写格式。
Rules
- 提交信息用简体中文,格式
<类型>: <简要描述>;项目提交规范另有规定时以项目为准 - 提交前必须读 diff
- 未经用户明确要求,不 amend、不 force-push、不 push
- 不提交自己不理解、与本次任务无关的改动
- 永远不用
git add -A/git add .
Default flow
Step 0 — 门禁(项目有门禁脚本时必跑,不可跳过)
# 按挂载点顺序探测;命中哪条跑哪条,全部不存在则跳过本步
bash .agents/hooks/pre-handoff-check.sh
- 退出码非 0 → 立即停止,告知用户失败项,等修复后再触发本 skill
[WARN]输出 → 记录警告,在 Report back 中提及,不阻断流程
Step 1 — 确认变更文件清单
git status --short
读取输出,理解当前工作区状态(哪些是 tracked 修改、哪些是 untracked 新文件)。
Step 2 — 阅读 diff,理解改动性质
git diff
git diff --cached
判断:改动主题(功能/修复/文档/重构/规范/配置)、涉及模块、是否含无关改动需拆分。
Step 3 — 拟定 stage 清单并等待确认
[!CAUTION] 禁止
git add -A或git add .。必须逐文件或逐目录精确 stage。
列出拟 stage 的文件清单(git add <具体路径> 形式),明确告知用户并等待确认,用户确认后再执行 stage。
Step 4 — 拟写 commit message
默认格式:<类型>: <简要描述>,类型限:修复 / 功能 / 重构 / 规范 / 文档 / 配置。
项目提交规范声明了额外首行规则时优先遵守(例:一次提交改动多个业务域目录时,首行用项目规定的跨域标记并说明原因)。
Step 5 — 执行提交
git commit -m "<commit message>"
Step 6 — 推送(仅在用户明确要求时执行)
用户未说"push"或"推送"时,不自动推送。
Report back
用中文总结:
- staged 了哪些文件(列出完整路径)
- commit message 是什么
- 是否已 push
- 若门禁脚本有
[WARN]输出,说明具体警告内容 - 若接口面有变更但未更新测试脚本,说明原因
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 29d ago Changed ddadc718c6b8
- 1mo ago First seen · 91 lines · 100 tokens per session scan A 1c1758ecaa44
commit-changes is a skill published in the GitHub repository BackToCimaCoppi/Praxis (6 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 100 tokens to every session and 983 once invoked, about $0.0004 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.
Other skills, from other repositories
fix-issue
Fixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to…
github-operations
GitHub CLI operations for issues, PRs, milestones, and Projects v2. Covers gh commands, REST API patterns, and automation scripts. Use when managing GitHub issues, PRs, milestones, or Projects with gh.
sdlc-commit
Use when committing work in a repo that follows the SDLC Enterprise Framework (SEF), or when writing a PR title and description. Stages files by name, blocks secrets, writes a conventional commit message that says why, and keeps commits small and single-purpose. It commits only; it does not push or merge.
feature-publish
Commit the feature, write the PR body, publish in the selected mode, and drive the PR.
commit-push-pr
Commit current changes, push to remote, and create or update a pull request. Use when the user wants to commit and create a PR, push changes and open a pull request, or ship their current work as a PR.
pr-squash-message
Generate one short Conventional Commits squash message describing only the net diff between the PR's base and head, set its header as the PR title, validate it with the repository's commitlint and both copy its description to the clipboard and display it, when asked for a squash message. Works in any Scenario…