Install any skill in seconds. Free to start, no credit card required.
Get Started Free →okhp3/okhp3-repl-repo-janitor
Clean up a single Replit-hosted Git repository — squash-merge and delete old, merged, or abandoned branches and pull requests (including Replit-generated subrepl-*, replit-agent, and agent/* branches), and normalize file/folder names against a kebab-case default with documented exceptions.
Passed 15 of 19 test cases with the skill, and 7 of 19 without it.
and 9 more in the full report
9 fixed8 passed either way5 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
We have a React component file at src/components/UserProfile.tsx. According to kebab-case file naming rules, should we rename it to user-profile.tsx?
| Checked | Without skill | With skill |
|---|---|---|
| Retains PascalCase naming for React component files like UserProfile.tsx. | Missed | Passed |
The instructions your model reads when the skill loads.
OverKill Hill P³ · overkillhill.com · github.com/OKHP3
A portable, transferable Agent Skill for one specific and common situation: a single Replit workspace's Git checkout has accumulated stale branches, merged/abandoned pull requests, and inconsistently named files, and the user wants it cleaned up safely. Copy this skill's folder into .agents/skills/ in any Repl to reuse it there.
This is a condensed, Replit-shaped descendant of two broader OverKill Hill P³ skills:
okhp3-repository-janitor (multi-repo branch/PR lifecycle across local mirrors)okhp3-repository-organizer (deep content-first repository classification and scaffolding)Use this skill instead of those two when the scope is "one Repl, tidy the branches and the names," not a fleet of local clones or a full repository re-architecture.
git/gh inspection before proposing any change. Never delete a branch, PR, file, or folder during discovery.git fetch --all to refresh remote-tracking refs. Never pass --prune until every stale remote branch has been classified.git-remote skill or gh pr view) before recommending deletion — an old branch can still have an open, wanted PR.subrepl-*, replit-agent, agent/*) is a hint that the branch may be an ephemeral task-agent artifact, not proof it is safe to delete. Confirm it is merged or explicitly abandoned before including it in the delete list. The current/active branch (checked out, or the one the live agent session is using) is never a deletion candidate.references/naming-conventions.md) but respect the documented exceptions: PascalCase React components, camelCase hooks, ALL-CAPS root governance files (README.md, LICENSE, CHANGELOG.md, AGENTS.md, etc.), and files whose name is dictated by a tool or a web standard (package.json, .replit, robots.txt, CNAME, ...).main, force-push, or delete stashes/archive refs without a separately stated and confirmed recovery plan.git fetch --all
python3 .agents/skills/okhp3-repl-repo-janitor/scripts/audit-repo.py --root . --base origin/main
This prints a JSON report: every local branch with its last-commit metadata, whether it's merged into the base branch, and whether its name matches a known Replit-generated pattern. It never mutates anything.
For each unmerged branch, resolve its pull-request state before deciding: use the git-remote skill (or gh pr list --head <branch> / gh pr view if the gh CLI and a token are available) to check open/closed/merged status and CI checks. Do not assume a branch is dead just because it's old — check for an open PR first.
Bucket every non-current, non-main branch into one of:
test cases passed, vs 7 / 19 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.