用途
ledger-tasks-yylo 适用于编程智能体需要“持久、可审查的任务状态”,且该状态存放在代码仓库中而非聊天记录里的场景。YYLO Ledger 是任务状态的唯一事实来源,本技能教授围绕它的工作循环。
该技能改编自 yylo-dev/yylo-skills 中的标准 ledger-tasks-yylo 技能,完整 CLI 参考(归档、多目录合并、控制器路由)见上游 SKILL.md。
适用时机:
- 判断下一个可安全开始的任务(ready 指所有阻塞项均已完成)
- 开始被分配的工作并记录证据回执(mark in_progress --response)
- 关闭任务并记录改动内容与测试方式(mark done --response --commit)
- 在创建任务前声明任务间依赖
- 按拓扑顺序编排并行工作(order --scores)
主要能力
- 稳定任务 ID:每个任务拥有唯一标识,便于引用与追踪。
- 带证据的状态标记:开始和完成时可附带 --response 说明;完成时可用 --commit 关联提交。
- 依赖关系(blocked-by):通过 deps add 或正文内联标记声明阻塞关系。
- 下一个可开始任务选择:ready 命令返回所有阻塞项已完成的任务。
- 搜索与列表:list、search 支持按状态、标签筛选。
- 排序:order --scores 用于规划并行流水线。
- 归档:archive 执行软删除,保留数据。
使用方式
工作流程:
- 选取工作:
yy ledger ready(或yy ledger list --status todo,in_progress)。 - 变更前先检查完整状态:
yy ledger get TASK_ID(包含已解析的 blocked_by 和相关任务)。 - 开始:
yy ledger mark in_progress --id TASK_ID --response "Starting: <plan>"。 - 完成:
yy ledger mark done --id TASK_ID --response "Done: <what> — tested <how>" --commit <sha>。 - 若任务无法继续,应显式保留阻塞状态,而非静默关闭。
核心命令:
yy ledger create "Short, one-iteration task" --status backlog --tags feature,backend
yy ledger list --status todo,in_progress --limit 10
yy ledger search --tag backend --open
yy ledger get TASK_ID
yy ledger update TASK_ID --tags backend,urgent
yy ledger deps add --id TASK_ID --blocked-by BLOCKER1 BLOCKER2
yy ledger ready --tag backend
yy ledger order --scores
yy ledger archive TASK_ID # soft delete, preserves data
创建/更新时会解析正文内联标记,因此可在正文中声明依赖:
[blocked_by]TASK_ID[/blocked_by]— 本任务等待 TASK_ID[task_id]RELATED_ID[/task_id]— 交叉引用相关任务
最佳实践:
- 任务应足够小,能在一次迭代内完成且不占满上下文窗口。
- 状态流转:backlog -> todo -> in_progress -> done(放弃的任务用 archive)。
- mark 时始终传 --response;标记完成时附带 --commit,使任务历史链接到对应 diff。
- 开始前使用 ready;规划并行流水线时使用 order --scores。
- 变更前用 get 读取状态;不要绕过 CLI 直接编辑文件。
前提条件
- 安装 YYLO CLI:
npm install --global '@yylo/cli@latest'(需 Node.js 20.10+、npm、Git)。 - yy ledger 委托给独立的 YYLO Ledger Git 原生任务存储(MIT 许可)。
- 任务状态位于仓库的 .juno_task/ 目录,并随项目提交,因此任何智能体或审查者都能从历史中重建决策过程。
适用场景与限制
适用于需要跨会话、可审查、与代码同步版本化的任务跟踪,尤其是多智能体或并行任务编排场景。资料未提供除 Git 原生存储外的托管方案、具体性能指标或与其他任务系统的集成方式;详细归档、多目录合并与控制器路由功能需参考上游完整 CLI 文档。