技能标识:work-receipt
>
如果你不能用三句话解释你今天做了什么,那你要么什么都没做,要么什么都做了。两者都需要一张收据。
工作结束时。你已经编码了好几个小时。有人问你做了什么工作?你回答...一些东西。结账那件事。我好像修复了一个bug?你的提交信息写着wip、fix、fix again、actually fix和please work。
工作收据分析你工作会话的产物——Git历史、文件变更、测试结果、终端命令——并生成一份结构化摘要,包含:
╔══════════════════════════════════════════════════════════════╗
║ 工作收据 ║
║ ║
║ 会话:2026年3月3日 星期二 ║
║ 时长:4小时22分钟(下午1:15 — 下午5:37) ║
║ 分支:feature/multi-currency-checkout ║
╠══════════════════════════════════════════════════════════════╣
║ ║
║ 已完成: ║
║ ✓ 多币种税费计算(美元、欧元、英镑、日元) ║
║ ✓ 零小数位币种处理(日元、韩元) ║
║ ✓ 分以下金额的税费舍入边界情况 ║
║ ~ 部分完成:币种转换缓存(完成70%) ║
║ ║
║ 变更内容: ║
║ ├── 修改:6个文件(+184行,-47行) ║
║ │ ├── src/checkout/tax.ts .......... +89 / -12 ║
║ │ ├── src/checkout/currency.ts ..... +42 / -8 ║
║ │ ├── src/types/currency.ts ........ +18 / -3 ║
║ │ ├── src/checkout/tax.test.ts ..... +24 / -6 ║
║ │ ├── src/checkout/currency.test.ts +11 / -18 ║
║ │ └── src/config/rates.json ........ +0 / -0(重新格式化)║
║ ├── 创建:1个文件 ║
║ │ └── src/checkout/decimal-precision.ts(29行) ║
║ └── 提交:4次 ║
║ ├── feat: 多币种税费计算 ║
║ ├── fix: 零小数位币种处理(日元/韩元) ║
║ ├── fix: 分以下舍入边界情况 ║
║ └── wip: 币种转换缓存(未完成) ║
║ ║
║ 决策记录: ║
║ ├── 使用按币种精度查找(而非统一小数位) ║
║ │ 原因:日元/韩元有0位小数,巴林第纳尔有3位小数 ║
║ ├── 在税费计算后舍入,而非之前 ║
║ │ 原因:提前舍入会产生高达0.5%的误差 ║
║ └── 独立的小数精度模块(而非内联实现) ║
║ 原因:可复用于显示、导出和报表 ║
║ ║
║ 测试情况: ║
║ ├── 新增:4个新测试 ║
║ ├── 修改:2个现有测试 ║
║ ├── 状态:23/23 通过 ✓ ║
║ └── 覆盖率:checkout/目录 91% → 94%(+3%) ║
║ ║
║ 遗留事项: ║
║ ├── TODO:币种转换缓存TTL(硬编码为1小时) ║
║ ├── TODO:添加巴林第纳尔(3位小数币种)的测试 ║
║ ├── WIP:缓存层约完成70%(需要失效逻辑) ║
║ └── DEBT:缺少并发币种转换的测试 ║
║ ║
║ 会话指标: ║
║ ├── 复杂度:净增加12个圈复杂度 ║
║ ├── 债务:1个新条目(并发测试,约需2小时修复) ║
║ ├── 依赖:未新增任何依赖 ║
║ └── 破坏性变更:0个 ║
║ ║
║ 站会摘要: ║
║ 实现了支持22种币种的多币种税费计算,包括零小数位币种 ║
║ (日元/韩元)。修复了分以下金额的舍入边界情况。币种转换 ║
║ 缓存已完成70%,明天将继续完成。 ║
╚══════════════════════════════════════════════════════════════╝
来源:
├── 提交信息(尤其是常规提交前缀:feat、fix、refactor)
├── 差异分析(功能上的变化,不仅仅是语法上的)
├── 测试新增(新测试 = 新验证的行为)
└── 分支描述 / PR草稿
分类:
├── ✓ 已完成:已提交、已测试、可审查
├── ~ 部分完成:进行中、已记录但未完成
├── ✗ 已放弃:已开始但已回退或暂存
└── ⟳ 已重构:改变结构但未改变行为
检测方式:
├── 暂存的替代方案(你尝试了X,选择了Y)
├── TODO/FIXME注释(你记录了推迟的决定)
├── 已回退的提交(你选择了放弃某些内容)
├── 包含因为、而不是、而非的代码注释
└── 配置变更(关于值/设置的明确选择)
检测方式:
├── 未提交的变更(仍在进行中的工作)
├── 本次会话新增的TODO/FIXME
├── 已添加但尚未修复的失败测试
├── 不完整的函数签名(返回类型为any/unknown)
├── 空函数体或占位实现
└── WIP提交(信息中明确包含wip)
指标:
├── 代码行数:净增加/减少
├── 复杂度:圈复杂度变化
├── 测试覆盖率:百分比变化
├── 依赖:新增的库
├── 债务:采取的捷径、跳过的测试、新增的TODO
├── 触及的文件:变更的总影响面
└── 破坏性变更:接口/模式修改
昨日:为22种币种实现了多币种税费计算。
修复了零小数位币种处理和舍入边界情况。
今日:将完成币种转换缓存并添加巴林第纳尔测试。
阻塞项:无。
交接:feature/multi-currency-checkout
├── 状态:完成85%
├── 已完成:税费计算适用于所有币种,已全面测试
├── 待完成:缓存层需要失效逻辑(参见currency.ts:42的TODO)
├── 注意:日元和韩元是零小数位——不要假设2位小数
├── 已锁定决策:在税费计算后舍入,而非之前。精度查找表在decimal-precision.ts中
├── 待定问题:缓存TTL——1小时是猜测值,可能
以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:
帮我安装 SkillHub 和 work-receipt-1776235741 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 work-receipt-1776235741 技能
skillhub install work-receipt-1776235741
文件大小: 4.44 KB | 发布时间: 2026-4-15 23:55