writing-pull-requestslisted
Install: claude install-skill Cristhianzl/claude-skills-czl
# Writing Pull Requests
Produce a PR title, a commit message, and a PR description from the current diff, using a conventional-commit format. Output is **always printed in chat**, never written to a file.
## When to apply
Apply when the user says any of: "create a PR", "PR title", "PR description", "commit message", "title for the commit", "write the PR".
**Skip / push back** when:
- The diff is empty or untracked-only — ask the user what to compare against.
- The diff bundles multiple unrelated changes — propose splitting first; a PR whose title needs "and" is a smell.
- The user already pasted a title/description — don't rewrite unless asked.
## Read first (always)
Before doing anything else, **list `learnings/` and read every file whose name looks relevant** to the current PR. Project-specific scopes, type aliases, vocabulary, or hard constraints live there and override the defaults in this SKILL.md. If a learning conflicts with this file, **the learning wins** — mention it to the user so they can refine it.
If `learnings/` contains only `README.md`, proceed with the defaults below.
## Workflow
1. **Inspect the diff** → `git status` + `git diff --stat <base>..HEAD` (or staged with `--cached`). Identify files added/modified/deleted and the dominant area.
→ verify: you can name the affected module(s) and the dominant intent (feat/fix/refactor/etc.).
2. **Pick the type** from the table below. If two types tie, the change is mixed — flag it and ask whether to spli