Pre commit check
Skill SID-SURANGE/cursor-team-ops/skills/core/pre-commit-check
Enforcement & release-hygiene layer for Cursor agents β blocking git/DB/license guardrails, commit hygiene, and docs-ops.
npx -y skills add SID-SURANGE/cursor-team-ops --skill pre-commit-checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Check staged changes before creating a git commit. Reviews the diff for secrets, unrelated changes, debug code, oversized PRs, and matches the repo's commit message style. Use when the user says "commit", "create a commit", "git commit", "commit this", "commit my changes", "ready to commit", "safe to commit", "check my changes", "stage and commit", "push my work", or "I'm done with this task".
SKILL.md
2.9 KB, 613 tokens by cl100k_base, as published. Nobody here has run it
π Pre-Commit Check
Run these in parallel
git statusβ list staged and unstaged files.git diff --cachedβ full staged diff.git log --oneline -5β recent commit messages to infer style.git diff --cached --shortstatβ line and file counts for size check.
Check the staged diff for
| Issue | Action |
|---|---|
.env, *.key, credentials.*, *secret* staged | Stop. Warn user. Do not commit. |
| Secrets or tokens in changed lines | Stop. Warn user. |
| Changes to files unrelated to the stated task | Flag β do not auto-unstage |
Debug code (console.log, print(, debugger, breakpoint()) | Flag |
| Nothing staged | Do not create an empty commit. Tell the user. |
| >400 lines changed or >10 files touched | Flag as oversized β suggest splitting by concern |
| Multiple unrelated concerns in one diff | Flag β name each concern and suggest separate commits |
Commit message
Format
<type>: <subject> β max 72 chars, imperative present tense
[optional body] β wrap at 72 chars, explains WHY not WHAT
[optional footer] β e.g. Closes #123, Co-authored-by: ...
Type prefixes (use the project's convention if one exists)
| Type | When to use |
|---|---|
feat | New user-visible feature |
fix | Bug fix |
refactor | Code restructure, no behaviour change |
test | Adding or updating tests |
docs | Documentation only |
chore | Tooling, config, dependencies |
perf | Performance improvement |
Subject line rules
- Imperative present tense: "add user auth" not "added" or "adding"
- No trailing period
- No emoji unless the project convention uses them
- β€72 characters β hard limit
Body (include when the change is non-obvious)
- Explain why the change was made, not what the diff shows
- Mention alternatives considered if the choice is non-obvious
- Reference issue numbers:
Closes #42,Refs #17
What to avoid
- "WIP", "fix stuff", "changes" β not searchable or reviewable
- Giant commits mixing unrelated changes β split them
- Committing without staged content
Always pass the message via HEREDOC (per git-safety rule)
git commit -m "$(cat <<'EOF'
feat: add user authentication
Replaces the previous session-token approach with JWT.
Closes #42
EOF
)"
After commit
Run git status to confirm success before reporting done.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.