关于 explicit-identity
这项开发技能要求在进程和异步边界间传递明确标识符,通过传递和保存不同 ID 来避免竞态条件与错误归属。
主要功能
- 01在工作流中传递明确 ID
- 02保存 ID 以便后续关联
- 03使用完整 UUID
- 04区分不同 ID 类型
- 05避免查询最近的会话
适用场景
- 01将派生进程与会话关联
- 02避免错误归属到其他会话
- 03避免异步边界间的竞态条件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ parcadei/ continuous-claude-v3 --skill explicit-identity安装后在 Claude Code 中输入/explicit-identity确认已加载。
详细介绍
跨边界时显式指定身份
跨越进程或异步边界时,切勿依赖“最新”或“当前”。
模式
在整个流水线中传递显式标识符。“最近的”会引发竞态条件。
应该做
- 启动进程时传递
--session-id $ID - 在状态文件中存储 ID,以便日后关联
- 使用完整 UUID,而非部分匹配
- 区分不同类型的 ID(不要合并不同概念)
不应该做
- 在执行时查询“最近的会话”
- 假定当前上下文在 await/spawn 之后仍然有效
- 合并不同类型的 ID:
session_id= Claude Code 会话(面向用户)root_span_id= Braintrust 跟踪记录(查询键)turn_span_id= 会话中的 Braintrust 轮次
示例
// BAD: race condition at session boundaries
spawn('analyzer', ['--learn']) // defaults to "most recent"
// GOOD: explicit identity
spawn('analyzer', ['--learn', '--session-id', input.session_id])
来源会话
- 1c21e6c8:明确区分 session_id 与 root_span_id
- 6a9f2d7a:通过显式传递修复了错误的会话归属
- a541f08a:确认此模式可避免会话边界处的竞态条件
评论
支持 Markdown