About file-pr
A skill for agents preparing and opening GitHub pull requests. It covers checking for an existing PR, reviewing the diff, writing the title and description, and submitting a non-draft PR.
Key features
- 01Check for an existing PR
- 02Review diff against base branch
- 03Guidance for titles and descriptions
- 04Privacy checks before submission
- 05Open a real, non-draft PR
Use cases
- 01Preparing a branch for a PR
- 02Writing a concise PR title and description
- 03Submitting a PR for review
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ t3dotgg/ tstack --skill file-prAfter installing, type/file-prin Claude Code to confirm it loaded.
Details
From the project READMEFile PR
Before filing, check whether a PR for this branch already exists. Review the
diff locally against the base branch (usually origin/main) to make sure its
contents match the goal.
PR titles usually become commit messages, so follow the repository's title conventions. Look at recently merged PRs and Git history for examples. Prefer a concise, human-readable title that explains why the change matters:
BAD
❌ perf(server): negotiate permessage-deflate on the websocket
GOOD
✅ perf(server): cut websocket frame size by 70%+ with gzipping
Open the description with a simple explanation of the problem based on the user's original prompt, then briefly explain the solution. Do not lead with an implementation inventory:
BAD
❌ Removed implicit workspace carry-over from every "new thread" entry point (cmd+n / cmd+shift+o, sidebar v1/v2 buttons, command palette). New threads inherit only the project from context; branch, worktree, and env mode always come from the configured defaults. Deleted buildContextualThreadOptions, startNewThreadInProjectFromContext, and the v1 sidebar's seed-context machinery.
GOOD
✅ My "new worktree" default was ignored when starting new threads on existing worktrees. Super unintuitive. Now your preferences always apply.
End the description with the public model name and harness that made the
changes, for example Created with <model> in <harness>. Include subagent
models that wrote part of the change. Use the model name the harness reports.
If model identity is unavailable, name the harness without guessing a model.
Before submission, check the title, description, quotes, and attachments for secrets and private details.
Open a real PR rather than a draft so review bots run. If gh pr create fails
because the GraphQL rate limit is used up, open it through REST with
gh api repos/<owner>/<repo>/pulls -f title=... -f head=... -f base=... -F body=@<file>. If the user also asked
to babysit it, continue with the babysit-pr skill.
Do not post a follow-up PR comment unless it serves the user's request. When a
comment is needed, use the leaving-pr-comments skill.