smart-commit
Run quality gates, review staged changes for issues, and create a well-crafted conventional commit. Use when saying "commit", "git commit", "save my…
它会碰到什么
扫了多少1 个文本文件,2 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Smart Commit
Trigger
Use when saying "commit", "save changes", or ready to commit after making changes.
Workflow
- Check current state and identify what to commit.
- Run quality gates (lint, typecheck, tests on affected files).
- Scan staged changes for issues.
- Draft a conventional commit message from the diff.
- Stage specific files, create the commit.
- Prompt for learnings from this change.
Commands
git status
git diff --stat
npm run lint 2>&1 | tail -5
npm run typecheck 2>&1 | tail -5
npm test -- --changed --passWithNoTests 2>&1 | tail -10
git add <specific files>
git commit -m "<type>(<scope>): <summary>"
Code Review Scan
Before committing, check staged changes in production code (not test files) for:
console.log/debuggerstatements (suppressed in test files — see Review Suppressions)- TODO/FIXME/HACK comments without ticket references (e.g.,
TODO(JIRA-123)is fine) - Hardcoded secrets or API keys
- Leftover test-only code
Flag any issues before proceeding.
Commit Message Format
<type>(<scope>): <short summary>
<body - what changed and why>
Types: feat, fix, refactor, test, docs, chore, perf, ci, style
Guardrails
- Never skip quality gates unless user explicitly says to.
- Stage specific files by name. Never
git add -Aorgit add .. - Summary under 72 characters. Body explains why, not what.
- No generic messages ("fix bug", "update code").
- Reference issue numbers when applicable.
Output
- Quality gate results (pass/fail)
- Issues found in staged changes
- Suggested commit message
- Commit hash after committing
- Prompt: any learnings to capture?
Review Suppressions
Do NOT flag these during the pre-commit scan. They add noise without catching real bugs:
- Threshold, config value, or feature flag changes (limits, timeouts, retry counts)
- Import reordering that does not change runtime behavior
- Whitespace-only or formatting-only changes
- Adding or removing
console.login test files - TODO/FIXME comments (tracked separately in issue trackers)
- Variable or parameter renames that do not change behavior
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。