用途:init-mode 用于在 .squad/team.md 不存在,或存在但 ## Members 下没有任何成员时,启动团队初始化流程。流程分为两个阶段:第一阶段提出团队方案,第二阶段在用户确认后创建团队结构。
主要能力:第一阶段会通过 git config user.name 获取用户名并在对话中使用,只存储姓名不存储邮箱;询问用户正在构建什么(语言、技术栈、功能);运行 Casting & Persistent Naming 算法确定团队规模(通常 4–5 人加 Scribe)、分配形态、共鸣信号和宇宙,并据此提出带角色名称的团队名单。Scribe 与 Ralph 固定命名,不参与选角。随后使用 ask_user 工具让用户确认名单,选项包括“Yes, hire this team”“Add someone”“Change a role”。第一阶段结束时必须停止,不得创建任何文件或目录。
第二阶段在用户确认或直接给出任务时触发,会创建 .squad/ 目录结构(team.md、routing.md、ceremonies.md、decisions.md、decisions/inbox/、casting/、agents/、orchestration-log/、skills/、log/),初始化 casting 状态文件(policy.json、registry.json、history.json),为每个智能体写入包含项目描述、技术栈和用户名的 history.md,并创建 .gitattributes 以对追加型文件启用 union 合并驱动。team.md 必须包含标题为 ## Members 的章节,否则 GitHub 工作流的标签路由会失效。
使用方式:由协调者在检测到无团队时自动进入,用户按提示确认或调整名单。团队创建后可选择性提供 PRD/规格、GitHub issues、人类成员或 @copilot 等输入源。
限制:第一阶段未确认前不得创建文件;不得混用不同宇宙的智能体;不得跳过 ask_user 假设确认;不得读取或存储 git config user.email;不得使用 ## Team Roster 等变体标题。