From me
Commit safety layer — secret scanning, identity verification, and commit hygiene enforcement. Blocks commits containing secrets, sensitive files, hardcoded paths, or merge conflict markers. After a clean commit, reminds the user to run /me:check-consistency for code-quality review. Use when making any git commit.
How this skill is triggered — by the user, by Claude, or both
Slash command
/me:safe-commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<objective>
<quick_start>
When triggered (by /safe-commit or any commit workflow):
git config user.name + git config user.email)scripts/scan-secrets.sh against staged changes<post_commit_reminder> below)<post_commit_reminder> After a successful commit (and ONLY after a successful commit — not after a BLOCK), print exactly one line at the end of the response:
Suggested next: /me:check-consistency — review the diff for repo-pattern drift, sloppy comments, and code-quality issues this skill doesn't catch.
This is a reminder, not an automatic invocation. Do not call /me:check-consistency directly. The user runs it when they want the LLM-grade quality pass.
Skip the reminder when:
<commit_hygiene>
git add -A or git add . to avoid accidentally including sensitive files
</commit_hygiene><security_checklist>
Checks run in this order. BLOCK-level findings abort the commit.
Sensitive file types staged for commit: `.env`, `.env.*`, `.pem`, `.key`, `.p12`, `.pfx`, `.jks`, `.keystore`, `credentials.json`, `credentials.yaml`, `id_rsa`, `id_ed25519`, `id_ecdsa`, `.htpasswd`, `token.json` Action: add to .gitignore, use environment variables or a secrets manager instead. Secret patterns in staged content (33 regex patterns): AWS keys, GitHub/GitLab tokens, Slack tokens, Stripe keys, Google API keys, private key headers, database URLs with credentials, generic API key/secret assignments, Bearer tokens, service-specific tokens (Heroku, SendGrid, Twilio, Mailgun, NPM). See references/secret-patterns.md for the full pattern catalog with false-positive risk ratings. Hardcoded local paths: `/home/user/...`, `/Users/user/...`, `C:\Users\user\...` — these leak personal setup details and break portability. Merge conflict markers in staged files (7+ consecutive `<`, `=`, or `>` characters). Committing directly to `main` or `master` — warn the user but do not block. Empty or single-word commit messages — warn and suggest improvement.</security_checklist>
<error_handling>
scan-secrets.sh exits with code 2: not in a git repo or git unavailable — surface this error clearly to the usergit diff --staged output against the patterns in references/secret-patterns.mdFormat (one entry per line):
path/to/file.py — suppress ALL findings in that file (substring match)Pattern Name:path/to/file.py — suppress a specific pattern in a specific file# are commentsSee references/commit-checks.md for full allowlist documentation.
<scripts_index>
| Script | Purpose | Usage |
|---|---|---|
| scripts/scan-secrets.sh | Deterministic secret scanner for staged git changes | bash scripts/scan-secrets.sh — exit 0=clean, 1=findings, 2=error |
</scripts_index>
<reference_index>
| Reference | Purpose |
|---|---|
| references/commit-checks.md | Check tiers (BLOCK/WARN), allowlist format, gitleaks upgrade guide |
| references/secret-patterns.md | Full pattern catalog with regex, examples, and false-positive risk ratings |
</reference_index>
Be transparent about what this scanner cannot catch: - Base64-encoded secrets (without external tools like gitleaks) - Secrets split across multiple lines or variables - Secrets in binary files or LFS-tracked content - Secrets in submodule content - High-entropy strings that don't match a known pattern formatFor maximum coverage, see the gitleaks upgrade guide in references/commit-checks.md.
<success_criteria>
scan-secrets.sh ran against staged changes (or manual inspection if script unavailable)/me:check-consistency reminder printed (per <post_commit_reminder>)Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub panospro/protops-skills --plugin ship-ready