work-report
Write a daily or weekly work report using git commits.
Installation
npx clawhub@latest install work-reportView the full skill documentation and source below.
Documentation
Work Report
Workflow
- Determine local date and format as
MM.DD(no year). - Decide daily vs weekly based on the user's request.
- Confirm the workspace root path for scanning multiple repos; if the user hasn't provided one, first check WORK_REPORT_ROOT or CODEX_WORK_ROOT, then ask.
- For daily reports, collect git commit subjects by author across all repos under the target root, grouped by project (repo).
scripts/git_today_commits.sh --root --period daily --group-by-repo.
- If needed, run manually per repo: git log --since=midnight --author "" --pretty=format:%s.
- Rewrite commit subjects into concise Chinese items and then turn them into a numbered list under each project (avoid English output); replace low-value or sensitive phrases (e.g., "解决冲突") with business-friendly wording (e.g., "代码集成与稳定性维护").
- If there are no commits, ask the user for manual items.
- For weekly reports, summarize git commits into concise Chinese items grouped by project (do not require user input unless there are no commits).
scripts/git_today_commits.sh --root --period weekly --group-by-repo.
- Convert commit subjects into 1-5 Chinese summary items per project (merge similar changes).
- Only treat directories with a
.gitfolder or file as projects. Ignore non-git directories. Include nested repos under the root.
Script
Use scripts/git_today_commits.sh to list commit subjects.
- If you're not in this skill directory, call it via
~/.codex/skills/work-report/scripts/git_today_commits.sh(or$CODEX_HOME/skills/work-report/scripts/git_today_commits.sh). --rootis required unless--repois provided or WORK_REPORT_ROOT/CODEX_WORK_ROOT is set.- Default author comes from
git config --global user.name, thengit config --global user.email. - Use
--rootto target a different root folder. - Use
--repoto target a single repo. - Use
--author "Name"to override author. - Use
--period daily|weeklyto pick the time range. - Use
--since ""to override the time range (e.g., "yesterday"). - Use
--with-repoto prefix each item with the repo name. - Use
--group-by-repoto output sections grouped by repo for easier report formatting. - Commits are collected across all branches by default (
git log --all). Use--no-allto limit to the current branch. - Normalization is enabled by default to make items more business-friendly; use
--no-normalizeto keep raw commit subjects. - Use
--summary-source subject|diff|bothto switch the summary source (diff mode summarizes file/module changes).
Output format
Use "今日工作总结" as the header text for daily reports. When the script outputs bullets, convert them into a numbered list.
MM.DD 今日工作总结
<项目A>
1.<item>
2.<item>
<项目B>
1.<item>
Use "本周工作总结" as the header text for weekly reports. Weekly items are a Chinese summary derived from git commits. The time range should follow the natural week starting Monday.
MM.DD-MM.DD 本周工作总结
<项目A>
1.<item>
2.<item>
<项目B>
1.<item>