v0.1.0
A collection of skills and plugins loosely related to building projects. First public release of my Claude Code plugin marketplace. v0.1.0 ships one plugin.
What's inside
git-history-rewrite
Safety net for destructive git operations. A PreToolUse hook blocks unsafe forms of git filter-repo, the git push --force family, and non-HEAD git reset --hard before they run. The hook is bypass-resistant against the shapes an LLM agent realistically emits: chained commands (&& / ; / || / | / & / newline), subshells, bash -c / sh -c / eval, command and process substitution ($(...), <(...)), heredocs, function bodies, git -C <dir> and other global options, absolute-path forms like /usr/bin/git, and leading env-var assignments.
Gates:
git filter-branch— blocked outright; usegit filter-repoinstead.git filter-repo— requires--refs <ref>(no all-refs rewrites); tracked working tree must be clean; one transformation kind per pass;--analyzeis exempted as a read-only planning aid.git push --forcefamily — must use--force-with-lease --force-if-includes(the lease catches stale-remote clobbers, the includes check catches stale-local clobbers where a recent fetch made the lease tautological).git reset --hard— explicit unambiguous target required; relative refs (HEAD~N,HEAD^) rejected; non-HEAD targets get an orphan check and a tracked-working-tree-clean check.
The skill body covers the discipline items the hook can't enforce mechanically: sibling backup ref, off-repo bundle before filter-repo, post-rewrite verification, smallest-tool selection.
Install
As a Claude Code plugin (recommended — enables the hook):
claude plugin marketplace add glebmish/builder-toolkit
claude plugin install git-history-rewrite@builder-toolkit
As a standalone skill (skill body only, no hook):
npx skills add glebmish/builder-toolkit --skill git-history-rewrite
Requires jq on PATH for the plugin install path.
See the plugin README for the full mechanics, blocked-command table, and visuals.