.agents/skills/pr-draft-summary/SKILL.md
Produce a PR-ready summary after eligible work is complete: a concise change summary plus a PR-ready title and draft description for ioredis.
git rev-parse --abbrev-ref HEAD.git status -sb.git ls-files --others --exclude-standard (use with git status -sb; --stat omits them).git diff --name-only (unstaged) and git diff --name-only --cached (staged); sizes via git diff --stat and git diff --stat --cached.BASE_REF=upstream/main; if it does not exist locally, use origin/main; if that does not exist locally, use main.BASE_COMMIT=$(git merge-base "$BASE_REF" HEAD).git diff --name-only "${BASE_COMMIT}..HEAD" and git diff --stat "${BASE_COMMIT}..HEAD".git log --oneline --no-merges ${BASE_COMMIT}..HEAD.lib/, bin/, examples/, benchmark/), tests (test/), docs (docs/, README.md, AGENTS.md, .agents/, .github/), build/test config (package.json, package-lock.json, tsconfig.json, .eslintrc*, .mocharc*, nyc.config.js, typedoc.json).BASE_REF/BASE_COMMIT first so later commands reuse them. Compare against upstream/main, origin/main, or main, not the current branch's upstream.--stat does not include them. Use commit messages as supporting context, not as a substitute for inspecting the committed diff.adds, bug fix → fixes, refactor/perf → improves or updates, docs-only → updates.main or a fork's main.
main, keep the current branch name and report it as the branch to use.main, propose feat/<slug>, fix/<slug>, or docs/<slug> based on the primary area (for example docs/pr-draft-summary-guidance) and show a git checkout -b <branch> command.issue-<number> (digits only), keep that branch suggestion. When an issue number is present, reference https://github.com/redis/ioredis/issues/<number> and include an auto-closing line such as This pull request resolves #<number>. Do not block if the issue cannot be fetched.feat:, fix:, docs:, chore:, etc.).When closing out a task, add this concise Markdown block (English only) after any brief status note unless the task falls under the documented skip cases or the user says they do not want it.
# Pull Request Draft
## Branch name suggestion
<Either `Current branch: <existing-topic-branch>` when already off `main`, or `git checkout -b <new-topic-branch>` when currently on `main`. Never suggest using `main` as the pull request branch.>
## Title
<single-line imperative title, which can be a commit message; a Conventional Commits prefix such as feat:, fix:, or docs: is preferred>
## Description
<include what you changed plus a draft pull request title and description for your local changes; start the description with prose such as "This pull request resolves/updates/adds ..." using a verb that matches the change (you can use bullets later), explain the change background (for bugs, clearly describe the bug, symptoms, or repro; for features, what is needed and why), any behavior changes or considerations to be aware of, and you do not need to mention any tests you ran.>
Keep it tight—no redundant prose around the block, and avoid repeating details between Changes and the description. Tests do not need to be listed unless specifically requested.