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.
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
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