afk-issue-looplisted
Install: claude install-skill toRolex/rolex-skills
# AFK Issue Loop
你只负责解析输入、启动独立本地编排进程、报告启动结果。脚本是唯一调度者,通过本机 CLI 执行 Implementer、Reviewer、Merger;发起会话可在确认启动后结束。
## 1. 解析启动输入
1. 将本 skill 目录解析为绝对路径,读取公开入口 `node "<skill绝对路径>/scripts/afk.mjs" help`。从当前项目确定目标仓库绝对路径,作为 `--repo`;不是 skill 安装仓库。
2. 显式 Ticket 编号转为 `--issues 3,4,5`;没有编号则省略,由脚本首次分页读取 open `ready-for-agent`,固定本次范围。用户标明的父 SPEC 传 `--spec`,仅作上下文,不实施或关闭。
3. 用户指定目标传 `--target`,否则脚本选择已有 develop、其次 main。按下方「模型选择」确定顶层 `--provider`、`--model`、`--effort` 与(如有)按角色的 `--<role>-provider/-model/-effort`;项目验证要求可传 `--verify`。
4. 从项目约定确定优先级标签,按高到低传 `--priority-labels`;没有约定就省略,全部同级按编号。本仓库目前没有现存项目优先级映射,不能把示例标签当约定。
5. 不为正常恢复传 `--reuse`。脚本根据当前 GitHub、标准 `afk/issue-N` 分支、Worktrunk worktree 与 writer socket 事实自动分类:closed 跳过;唯一已有 worktree 原地恢复;只有分支时恢复同一分支 worktree;两者都没有才新建。writer 采用 liveness-first:只有明确检测到同一 worktree 的 AFK writer 仍在运行才使该票等待,stale socket、历史 PID 与不完整事件不阻止开工。`--reuse N` 仅保留显式归属兼容信息,不能绕过活跃写者、锁定、quarantine 或非标准现场边界。
完成条件:目标路径、固定输入及有效模型选择明确;所需 Node >=22、Git、Worktrunk、GitHub CLI、所选执行 CLI 与授权已准备。平台为 macOS/Linux;编排器用 Node 内置模块,Pi 自动选择还读取已安装 Pi 0.85.1 的纯目录/配置校验模块,不安装依赖;缺项或 Worktrunk hooks 审批由用户完成,不自动安装、绕过外层权限或传 `--yes`。
### 模型选择
- **区分 provider**:`--provider` 选择执行 CLI(claude/codex/pi),不是模型 API provider。Pi 的 `cliproxy/gpt-5.6-luna` 中 `cliproxy` 是 API provider,完整值传 `--model`。
- **显式优先**:准确 `--provider`、`--model`、`--effort` 各自优先于简称和默认。CLI 默认 **claude**,不按宿主猜测;Claude/Codex 省略模型/effort 沿用本机配置。Pi 显式完整 `API-provider/model` 不需自动发现即可使用(标记 `explicit-unverified`,不冒充认证验证),但**仍按声明式注册元数据做 effort 能力校验**