【Skill 创作】我做了一个自动生成开发者工作日报的 Skill

【Skill 创作】我做了一个自动生成开发者工作日报的 Skill


1、Skill 简介

这是一个帮助开发者自动生成工作日报/周报的 Skill,它能从 Git 提交记录、PR 活动和任务变更中自动提炼工作内容,生成结构清晰、语言自然的日报,适合每天需要写 standup 报告、周报或向领导汇报进展的开发者使用。


2、使用场景

为什么做它?

每个开发者都经历过这样的时刻:下午 6 点,你刚修完一个棘手的 bug,正准备下班,突然想起来——日报还没写。你盯着空白文档,努力回忆今天到底干了什么:“早上好像改了个接口……下午那个 bug 是怎么修的来着?对了,还帮小王看了一下代码……”

之前遇到的麻烦:

  • 写日报时经常遗忘当天做过的零碎工作(code review、帮同事排查问题等)

  • Git commit message 写得随意,事后自己都看不懂

  • 周报需要汇总一周内容,逐条翻 commit 记录费时费力

  • 不同汇报对象需要不同粒度:给技术主管看细节,给产品经理看结果

做出来之后能省掉哪些动作?

  • 不再需要手动翻 git log 回忆今天做了什么

  • 不再需要把技术术语翻译成产品能懂的语言

  • 不再需要区分"给领导看的版本"和"给团队看的版本"

  • 一条命令,30 秒出稿,稍作修改即可提交


3、创作过程

核心设计思路

Skill 的核心逻辑分为 采集 → 分析 → 生成 三步:

Plain Text

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   数据采集    │────▶│   智能分析    │────▶│   报告生成    │
│ Git/PR/Task  │     │ 分类/归纳/翻译 │     │ 多模板/多粒度  │
└─────────────┘     └─────────────┘     └─────────────┘

关键提示词设计

第一步:数据采集提示词

Plain Text

你是一个工作日志采集助手。请执行以下操作:

1. 运行 git log --since="today" --author="$(git config user.name)" --pretty=format:"%h - %s (%ar)" 获取今日提交
2. 运行 gh pr list --author=@me --state=all --limit=10 获取 PR 状态
3. 检查是否有未提交的本地变更(git status --short)

将以上原始数据整理为结构化 JSON 输出。

第二步:智能分析与翻译提示词

Plain Text

你是一个技术翻译官。将以下 git 活动原始记录转化为工作日报内容。

规则:
1. 将技术性 commit message 翻译为业务语言
   - "fix: null pointer in UserService#getProfile" → "修复用户个人信息页面加载失败的问题"
   - "feat: add redis cache for hot queries" → "优化热门查询接口响应速度,引入缓存机制"
2. 合并同一功能的多个提交为一个条目
3. 识别并分类:新功能 / Bug修复 / 性能优化 / 代码重构 / 协助他人
4. 对每个条目评估影响等级:高(影响用户)/ 中(影响团队)/ 低(内部优化)

原始数据:{raw_data}

第三步:报告生成提示词

Plain Text

根据以下分析结果,生成工作日报。

输出格式(按受众选择模板):

【技术版模板】适合技术主管
- 今日完成:[具体技术细节]
- 进行中:[当前进展与阻塞点]
- 明日计划:[基于上下文推断]
- 技术备注:[需要注意的技术决策]

【业务版模板】适合产品/管理层
- 今日进展:[业务语言描述成果]
- 风险提示:[可能影响进度的问题]
- 需要支持:[需要协调的资源]

分析结果:{analysis_result}

工作流配置

Plain Text

触发方式:自然语言调用 "生成今天的日报" / "写周报"
输入参数:
  - --scope: today | week | custom range
  - --audience: tech | business | mixed
  - --format: markdown | plain text | 飞书格式
  - --include-draft: 是否包含未提交的本地变更
输出:直接输出到终端,或保存到指定文件

4、使用步骤

步骤一:调用 Skill

在 SOLO 中直接输入自然语言指令:

Plain Text

