Turns your git diff into a complete, human-quality PR description in seconds.
Diffscribe is a Claude skill that reads your current branch's actual work git diff, commit messages, changed files, and branch name and intelligently fills out your Pull Request or Merge Request template. No more writing PR descriptions from scratch.
| Input | Output |
|---|---|
| Your PR template path | Every section filled intelligently |
| Your current git branch | Summary, motivation, what changed |
| Commit messages | Testing notes, checklist auto-checked |
| Git diff + changed files | Breaking change detection, issue linking |
npx skills add Shadow-Flash/diffscribe
OR
Download diffscribe.skill and install it into Claude:
- In Claude Code: Drop the
.skillfile into your project's.claude/skills/directory - In Claude.ai: Upload via the Skills settings panel
Just talk to Claude naturally:
Fill my PR template at .github/pull_request_template.md using my current branch vs develop
Use Diffscribe, my template is at docs/mr_template.md
Auto-generate my pull request description from what I've built on this branch
Diffscribe outputs a ready-to-paste PR description. Optionally, it can raise the PR directly via CLI.
Branch: feat/123-add-oauth-google-login
Template: .github/pull_request_template.md
View sample output →
See sample_output.md for a full example of a Diffscribe-generated PR description.
| Parameter | Required | Default | Description |
|---|---|---|---|
template_path |
✅ Yes | — | Path to your PR/MR template file |
base_branch |
Optional | main → master |
Branch to diff against |
max_diff_lines |
Optional | 300 |
Max lines of diff to analyze |
Diffscribe works with any git platform — it reads your local git state, so it's platform-agnostic by design.
| Platform | Template Location | CLI Command |
|---|---|---|
| GitHub | .github/pull_request_template.md |
gh pr create |
| GitLab | .gitlab/merge_request_templates/Default.md |
glab mr create |
| Bitbucket | docs/pull_request_template.md |
Bitbucket API / web UI |
| Azure DevOps | .azuredevops/pull_request_template.md |
az repos pr create |
See diffscribe/references/platform-notes.md for full CLI examples.
diffscribe/
├── README.md ← You are here
├── LICENSE ← MIT
├── diffscribe.skill ← Packaged skill (install this)
├── diffscribe/
│ ├── SKILL.md ← Skill source & instructions
│ └── references/
│ └── platform-notes.md ← Platform-specific CLI tips
├── sample_pr_template.md ← Example PR template
└── sample_output.md ← Example Diffscribe output
- Descriptive branch names give Diffscribe better context:
feat/123-oauth-google-loginproduces a far richer description thandev-branch-2 - Atomic commits with clear messages = better summaries
- Lock files are automatically excluded from diff analysis
- For very large PRs (1000+ changed lines), set
max_diff_lines=500
Contributions welcome! To improve Diffscribe:
- Fork this repo
- Edit
diffscribe/SKILL.mdwith your improvements - Test against a few real branches
- Open a PR with before/after examples
MIT — see LICENSE
Built as a Claude skill using Anthropic's Claude. Diffscribe is community-maintained and not officially affiliated with Anthropic.
If Diffscribe saves you time, give it a ⭐, it helps others discover it!