Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 23 May 18:13
· 6 commits to main since this release

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; use git filter-repo instead.
  • git filter-repo — requires --refs <ref> (no all-refs rewrites); tracked working tree must be clean; one transformation kind per pass; --analyze is exempted as a read-only planning aid.
  • git push --force family — 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.