--- name: write-task-log description: 指导 AI 正确填写任务日志,并在任务完成后自动提取认知价值。当任务完成后、对话即将结束时、或用户提到「写日志」「更新日志」「任务记录」时自动触发。对应 AGENT_RULES.md RULE-01/02/03。版本:v2.0(2026-03-19新增步骤四:认知提取) --- # 任务日志填写技能 每次任务完成后,按以下步骤操作。**顺序不可颠倒,四步必须全部完成。** > **设计原则(v2.0新增)**:默认模式是执行任务,不是捕捉认知。但每次任务完成后,自动提取认知价值,作为认知结构飞轮的燃料。郑总无需主动触发,这是系统自动完成的后台步骤。 --- ## 步骤一:在 `任务日志.md` 追加日志条目 文件路径:`/Users/boyuan/aiwork/0310_huaxiang\_内部总控\任务日志.md` ### 格式模板 ```markdown --- ## [TASK-YYYYMMDD-NN] 任务名称 **日期**:YYYY-MM-DD **执行者**:AI(Claude) **触发来源**:用户需求 / 联动规则XX / 内部计划 **触发的 Skill**:[逗号分隔的 Skill 目录名,如 role-产品经理, skill-designer](可选,有明确 Skill 触发时填写) ### 完成的工作 (简明描述做了什么,关键决策是什么) ### 创建/修改的文件 - 新增:`路径/文件名`(说明用途) - 修改:`路径/文件名`(说明改了什么) ### 关联关系 (本次任务与其他项目/文档的关系,使用 explains/implements/depends-on 等类型) ### 用户原始需求(逐条记录) - 需求1:... ### 遗留事项 (未完成、需后续跟进的内容,无则写"无") ``` ### 规则 - ID 格式:`TASK-YYYYMMDD-NN`(当日第 NN 条) - **防并发冲突(必须执行)**:写入前,用 grep 扫描 `任务日志.md` 全文中今日所有 `TASK-YYYYMMDD-` 条目,取最大序号 NN,新序号 = NN+1 - ⚠️ 禁止:只读文件末尾来判断序号——多 session 并发时末尾序号可能已落后 - **只增不减**:绝对不修改历史条目,只在末尾追加 - Session 结束时,在最后一条日志末尾追加**需求汇总**(用户的明确需求 + 隐含设计倾向 + 对未来方向的暗示) --- ## 步骤二:更新 `项目排期表.md` 文件路径:`/Users/boyuan/aiwork/0310_huaxiang\_内部总控\项目排期表.md` ``` 检查该任务是否已在排期表中? ├── 已存在 → 更新状态字段(🔲待开始 → 🟡进行中 → ✅完成) ├── 属于某母任务 → 在母任务下加子任务并标注状态 └── 全新任务 → 在总览表 + 详细条目区追加 ``` **例外**:纯文档小修改(改错别字)无需更新排期表。 --- ## 步骤三:检查是否需要触发联动 查看 `AGENT_RULES.md` 第六节联动规则表: | 触发事件 | 是否发生 | 需要触发的联动 | |---------|---------|--------------| | ①公理体系变动 | ? | 场景A + B | | ②体系结构变动 | ? | 场景G(通知TF) | | TF变动(含Breaking Change) | ? | 场景I(通知所有APP) | | ④⑤分身数据格式变动 | ? | 场景L(通知消费方) | 如有联动需要触发,参见技能 `trigger-linkage-rules/SKILL.md`。 --- --- ## 步骤四:~~认知提取~~(v1.1 废弃,由步骤五接管) > ⛔ **本步骤已废弃**(2026-03-21)。 > > 原因:步骤四在充满操作细节的主 context 中执行认知提取,视角受污染;且所有类型均路由到 L2(L1.5候选被错误降级)。 > > 功能完全由「步骤五:认知萃取(cognitive-task-reflector)」接管,步骤五提供独立 context + 正确路由。 --- ## 步骤五:认知萃取(v1.1 新增,替代步骤四) **触发条件**(满足任一条件即触发,G-04 扩展): 条件①(认知类关键词):任务日志条目(### 完成的工作)包含以下关键词之一: `cognitive-` / `L1` / `L1.5` / `L2` / `L3` / `认知结构` / `碎片` / `整合` / `原则` / `矛盾` / `自洽` 条件②(角色类 Skill 触发,新增):任务日志的「**触发的 Skill**」字段(可选字段)包含以下 Skill 名之一: `role-AI工程师` / `role-产品经理` / `role-技术架构师` / `role-UI设计师` / `role-数据分析师` / `skill-designer` / `research-output` (这些角色的工作有较高认知洞见价值,即使不含认知类关键词也应尝试萃取) 不满足任何条件 → 步骤五静默跳过,不询问用户。 **执行方式**: ``` IF 触发条件满足: 调用 cognitive-task-reflector 子智能体 输入:{ task_log_entry: [刚写入的 TASK-YYYYMMDD-NN 完整条目内容] } ⚠️ 本调用属于认知子任务,不触发 session-bootstrap 序列B(见 B0 排除清单) 处理输出: IF candidate_fragments 非空: 向用户展示: 「🔍 认知萃取(cognitive-task-reflector)发现 N 条候选: [逐条:category / title / reason_for_inclusion]」 用户逐条确认: → route="L2碎片" → 调用 cognitive-capture-fragment(同样不触发B序列) → route="L1.5候选" → 告知:「建议触发 cognitive-extract-principle 完整流程」 [立即触发] [下次处理] IF candidate_fragments 为空: 步骤五静默完成,不向用户展示任何内容 IF 触发条件不满足: 步骤五静默跳过 ``` **与旧步骤四的对比**: | 维度 | 旧步骤四(废弃) | 新步骤五(接管) | |---|---|---| | 执行位置 | 主 context(含操作细节)| 独立 context(仅读日志+L0+L1.5)| | 触发范围 | 每次任务后必须扫描 | 仅认知类任务(含关键词)自动触发 | | L1.5候选路由 | 错误写入 L2 | 正确路由到 cognitive-extract-principle | | 输出控制 | 固定汇报3条 | 候选为空时静默完成,不打扰 | --- ## 快速检查清单 完成任务后,逐项确认: - [ ] `任务日志.md` 末尾已追加新条目(格式正确,ID 唯一) - [ ] `项目排期表.md` 状态已更新 - [ ] 跨项目联动已评估(有触发则处理,无则记录"已评估,无需联动") - [ ] ~~步骤四认知提取~~(已废弃,由步骤五接管) - [ ] 步骤五认知萃取:触发条件满足则 cognitive-task-reflector 已调用;不满足则静默跳过 --- ## 变更记录 ### v1.4 — 2026-03-22 — 序号防并发冲突机制同步(GAP-CO009-1 修复) **根因**:scenario-sandbox-builder Phase 2 验证(CO-009沙盘)发现:write-task-log SKILL.md 的序号生成逻辑与 session-bootstrap B4(v1.2 更新的 grep防冲突)存在双轨漂移——直接触发此 Skill 时走 SKILL 内逻辑(无grep),绕过了 session-bootstrap 的防冲突修复。 **修改内容**: - 修改:「规则」章节的 ID 格式说明 → 从「当日第NN条,从01起」改为「grep全文扫描取最大序号+1」 - 新增:⚠️ 禁止只读末尾的强制约束 - 备份路径:`history/SKILL_v1.3_20260322_before_co009.md` **验证方法**:触发 write-task-log 时,序号生成步骤应包含 grep 扫描逻辑,与 session-bootstrap B4 一致 **验证状态**:🔵 待验证 --- ### v1.3 — 2026-03-22 — 步骤五触发条件扩展(G-04 修复,PD-011 元验证发现) **根因**:skill-closure-verifier-meta 对 PD-011(AI工程实现大闭环沙盘)执行 Phase 2 验证,发现 write-task-log 步骤五触发关键词全为认知体系词汇(cognitive-/L1/L2等),AI工程任务日志(如「完成 Prompt 设计」「实现 LLM 调用链」)不含这些词,导致 cognitive-task-reflector 不被触发,AI工程实践经验无法回流认知结构。 **修改内容**: - 修改:步骤五触发条件 → 从单一「认知类关键词」扩展为「条件① 关键词 OR 条件② 角色类Skill」 - 新增:条件②(角色类 Skill 触发)——当任务日志「触发的 Skill」字段含特定角色 Skill 名时,也触发步骤五 - 新增关键词:`自洽`(认知体系词汇补充) - 备份路径:`history/SKILL_v1.2_20260322_before_g04.md` **验证结果**: - 正向验证:完成 role-AI工程师 任务后,任务日志触发的Skill字段含「role-AI工程师」→ 步骤五触发,cognitive-task-reflector 尝试萃取认知价值 - 负向验证:纯 DevOps/文章写作任务(触发的Skill不在扩展列表)仍静默跳过,不生成低质量碎片 **验证状态**:🔵 待验证 --- ### v1.2 — 2026-03-21 — 任务日志格式新增 triggered_skills 字段(SD3 修复) **根因**:skill-evolution-planner-meta 在演进规划时依赖 CO-BUILD-LOG + PENDING-EXPERIENCES,但没有「哪个 Skill 被触发了多少次」的频率数据。任务日志是天然的 Skill 使用记录,但当前格式无结构化 Skill 字段,只能从「完成的工作」文本中猜测。 **修改内容**: - 修改:任务日志格式模板 → 新增可选字段「触发的 Skill」,填写本次任务中明确触发的 Skill 目录名(逗号分隔) **验证结果**: - 正向验证:有明确 Skill 触发的任务日志包含该字段 - 负向验证:字段为「可选」,未触发明确 Skill 的任务(如纯对话)不强制填写 --- ### v1.1 — 2026-03-21 — 废弃步骤四,新增步骤五(cognitive-task-reflector 接管,CS-013 修复) **根因**:Phase 2 关卡B C-2 问题:write-task-log 步骤四与 cognitive-task-reflector 功能双写,同一任务日志被提取两次;关卡A C4-3 问题:步骤四所有类型均路由到 L2(L1.5候选被降级)。CS-013 沙盘确认步骤四在操作细节充斥的主 context 中执行,视角受污染。 **修改内容**: - 废弃:步骤四(原认知提取),保留说明文字供参考,标注废弃原因 - 新增:步骤五(认知萃取)——调用 cognitive-task-reflector 子智能体,仅在认知类任务(含关键词)后自动触发;候选碎片含正确路由(L2→capture-fragment / L1.5→extract-principle);无候选时静默完成 - 备份路径:`history/SKILL_v1.0_20260321.md` **验证结果**: - 正向验证:完成 cognitive-reorganize 任务后,步骤五自动触发 cognitive-task-reflector,输出包含 excluded_items 的候选列表(待验证) - 负向验证:完成前端开发任务(无 cognitive-* 关键词)后,步骤五静默跳过,无弹出询问 **验证状态**:🔵 待验证 --- ## 相关规范 - [AGENT_RULES.md RULE-01/02/03](../../_内部总控/AGENT_RULES.md) - [07_关联声明与日志规则.md](../../_内部总控/开发规范/07_关联声明与日志规则.md)