orient 是一个阶段门(phase gate)技能,属于 EXPLORE 检查点,必须在进入下一步 Isolate 之前完成全部步骤。
用途:在开始实际开发前,收集任务上下文、判断任务类型、给出建议分支,并决定后续走直接隔离还是先做计划。
主要能力与步骤:
- 获取 issue 上下文:若提供了 issue 编号,执行 gh issue view <number> --json title,body,labels,assignees。未提供编号则请用户描述任务;gh 不可用(如无 GH_TOKEN 的远程会话)时跳过获取,改用人工描述。
- 自动识别任务类型并映射分支前缀:bug、error、crash、broken、fix 对应 Bugfix → fix/;enhancement、feature、add、want、should、new 对应 Feature → feat/;chore、config、deps、ci、tooling 对应 Chore → chore/;docs、documentation、readme 对应 Docs → docs/;默认 Feature → feat/。
- 扫描相关 ADR:ls "$(git rev-parse --show-toplevel)/ai-workspace/decisions/"*.md 2>/dev/null | head -20,按标题或文件名关键词匹配 issue 标题与正文,命中则读取并呈现;若发现矛盾,需明确提示可能冲突。
- 检查中断的工作:若仓库根目录存在 .branch-context.md,读取并在 brief 中说明正在恢复工作。
- 读取近期记忆:tail -20 "$(git rev-parse --show-toplevel)/ai-workspace/MEMORY.md" 2>/dev/null。
- 输出 Orient Brief,含任务、类型与分支前缀、建议分支名、相关 ADR、是否恢复、可能受影响的文件。
- 按一句话规则自动路由:若整个任务 diff 能用一句话描述,直接进入 Isolate;否则先 Plan,再在 Isolate 后进入 Design。路由由代理自动决定,无需人工输入;若有人在旁可覆盖。
边界情况:无 issue 编号也无用户描述时,需先请求描述;gh 不可用时跳过 issue 获取;无 ADR 目录则跳过 ADR 扫描。