mcpField
G
git-weekly-report

git-weekly-report

github.com/yangsonhung生产力1850 次安装12 周前更新
代码仓库

关于 git-weekly-report

git-weekly-report 是一项将 Git 提交日志整理为分类日报或周报的技能,适用于准备站会、活动摘要或项目更新的场景。它按仓库组织提交数据,并提供工作进展与风险的归类指引。

主要功能

  1. 01提取多个仓库的提交记录
  2. 02支持日期范围和作者筛选
  3. 03按报告类别整理工作
  4. 04保留短哈希以便追溯
  5. 05识别重点与进行中信号

适用场景

  1. 01根据提交准备每日站会摘要
  2. 02汇总多个仓库以撰写周报
  3. 03回顾指定日期范围内的工作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yangsonhung/awesome-agent-skills --skill git-weekly-report

安装后在 Claude Code 中输入/git-weekly-report确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/templates/
weekly-report-template.md
references/
weekly-report-format.md
scripts/
git_weekly_report.py

详细介绍

Git 每周报告

概述

提取 git 提交日志,并生成结构化的每日报告或每周报告。输出会将近期工作归类为已完成事项、进行中工作、亮点、计划和风险,以便在站会、每日报告、每周报告或项目摘要中复用提交历史。

适用场景

在用户提出以下请求时使用此技能:

  • 根据 git 提交生成每周报告或每日报告
  • 总结昨天或今天的 git 活动
  • 总结一个或多个仓库中的近期 git 活动
  • 回顾某个日期范围内完成的工作
  • 将提交历史整理成分类报告
  • 根据提交准备每日站会摘要

不适用场景

以下情况不要使用此技能:

  • 审查特定更改的代码(改用 code-reviewer)
  • 详细检查单个提交
  • 除提取日志外的 git 操作(分支、合并等)
  • 生成与 git 无关的报告

说明

  1. 确定日期范围和报告类型:
    • 每日报告:如果用户提到“昨天”“今天”或“每日报告”,则默认将 --since 设为昨天,将 --until 设为今天。
    • 每周报告:如果用户提到“本周”或“每周报告”,则默认将 --since 设为上周一,将 --until 设为今天。
    • 其他情况:默认查询最近 7 天。接受用户指定的范围。
  2. 如果用户指定了作者,则确定作者筛选条件。默认:所有作者。
  3. 确定仓库路径。默认:当前工作目录。如果用户提到多个项目,则收集所有路径。
  4. 运行脚本:
python3 scripts/git_weekly_report.py --since <YYYY-MM-DD> --until <YYYY-MM-DD> [--author <name>] [--repo <path1> <path2> ...]
  1. 阅读 JSON 输出。脚本会按仓库提供结构化的提交数据。
  2. 使用 weekly-report-format.md 作为分类指南,按类型对提交进行分类。
  3. 生成最终报告时,使用 weekly-report-template.md 作为输出结构。
  4. 对于“下周计划”和“风险”部分:询问用户是否有要补充的内容,因为这些信息无法从 git 日志中推导出来。对于每日报告,除非用户要求,否则省略这些部分。
  5. 呈现最终 Markdown 报告。如果用户要求,则保存到文件。

脚本用法

# Default: last 7 days, current directory
python3 scripts/git_weekly_report.py

# Specific date range
python3 scripts/git_weekly_report.py --since 2026-04-21 --until 2026-04-28

# With author filter
python3 scripts/git_weekly_report.py --since 2026-04-21 --author "Yang"

# Multiple repositories
python3 scripts/git_weekly_report.py --since 2026-04-21 --repo /path/to/project-a /path/to/project-b

# Save output to file
python3 scripts/git_weekly_report.py --since 2026-04-21 --output /tmp/weekly.json

# Include merge commits
python3 scripts/git_weekly_report.py --since 2026-04-21 --merges

JSON 输出结构

脚本输出的 JSON 结构如下:

  • date_range:{ since, until } — 查询的日期范围
  • author_filter:字符串或 null — 应用的作者筛选条件
  • repositories:由 { path, name, commit_count, commits } 组成的数组
  • total_commits:所有仓库的提交总数

每个提交包含:hash、short_hash、author、date、subject、body、refs。

报告生成

当每个仓库的提交数超过 50 时,按类别进行总结,而不是逐条列出所有提交。始终保留短哈希,以便追溯。

对于“进行中”部分,留意 WIP、TODO、部分实现或未完成的功能分支等信号。

对于“亮点”部分,识别破坏性更改、安全修复、重大功能或涉及关键路径的提交。

评论

支持 Markdown