with one click
Summarises git diffs into a human-readable change log entry.
npx skills add https://github.com/theneoai/skill-writer --skill git-diff-summarizerCopy and paste this command into Claude Code to install the skill
Summarises git diffs into a human-readable change log entry.
npx skills add https://github.com/theneoai/skill-writer --skill git-diff-summarizerCopy and paste this command into Claude Code to install the skill
API testing automation skill — executes HTTP requests, validates responses, and generates test reports with security scanning.
Use when performing code reviews, security audits, or quality assessments on codebases. Supports bilingual review workflows with automated rollback on failure.
Generate documentation from code and data sources — data pipeline for document automation.
Generate Conventional Commits-compliant messages from git diff or description.
Thin skill that shows how to delegate GitHub read operations to an MCP server and keep the LLM-side logic minimal.
Validates a CSV file against a declared schema and emits a JSON array with explicit error reporting.
| name | git-diff-summarizer |
| version | 1.0.0 |
| description | Summarises git diffs into a human-readable change log entry. |
| description_i18n | {"en":"Reads a git diff and produces a concise, structured summary suitable for a changelog or PR description.","zh":"读取 git diff,生成适合 changelog 或 PR 描述的简洁结构化摘要。"} |
| license | MIT |
| author | {"name":"starter-example"} |
| created | 2026-04-11 |
| updated | 2026-04-11 |
| type | tool-wrapper |
| skill_tier | atomic |
| tags | ["git","diff","changelog","summary"] |
| triggers | {"en":["summarise this diff","summarize this git diff","what changed in this diff","generate changelog entry","describe these changes"],"zh":["总结这个 diff","这次改动说明","生成变更日志"]} |
| interface | {"input":"git-diff-text","output":"structured-summary"} |
| use_to_evolve | {"enabled":true,"injected_by":"skill-writer v3.4.0","injected_at":"2026-04-11","check_cadence":{"lightweight":10,"full_recompute":50,"tier_drift":100},"micro_patch_enabled":true,"feedback_detection":true,"certified_lean_score":365,"last_ute_check":null,"pending_patches":0,"total_micro_patches_applied":0,"cumulative_invocations":0,"generation_method":"auto-generated","validation_status":"lean-only"} |
Name: git-diff-summarizer Role: Reads raw git diff output and produces a human-readable summary. Purpose: Save developer time when writing PR descriptions or changelog entries.
Red Lines (严禁):
git-diff-summarizer reads raw git diff or git show output and returns a concise, structured changelog entry grouped by file and change type (feat/fix/refactor/chore/docs/test). Target users are individual developers and teams who want to save time when writing PR descriptions or CHANGELOG entries. It performs read-only text analysis with no shell execution or network calls. Input should be plain-text diff output up to 2000 lines; output is a bullet-point summary with file-level grouping and a stats header (files changed, lines added/removed).
Do NOT use this skill for:
The following trigger phrases should NOT activate this skill:
1. PARSE — detect language/file type from diff header (--- a/file +++ b/file)
2. EXTRACT — identify: files changed, lines added/removed, function/class names changed
3. CLASSIFY — label each change: feat / fix / refactor / chore / docs / test
4. SUMMARIZE — write 1–3 bullet points per file; group by change type
5. OUTPUT — return structured summary (see §5 Output Format)
Quality Gates:
| Gate | Threshold | Action on Fail |
|---|---|---|
| Minimum diff size | ≥ 1 line changed | Abort: "No changes detected in diff" |
| Maximum diff size | ≤ 2000 lines | Warn: "Large diff — summary may be incomplete" |
| Identifiable files | ≥ 1 file header (--- a/) | Abort: "Cannot parse diff format" |
| Error | Recovery |
|---|---|
| Diff is empty or whitespace-only | Output: "No changes found. Provide a git diff or git diff --cached output." |
| Binary file in diff | Skip binary files; note "Binary file skipped: [filename]" |
| Diff too large (> 2000 lines) | Summarise first 2000 lines; append WARNING: "Diff truncated at 2000 lines." |
| Unrecognised diff format | Output: "Could not parse diff. Ensure input is from git diff or git show." |
| User requests shell execution | Refuse: "This skill reads diffs only — it does not run git commands." |
Escalation: If format cannot be parsed after one retry → HUMAN_REVIEW (ask user to paste raw diff again)
## Summary — git diff
**Files changed**: N | **Lines added**: +N | **Lines removed**: -N
### Changes by type
**feat** (new features):
- `src/auth.js` — Added OAuth2 token refresh flow (lines 45–78)
**fix** (bug fixes):
- `src/api.js` — Fixed null dereference in response handler (line 112)
**chore** (maintenance):
- `package.json` — Bumped lodash 4.17.20 → 4.17.21
---
> Generated by git-diff-summarizer v1.0.0
Example 1 — Basic usage:
User: "summarise this diff"
[pastes git diff output]
→ Output: structured summary as per §5
Example 2 — Chinese trigger:
User: "总结这个 diff,帮我写 PR 描述"
[pastes diff]
→ Output: same structured summary (language of output follows user's language)
Example 3 — Oversized diff:
User: "summarize this diff" [pastes 3000-line diff]
→ ⚠ Warning: Diff exceeds 2000 lines. Summarising first 2000 lines only.
→ [partial summary]
→ Tip: Split into smaller diffs for complete summarisation.
ute_state:
last_invocation_outcome: null
rolling_success_rate: null
pending_improvements: []
UTE monitors trigger accuracy and output quality. After 10 invocations, a lightweight check runs automatically. After 50, a full metric recompute. Micro-patches (adding trigger synonyms) apply automatically when safe.