Pre-push adversarial review for personal repos before git push. Runs adversarial-input sweep, parallel-implementation symmetry audit, project AGENTS.md compliance, dead-code sweep, secrets scan. Use before any push; mandatory for repos that will become public or shared. Tier 2 sub-agent does the bulk; Tier 3 main synthesizes.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill personal-pre-push-review --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Personal Pre Push Review?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-personal-pre-push-review)More formats (shields.io, HTML) on the badges page.
---
description: Pre-push adversarial review for personal repos before git push. Runs adversarial-input sweep, parallel-implementation symmetry audit, project AGENTS.md compliance, dead-code sweep, secrets scan. Use before any push; mandatory for repos that will become public or shared. Tier 2 sub-agent does the bulk; Tier 3 main synthesizes.
---
# personal-pre-push-review
Mechanical pre-push review. Catches what your own re-read misses. The one-line rule: **Before any `git push` on a non-trivial change, run this skill.**
## Trigger phrases
- "Pre-push check"
- "Review before I push"
- `/pre-push`
- Auto-suggested when the AI is about to call `git push` after a multi-commit feature branch
## Inputs
- The current git working directory
- The base branch (default `main`, configurable)
- The repo's `AGENTS.md` if present
## Process
### Gate 1 — Adversarial input sweep (Tier 2 sub-agent)
Delegate `review` sub-agent. Pass it `git diff main...HEAD`. Returns ≤800-token findings:
- BLOCKING: input-type / edge-value / missing-field / silent-failure issues
- WARNING: dead code, unclear logic, unsymmetric parallel impl
- NIT: style, naming, comments
### Gate 2 — Parallel-implementation symmetry audit
If the diff touches 2+ implementations of the same logic (JS + Python, client + server, multiple platforms), the sub-agent diffs them mentally for behavior parity. Reports any drift.
### Gate 3 — Project AGENTS.md compliance
If the repo has its own `AGENTS.md`, the AI re-reads it and checks each rule against the diff. Common categories:
- File organization conventions
- Sync requirements (code + README + frontend in sync)
- Language choices
- Build/test gates that must pass
### Gate 4 — Dead-code sweep
Grep the diff for:
- New functions that aren't called
- New imports that aren't used
- New variables that are computed then discarded
### Gate 5 — Secrets/PII scan
Grep tracked files in the diff for:
- JWT patterns: `eyJ[A-Za-z0-9_-]{20,}\.eyJ`
- API key shapes: `sk-`, `xoxb-`, `ghp_`, `gho_`, `ya29.`, etc.
- AWS access keys: `AKIA[0-9A-Z]{16}`
- Generic high-entropy strings in `.env`-shaped lines
- Personal email addresses other than Josh's main one
- Phone numbers
- Physical addresses
If any hit: BLOCKING. Surface to Josh for decision (false positive vs real leak).
### Gate 6 — Repo readiness for visibility level
If the repo is private but Josh's about to make it public (or is pushing to a public namespace):
- Run the full secrets/PII scan over ALL tracked files (not just the diff)
- Verify .gitignore covers `.env`, `*.key`, `*.pem`, master-cv files
- Verify README doesn't leak personal info
### Gate 7 — Em-dash check
If the diff modifies any file in scope of the em-dash ban (cover letters, resumes, blog posts intended for human readers), grep for em-dashes. Count must be zero.
## Output
```markdown
# Pre-push Review — [repo] [branch]
**Base:** main
**HEAD:** [SHA] ([N] commits ahead)
**Files changed:** [N]
**Lines:** +[N] / -[M]
## Gates
| Gate | Status | Findings |
|---|---|---|
| 1. Adversarial sweep | ✅ / ⚠️ / 🚫 | [N findings] |
| 2. Parallel-impl symmetry | ✅ / N/A | [...] |
| 3. AGENTS.md compliance | ✅ / ⚠️ | [...] |
| 4. Dead-code sweep | ✅ / ⚠️ | [...] |
| 5. Secrets/PII scan | ✅ / 🚫 | [N hits] |
| 6. Visibility readiness | ✅ / N/A | [...] |
| 7. Em-dash check | ✅ / N/A | [N hits] |
## BLOCKING findings (must fix before push)
[file:line] [finding] [recommended fix]
## WARNING findings (consider before push)
[...]
## NIT findings (optional)
[...]
## Recommendation
- [ ] PUSH — all green
- [ ] BLOCK — fix blocking findings, re-run
- [ ] PROCEED WITH JUDGMENT — warnings present, Josh decides
```
## Per-push, not per-session
Run BEFORE every push. Not once at session start. Each diff is its own input set; each repo has its own AGENTS.md; the cost asymmetry is brutal.
If the AI is about to call `git push` and pre-push-review hasn't been run on the current commits, the AI MUST either run it OR explicitly state why it's skipping (e.g., "trivial 5-line README typo, skill overhead exceeds value").
## When pre-push-review is overkill
- Pure documentation typo fixes
- Single-file config bumps
- README-only edits with no code
Trust your judgment. The skill exists to catch what you'd miss, not to be a religious gate on every commit.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!