news 2026/6/23 18:52:10

用 Agent Skill 自动生成工作周报

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 Agent Skill 自动生成工作周报

在 work-journal 目录下输入:

/weekly-report

自动扫描上周所有 git 仓库的提交,生成中文周报并 commit:

周报
**xxx-ecom**:围绕 [TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx) 对 admin 后台的交易和订阅 API 做了一轮字段扩展与重构。新增 `xxx` 字段到 xxx 和 xxx 接口,去掉了 `xxx` 前缀的冗余命名,并将 `xxx.xxx` 的参数整合为 xxx 对象以提升可读性。后续又修正了 `xxx` 字段在取消订阅场景下不必要的返回逻辑,统一了 snake_case 命名风格。
**xxx-portal-bff**:同属 [TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx),修复了 Jenkins 流水线中 CodeArtifact token 获取失败的问题,将 OpenJDK 基础镜像版本钉死到 `17.0.2` 以避免构建漂移;重构了 pipeline 的 `compile` 和 `build` 函数,拆出独立的 `update_dependency` 阶段,避免重复获取 token,并在 build 脚本中跳过不必要的 dependency check 以提速。
**xxx-backend-service**:[TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx) 后端侧同步扩展:在 xxx API 响应中新增 `xxx` 字段,在 xxx API 响应中新增 `xxx` 字段,同时清理了 `xxx` 中多余的 `xxx` 映射逻辑。
**xxx-portal-web**:[TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx) 前端侧:在 B2C 客户页面的 xxx 列表中添加 xxx 可点击跳转;xxx 和 xxx 页面通过 router state 传递 xxx,实现从客户页面跳转后自动展开对应套餐导航;修复若干 ESLint 问题。
**xxx-mobile-app**:[TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx) 修复了 `NewYearPromotion202512` 促销活动的背景图片显示问题。

按仓库分段,Jira 编号自动转为完整链接,写完直接提交进 work-journal 仓库。

也可以补生历史周报:

/weekly-report 2026-03-29

实现思路

源码:github.com/zhaokang555/kang-skills

Agent Skill 由四个文件组成:

SKILL.md

SKILL.md 是整个流程的编排层,由 frontmatter(name、description 等元数据)和若干编号步骤组成。步骤里混写两种指令,AI 按顺序执行:

bash 指令,调脚本处理确定性逻辑。比如计算日期、扫描 commit,这些有固定答案的事情全部外包给脚本:

node .claude/skills/weekly-report/collect-commits.js <周一> <周日> <email>

prose 指令,告诉 AI 怎么生成。比如"按仓库分段、Jira 编号转完整 URL、写成工程师给半年后自己看的技术日志风格"——AI 拿到脚本输出的干净数据后,按这些规则生成最终文本。

两类指令的边界是"确定性 vs 生成性":有固定答案的(日期、commit 列表)写脚本,需要理解和表达的(把提交归纳成人话)写 prompt。

config.json

个人路径单独存放,不提交进代码仓库:

{
"scanDir": "/path/to/your/repos",
"jiraBaseUrl": "https://yourcompany.atlassian.net/browse"
}

config.json加入.gitignore,同时提供config.example.json作为模板随代码一起开源。

calc-dates.js

日期计算不能靠 AI 心算——时区、星期几的边界太容易出错。专门抽了一个脚本处理这件事:

// calc-dates.js [YYYY-MM-DD]
// 无参数:返回上周周一和周日;有参数:验证是周日,返回该周周一和周日
node .claude/skills/weekly-report/calc-dates.js
// → {"monday":"2026-03-30","sunday":"2026-04-05"}

参数不是周日时直接报错退出,SKILL.md 把错误信息转给用户即可。

collect-commits.js

AI 直接从 git log 里提取提交很耗 token,稳定性也差(输出格式不固定)。所以把这部分逻辑抽成一个 Node.js 脚本,由 SKILL.md 调用:

// collect-commits.js <MONDAY> <SUNDAY> <AUTHOR_EMAIL>
// 扫描 BASE_DIR 下所有 git 仓库(最大深度 3),输出指定周期内的提交记录
const repos = run(`find "${BASE_DIR}" -maxdepth 3 -name ".git" -type d -prune`)
//...
for (const repo of repos) {
const hashes = run(
`git -C "${repo}" log --format="%H" --no-merges ` +
`--after="${monday} 00:00:00" --before="${sunday} 23:59:59" ` +
`--author="${author}"`
)
//...
}

脚本输出结构化文本(=== REPO: xxx ===/--- COMMIT ---),AI 拿到的是干净的数据,省 token,也不会因 git 输出格式变化而出错。

SKILL.md + 脚本的组合比纯 SKILL.md(让 AI 直接跑 git 命令解析输出)稳定得多。

定时任务:让周报真正自动化

每周手动输一次命令还是有摩擦。不同系统有不同的调度工具,以 macOS 为例,可以用内置的launchd实现每周一早上自动触发。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 18:46:41

用友NC grouptemplet任意文件上传漏洞深度剖析与实战复现

1. 项目概述&#xff1a;从一次内部资产梳理到高危漏洞的发现最近在帮一个客户做内部资产的安全评估&#xff0c;他们的核心业务系统里有一套用友NC。熟悉企业级应用的朋友都知道&#xff0c;用友NC作为一款老牌的ERP系统&#xff0c;在国内很多中大型企业里都扮演着财务、供应…

作者头像 李华
网站建设 2026/6/23 18:43:52

AI赋能研发全链路:从需求到审查的自动化协同实践

1. 这不是AI写代码&#xff0c;而是让研发流程自己“长出眼睛和脑子” “不只是写代码&#xff1a;AI赋能研发全链路&#xff08;需求→设计→开发→审查&#xff09;实战指南”——这个标题里藏着一个被多数人忽略的关键事实&#xff1a;当前90%以上团队谈的“AI编程”&#x…

作者头像 李华
网站建设 2026/6/23 18:37:16

混元3.0编程能力跃迁:MoE架构与262K上下文如何重塑开发者工作流

1. 项目概述&#xff1a;这不是一次普通升级&#xff0c;而是一次编程能力的“代际跃迁”混元3.0发布那天&#xff0c;我正在调试一个卡了三天的Python自动化脚本——它要从十几个嵌套JSON里抽取出特定字段&#xff0c;再按规则生成SQL建表语句。前一秒还在对着混元2.0的回复叹…

作者头像 李华
网站建设 2026/6/23 18:36:36

量子网络路由技术:SatQNet系统架构与卫星辅助实现

1. 量子网络路由的挑战与机遇量子网络正成为连接量子设备的关键基础设施&#xff0c;其核心功能是通过量子纠缠态实现远距离量子信息传输。与传统通信网络不同&#xff0c;量子信息传输受到物理限制&#xff0c;通常只能在短距离内实现纠缠分发。卫星的引入可以扩展纠缠分发的距…

作者头像 李华
网站建设 2026/6/23 18:35:17

Prisma + PostgreSQL 生产级落地指南:从连接配置到向量搜索

1. 为什么不用 Express 原生写 SQL&#xff0c;而要选 Prisma PostgreSQL 这套组合&#xff1f; 我第一次在生产环境里用原生 Node.js pg 模块手写 CRUD 的时候&#xff0c;正赶上周五下午三点——一个本该安静收尾的时刻。结果因为一个 INSERT INTO users (name, email) VA…

作者头像 李华