antfu
Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when…
Create a reviewable GitHub pull request from the current branch with a Conventional Commits title, a concise evidence-based body, and before/after screenshots for UI changes. Use when asked to open, create, publish, or prepare a PR.
$ npx -y skills add antfu/skills --skill antfu-create-pr --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/antfu-create-prContext preview
The summary Claude sees to decide when to auto-load this skill.
Create a reviewable GitHub pull request from the current branch with a Conventional Commits title, a concise evidence-based body, and before/after screenshots for UI changes. Use when asked to open, create, publish, or prepare a PR.
name: antfu-create-pr description: Create a reviewable GitHub pull request from the current branch with a Conventional Commits title, a concise evidence-based body, and before/after screenshots for UI changes. Use when asked to open, create, publish, or prepare a PR. metadata: author: Anthony Fu version: "2026.09.30"
Open a PR that a reviewer can understand from the body alone. Explain the changed behavior and why, not the list of changed files. Keep the body proportional to the change: a one-line fix gets a few sentences, a cross-module feature gets tables and diagrams.
1. Inspect the repo: `git status`, current branch, remotes, default branch, `.github/PULL_REQUEST_TEMPLATE*`, and `AGENTS.md` / `CONTRIBUTING.md` for PR rules. 2. Compute the merge base against the target branch and record the exact `base...head` range the PR publishes. If the branch is stacked on another unmerged branch, target that branch and describe only this PR's own changes. 3. Read the full diff. Separate runtime code from generated files, lockfiles, and snapshots. Trace changed code to its entry points, callers, and external boundaries so architecture claims are backed by file paths or symbols. 4. Classify the PR (feature, fix, refactor, chore, docs) and decide which optional body sections earn their place. See [pr-body](references/pr-body.md). 5. Run the checks that match the changed surfaces (focused tests, typecheck, lint). Record the exact commands and results. 6. If the diff changes user-visible UI, capture before/after evidence. See [visual-evidence](references/visual-evidence.md). 7. Write the body to a temporary file. Push the branch. Create the PR with `gh pr create --title ... --body-file ...` (add `--attach` for each screenshot). Use `--draft` when checks are still running or the work is not review-ready. 8. Open the created PR and verify title, base, head, rendered tables, diagrams, and images. 9. Address review comments: fix each confirmed issue, run focused checks, push, reply with evidence, and resolve the thread.
Use Conventional Commits, matching how the repo already writes commit messages:
feat(scope): add retry to upload client fix(scope): avoid double submit on enter refactor: extract diff parsing from cli chore(deps): update vite to v8 docs: clarify worktree setup
Required in every PR:
Optional, only when it helps the reviewer:
If the repo has a PR template, keep its headings and fill them; add sections above only where the template leaves room.
A curated collection of Agent Skills reflecting Anthony Fu's preferences, experience, and best practices, along with usage documentation for the tools.
Repo: antfu/skills
Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when…
Nitro is the framework-agnostic server toolkit (powering Nuxt) for building and deploying web…
Nuxt full-stack Vue framework with SSR, auto-imports, and file-based routing. Use when…
Pinia official Vue state management library, type-safe and extensible. Use when defining…
Node.js package manager with strict dependency resolution. Use when running pnpm specific…