antfu-create-pr
Create a reviewable GitHub pull request from the current branch with a Conventional Commits title, a concise evidence-based body,…
Triage open issues and PRs of the current GitHub repo - find already-fixed, duplicate, and spam items, suggest labels, gauge demand from reactions and comments, then present a table of proposed actions and comments for confirmation before touching anything. Use when asked to
$ npx -y skills add antfu/skills --skill antfu-issue-triage --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/antfu-issue-triageContext preview
The summary Claude sees to decide when to auto-load this skill.
Triage open issues and PRs of the current GitHub repo - find already-fixed, duplicate, and spam items, suggest labels, gauge demand from reactions and comments, then present a table of proposed actions and comments for confirmation before touching anything. Use when asked to
name: antfu-issue-triage description: Triage open issues and PRs of the current GitHub repo - find already-fixed, duplicate, and spam items, suggest labels, gauge demand from reactions and comments, then present a table of proposed actions and comments for confirmation before touching anything. Use when asked to triage, organize, clean up, or groom issues and PRs. metadata: author: Anthony Fu version: "2026.10.23"
Go through the open issues and PRs of the **current repo** (`gh repo view --json nameWithOwner`) and propose clean-up actions. Maintainers decide; the agent investigates.
1. **Scope.** Confirm the repo and range (default: all open items; for large repos ask for a limit, label, or age filter). Fetch in bulk:
gh issue list --state open --limit 200 --json number,title,body,author,labels,createdAt,updatedAt,comments,reactionGroups,url,milestone gh pr list --state open --limit 200 --json number,title,body,author,labels,isDraft,reviewDecision,closingIssuesReferences,url,reactionGroups gh label list --limit 200 --json name,description
2. **Learn the labels.** Read every label name and description. Only apply labels that exist. New labels (including `spam` if missing) go in the Labels table and are created only after approval. Check how maintainers labeled similar items (`gh issue list --state all --label <l>`). Compare the repo's labels with the Recommended Labels section below and note useful ones that are missing. 3. **Map references.** Collect cross-references from bodies, comments, and the timeline (`gh api repos/{owner}/{repo}/issues/{n}/timeline --paginate`): `#123`, URLs, `closes/fixes`, linked PRs, cross-repo links. Treat linked items as one cluster. Do not close an issue whose fix PR is still open. Do not mark linked items as duplicates of each other. 4. **Check each item:**
5. **Present the plan** as the tables below, **Stop to ask for confirmation**. Run no write command in this turn. 6. **Execute** approved rows only, one at a time: comment, then label, then close. Stop on the first API error and report it. End with a done/failed table with links.
General labels. Map them to the repo's existing labels first (same meaning, different name). Never rename or delete existing labels.
| Group | Labels | Meaning | |-------|--------|---------| | Type | `bug`, `enhancement`, `documentation`, `regression` | What kind of item it is. `regression`: only appears after a new release. | | Triage state | `pending triage`, `needs reproduction` | Where the item is stuck. | | Resolution | `duplicate`, `invalid`, `wontfix`, `spam` | Why it was closed. | | Priority | `p1-chore`, `p2-nice-to-have`, `p2-edge-case`, `p3-minor-bug`, `p3-significant`, `p4-important`, `p5-urgent` | How much it matters. Descriptions: p5 breaks most users and n
A collection of Agent Skills reflecting Anthony Fu's preferences, experience, and best practices, along with usage documentation for the tools.
Create a reviewable GitHub pull request from the current branch with a Conventional Commits title, a concise evidence-based body,…
Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects,…
Nitro is the framework-agnostic server toolkit (powering Nuxt) for building and deploying web servers anywhere. Use when working…
Nuxt full-stack Vue framework with SSR, auto-imports, and file-based routing. Use when working with Nuxt apps, server routes,…
Pinia official Vue state management library, type-safe and extensible. Use when defining stores, working with…