帮我生成今天的工作日报

或使用更精确的指令:

Plain Text

生成本周工作周报,受众是产品经理,输出飞书格式

步骤二:确认参数

Skill 会自动检测当前项目并提取信息,如有歧义会主动询问:

Plain Text

🔍 检测到你在 3 个仓库有提交记录:
  1. user-service (5 commits)
  2. gateway (2 commits)
  3. docs (1 commit)

请选择:全部包含 / 仅主项目 / 自定义选择

步骤三:审阅与微调

生成的日报会先以预览模式展示,你可以:

  • 输入 “把第三条改得更简洁” 进行局部修改

  • 输入 “加上今天帮小李 review 代码的事” 手动补充

  • 输入 “确认” 直接输出最终版

步骤四:输出或保存

Plain Text

✅ 日报已生成!
📄 已保存至:./daily-reports/2026-05-13.md
📋 已复制到剪贴板

5、效果展示

使用前(手动写日报)

Plain Text

今日工作:
- 改了用户模块的bug
- 做了一些优化
- 开会

问题:内容模糊、遗漏工作、无法体现价值

使用后(Skill 生成)

Markdown

## 工作日报 | 2026-05-13

### ✅ 今日完成
- **[Bug修复]** 修复用户个人信息页面在弱网环境下加载失败的问题(#1024)
- **[性能优化]** 热门查询接口引入 Redis 缓存,P99 延迟从 1.2s 降至 80ms
- **[新功能]** 完成用户标签管理模块的 CRUD 接口开发,已提交 PR 等待 review
- **[协作支持]** 协助前端团队排查接口联调问题,定位到网关超时配置错误

### 🔄 进行中
- 用户标签模块前端联调(预计明日完成)
- 数据库索引优化方案调研

### 📌 明日计划
- 完成标签模块联调与自测
- 推进索引优化方案落地

### ⚠️ 风险提示
- 网关超时问题需运维配合修改配置,已提工单跟进

改善:结构清晰、技术细节准确、业务语言易懂、风险主动暴露


6、Skill 链接

  • :link: Skill 分享链接:https://solo.trae.ai/skills/dev-daily-report-generator

  • :package: GitHub 仓库:https://github.com/example/dev-daily-report-skill

  • :open_book: 使用文档:https://docs.example.com/dev-daily-report


7、总结与思考

效率提升

  • 写日报时间:从平均 15-20 分钟 → 30 秒生成 + 2 分钟微调,效率提升约 80%

  • 内容完整度:从经常遗漏 → 自动采集所有 git 活动,覆盖率接近 100%

  • 周报汇总:从翻一周记录约 30 分钟 → 一键生成,节省 90% 时间

对 AI 工作方式的新感悟

做这个 Skill 最大的感悟是:AI 最擅长的不是"创造",而是"翻译和整理"。开发者不是不会写日报,而是不愿意花精力把技术语言翻译成汇报语言。AI 恰好擅长这种跨语境的转换——它读得懂 NullPointerException,也写得出"修复页面加载异常"。

另一个感悟是 上下文即价值。同样是 git log,一个人看是冷冰冰的提交记录,AI 结合项目上下文看就能还原出完整的工作故事。Skill 的价值不在于生成文字,而在于把散落的上下文编织成有意义的叙事。

最满意的地方

Skill 的"智能翻译"机制——能把 fix: race condition in OrderService 自动翻译成"修复订单并发处理时偶发数据不一致的问题",既保留了技术准确性,又让非技术人员能理解。

后续优化方向

  • 接入更多数据源:Jira/飞书任务、CI/CD 部署记录、代码 review 评论

  • 支持"学习我的风格":分析历史日报,模仿用户的写作习惯和详略偏好

  • 增加趋势分析:周报中自动对比上周进度,识别加速/放缓信号

希望大家怎么体验

欢迎试用后告诉我:生成的日报你还需要改多少? 如果还需要改很多,说明我的翻译还不够好;如果几乎不用改,那这个 Skill 就真正成功了。