Add pr-tools plugin (create-pr, attach-github-assets)#3
Merged
Conversation
Scaffold the pr-tools plugin — the GitHub PR lifecycle from Claude Code. Manifest, README, CHANGELOG, and MIT license. Skills added in follow-up commits. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Open or update a well-formed GitHub PR for the current branch: gather intent, validate the diff against it, apply public-repo safeguards, and write a clean Why/How description. Ported from an internal Claude Code plugin collection with all organization-internal coupling removed (internal PR-review and CI integrations, and hardcoded internal repo lists). Co-Authored-By: Inokentii (Kesha) Mykhailov <287994+gregolsen@users.noreply.github.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Upload local screenshots, recordings, and images to GitHub as user-attachment assets and return markdown-ready URLs. Ported from an internal Claude Code plugin collection. Co-Authored-By: Jason Praful <32552408+jasonpraful@users.noreply.github.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add pr-tools to the marketplace manifest and root README. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a PreToolUse hook that blocks direct `gh pr create` and redirects to the create-pr skill, so PRs go through its intent-gathering and public-repo safeguards. The guard is stateful: `track-skill-activation.sh` records when create-pr loads (per session/agent), `clear-skill-markers-on-compact.sh` resets it on compaction, and the interceptor re-validates the marker against the transcript DAG so a /rewind can't leave the guard falsely satisfied. Two Python helpers strip quoted/heredoc content (so a mentioned command isn't blocked) and perform the transcript ancestry check. Ships with both bats suites (62 tests). Ported from an internal Claude Code plugin collection and genericized. Co-Authored-By: Américo Duarte <1478616+americodls@users.noreply.github.com> Co-Authored-By: Inokentii (Kesha) Mykhailov <287994+gregolsen@users.noreply.github.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
MrDHat
force-pushed
the
akshay/open-source-pr-tools
branch
from
July 9, 2026 13:58
128dac7 to
1d6cd41
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why?
First batch of an effort to open-source broadly-useful, well-adopted Claude Code skills. The two skills here are general-purpose GitHub PR-workflow tools with no organization-specific coupling — they belong in a public marketplace.
How?
Adds the
pr-toolsplugin to thefin-2xmarketplace with two skills and an enforcement hook:PreToolUsehook that redirects directgh pr createto thecreate-prskill (stateful: unlocks once the skill is loaded, re-validates against the transcript on/rewind, and ignores the phrase inside quoted strings/heredocs). Ships with 62 bats tests.Ported from an internal Claude Code plugin collection; internal integrations, tool references, and repo-specific logic were stripped so everything is vendor-neutral. Original authors are credited via
Co-Authored-Bytrailers on each commit. Commit structure: one bootstrap commit, one per skill, one for the hook, one marketplace-registration commit.Generated with Claude Code