yeet · paulrberg — Claude Code skill: GitHub PRs, issues and discussions
Files and edits pull requests, issues and discussions with the repository's own templates, then reads the result back to confirm it landed. Skips the hand-assembled PR body.
npx skills add PaulRBerg/agent-skills --skill yeet -a claude-codeWhat yeet does
Eleven flows sit behind one skill: create or update a PR, an issue or a discussion, comment on an issue or a discussion, plus dedicated paths for bug reports against Claude, Codex CLI and Sablier. Each flow has its own reference file, and the shared posting, writing and context sections load together in one batch.
A helper script bundled inside the skill directory, scripts/yeet-context.sh, pulls repository, template, label and thread context; look for it in the skill folder, not in the repo you are posting to. YAML issue forms go through scripts/issue-form.py: inspect normalizes the live form, render checks answers by field ID and builds the Markdown body. It leaves template choice and the actual posting to you.
An authenticated GitHub CLI at 2.97.0 or newer is the gate. PR work also wants a clean tree or committed changes, commits ahead of the base branch, and a configured remote. Posting happens without a confirmation step and carries a model co-signature. Worth knowing: after a failed write the skill runs an idempotency check before retrying.
What it helps with
- turn the current branch into a pull request
- comment on someone else's issue
- file a bug report against Claude using the project form
- relabel an existing issue
- confirm a newly created PR actually exists
Example prompts for the agent
- Open a PR from this branch and describe the changes
- File an issue about the failing build and attach the log
- Post a reply in the release discussion
How to install yeet
1Skills CLI (Vercel)
npx skills add PaulRBerg/agent-skills --skill yeet -a claude-code2Manually: put the files in place
~/.claude/skills/yeet/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/yeet/
1Skills CLI (Vercel)
npx skills add PaulRBerg/agent-skills --skill yeet -a codex2Manually: put the files in place
.agents/skills/yeet/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add PaulRBerg/agent-skills --skill yeet -a cursor2Manually: put the files in place
.cursor/skills/yeet/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install PaulRBerg/agent-skills yeet2Manually: put the files in place
.github/skills/yeet/SKILL.md1Skills CLI (Vercel)
npx skills add PaulRBerg/agent-skills --skill yeet -a gemini-cli2Platform CLI
gemini skills install https://github.com/PaulRBerg/agent-skills --path skills/yeetManually: put the files in place
.devin/skills/yeet/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add PaulRBerg/agent-skills --skill yeet -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about yeet
How do I install yeet in Claude Code?
Run npx skills add PaulRBerg/agent-skills --skill yeet -a claude-code. The skill file lands at ~/.claude/skills/yeet/SKILL.md.
What does yeet do?
It creates and updates pull requests, issues and discussions, and posts comments on issues and discussions, using the repository's templates and labels. Each action is confirmed by reading it back from GitHub.
What do I need before using it?
An authenticated gh at 2.97.0 or newer. For pull requests, also a clean working tree or committed work, commits ahead of the base branch, and a configured remote.
Source text
SKILL.md · MIT
--- argument-hint: <create-pr|update-pr|create-issue|update-issue|issue-claude-code|issue-codex-cli|issue-sablier|comment-issue|create-discussion|update-discussion|comment-discussion> [options] compatibility: Authenticated GitHub CLI >= 2.97.0 coordination: exempt effort: high name: yeet skill-dependencies: - cli-gh description: "Use for GitHub PR/issue/discussion workflows: create/update PRs, issues, or discussions and post issue or discussion comments; triggers include yeet." --- # GitHub Contribution Workflows This skill is coordination-exempt: skip the ai-coord gate for its declared work. Create or update GitHub contributions from repository evidence, using the matching workflow's templates, idempotency rules, and Paul's writing voice. ## Prerequisites Use the first required read-only `gh` command in each workflow to validate authentication. Resolve `<skill-dir>` once to the absolute directory containing this `SKILL.md`. This skill, rather than the target repository, bundles the `yeet-context.sh` helper. Invoke it as `<skill-dir>/scripts/yeet-context.sh`. Never search for it in the target repository. Prefer the helper when the workflow needs repository, template, discussion, label, or issue/PR thread context. For YAML issue forms, invoke `<skill-dir>/scripts/issue-form.py`. `inspect` fetches and normalizes the selected live form. `render` validates answers keyed by field ID and produces the exact Markdown body plus posting metadata. The helper never selects a template, writes answers or titles, performs an external-disclosure review, or posts externally. All issue creation and update workflows apply `references/context.md > Issue Metadata Permissions` before resolving or passing metadata. Rendered template metadata describes requested values, not the viewer's authority to apply them. For pull request workflows, also verify: - Working tree is clean or changes are committed - Current branch has commits ahead of the base branch - Remote tracking is configured Use `cli-gh` for GitHub reads, workflow automation, or command syntax that is not part of authoring and posting a contribution. ## Workflows Each workflow is fully documented in its reference file. Load the appropriate reference based on user intent. Then read the shared reference sections that the workflow names (`posting.md`, `writing.md`, `context.md`) in one parallel batch. | Workflow | Trigger | Reference | | ------------------ | ------------------------------------------------------------------------- | ---------------------------------- | | Create PR | "create PR", "open PR", "yeet a PR" | `references/create-pr.md` | | Update PR | "update PR", "edit PR" | `references/update-pr.md` | | Create Issue | "create issue", "file issue" (generic repo) | `references/create-issue.md` | | Update Issue | "update issue", "edit issue", "relabel issue" | `references/update-issue.md` | | Claude Code Issue | "Claude Code issue", "report bug in CC" | `references/issue-claude-code.md` | | Codex CLI Issue | "Codex issue", "report bug in Codex" | `references/issue-codex-cli.md` | | Sablier Issue | "Sablier issue", "sablier-labs issue" | `references/issue-sablier.md` | | Comment on Issue | "comment on issue", "reply on issue", "post a comment" | `references/comment-issue.md` | | Create Discussion | "create discussion", "start discussion" | `references/create-discussion.md` | | Update Discussion | "update discussion", "edit discussion" | `references/update-discussion.md` | | Comment Discussion | "comment on discussion", "reply on discussion", "edit discussion comment" | `references/comment-discussion.md` | Each workflow reference links only the shared context, writing, or posting guidance it needs. Every authored body or comment must follow [posting.md > Model Co-signature](references/posting.md#model-co-signature). When the user requested creation or update, post directly. Do not add a confirmation gate. After a failed write, run the linked idempotency check before any retry. Never check an external template attestation unless repository or user evidence verifies it. If a required attestation or field cannot be verified, ask for that missing fact rather than inventing agreement. Agent-status decoration belongs outside the authored contribution. Add emoji to a PR, issue, discussion, or comment only when the user's content or the thread's register calls for it. ## Completion The workflow is complete when the requested contribution exists in its final authored state and the returned GitHub URL is verified. For updates/comments, report the changed artifact once. Determine the outcome from readback, not the command's exit status: creation can succeed before a metadata mutation fails. Use `### 🚀 <artifact> created`, `### ✅ <artifact> updated`, `### ✅ Comment posted`, or `### ✅ Comment updated`, followed by one Markdown link containing the repository, number, and title or action. Add a compact field list only when base, draft state, reviewers, labels, or changed fields matter. For verified partial success, report the created or updated artifact and identify omitted or failed metadata. Use `### ⛔ <artifact> not <action>` only for confirmed noncompletion. If readback is inconclusive, report the outcome as unverified. Include the concrete error, idempotency result, and next action. Keep `gh` output, JSON, diagnostics, template fields, URLs, and authored contribution text exact and undecorated.
© PaulRBerg · MIT · PaulRBerg/agent-skills
Similar skills
All skills for Git and GitHub →yeet by other authors comes first.