ELI5 · change-report English | 中文

change-report: a manager-facing memo for a git range

"What changed here?" — it reads only git, writes in words a manager can read, and never touches your code.
One-line analogy: worklog asks "what did I do this week"; change-report asks "what did this code change". It is a note-taker who only watches the surveillance footage: it opens git's commit history and diff stats, fences off one range, and writes "what changed, where, why, how it was verified" as a formal memo + Word file. It never commits, pushes, or resets — read-only, hands off.

Division of labor across the family

📊

worklog

Input = chat logs + your dictation. Output = this week's report.

🌿

change-report

Input = git only (status / log / diff). Output = a memo for one change range.

🗄

alllog

Input = full history. Output = résumé material library.

Step one is always: fence the range

It never quietly assumes "the last 5 commits". It lists candidate ranges for you to choose: uncommitted / committed-but-unpushed / pushed-but-unmerged, or you can pass --range / --commit / --record directly. Without you naming a range, it doesn't write a word.
提交报告 — "commit report"
这次改了什么 — "what changed here?"
有哪些还没推送 — "what hasn't been pushed yet?"

What the memo looks like

# 变更报告 Change memo · 2026-09-30 ## 一句话目标 One-line goal Finished the discover-page revamp; achieved higher click-through. ## 背景 Background (1–2 formal sentences) ## 本次改动 Changes **Ranking blend** Reason: old heat-only ranking under-exposed long-tail content - Discover list: heat + personalized dual-channel blend ## 改动文件 Files (paths only, grouped by module, no code) ## 验证结果 Verification - Local tests 24/24 passed

Hard rules: no code, no line numbers, no credentials; if the "why" can't be inferred it writes 原因待确认 ("reason to be confirmed"); untested changes are marked 未验证 ("unverified") — never invented. At most 1–3 themes; more than that, it asks which to cut.

Status labels only tell the truth

draftuncommitted changes exist local-commitcommitted, not pushed pushedon the remote unknownsays so if it can't tell

It will not invent a git state to make a workflow look complete.

Where the output lands

报告文档/代码/<project>/ (workspace "report docs / code / per project) ├── 变更记录.md ← running ledger, append-only, never overwritten ├── md形式/2026-09-30.md ← named by the range's oldest commit date └── word形式/2026-09-30.docx ← rendered by the docx skill
One of the four log-skill explainers: worklog · alllog · change-report · changelog | 中文版