start-quest 是 moq-dev/moq 仓库提供的任务启动技能,适合在仓库内按 quest 任务线协作推进开发时使用。
用途:帮助用户从仓库的 quest 任务中找出尚未被认领、可以立即开始的任务,并在用户选择后启动对应工作。调用方式为 /start-quest,可附加一个 base questline 参数,用来指定 quest/ 目录下的任务线目录;未指定时默认使用 quest/ 目录本身。
主要能力:技能会先要求阅读 quest/AGENTS.md,然后解析参数确定基础任务线目录。它通过 rg 命令查找所有不含 Required 段的 Markdown 文件(排除 README.md、AGENTS.md、CLAUDE.md),这些文件即被视为就绪任务。若无输出,说明该任务线没有可开始的工作。随后技能会剔除已被认领的候选任务:本地或远端存在以任务路径命名且较新或有开放 PR 的分支即视为已认领;过期且无开放 PR 的分支不算认领,但会被提示以便复用或删除。技能还会检测候选分支的祖先或后代任务分支,并在类似分支存在时检查文件 git 历史,以识别近期移动路径的任务是否仍被认领。创建 worktree 前,只有在确认冲突引用已过期、未检出且无未合并提交时才会删除,否则视为已认领。
排序与展示:剩余候选任务按从基础 README.md 开始的深度优先遍历顺序排列,Quests 列表本身有优先级顺序。技能最多展示前五个候选,并附上任务标题大小;遍历未覆盖但就绪的任务会追加展示并标记为未列出,提示这是值得修复的树结构缺陷。展示时还会包含相关上下文,例如目标、父任务线以及完成该任务可解锁的内容。
使用方式:用户选择任务后,技能读取该任务和相关仓库指南,确定基础分支,在任务分支上创建 worktree,并推送一条包含新生成 UUID 的占位提交来认领任务。无写权限时跳过推送,且绝不强制推送;推送被拒绝即表示认领竞争失败,应停止并改选其他任务。当任务范围在决策层面已完整时开始实现,否则先使用 $plan-quest 确定范围。
限制:技能依赖仓库内既有 quest 文档结构与 rg 命令;认领依赖分支和 PR 状态;无写权限时只能本地启动而无法完成远端认领。