Community编程与开发github.com

Dakaric/claude-leitstelle

启动一个指挥中心(Leitstelle)设置:仅询问会话数量、是否加入顾问(Advisor)以及其运行的模型和努力程度(默认 Fable 5.1, high),为每个终端输出带有 --name 的启动命令,在用户说“一切就绪”时向所有会话发送消息,解释流程并收集它们的注册信息。

claude-leitstelle 是什么?

该技能用于在 Claude Code 等 AI 代理平台上快速搭建一个指挥中心(Leitstelle)环境。它能够自动分配多个工作会话(Session)以及一个可选的顾问会话(Advisor),并为每个终端生成标准化的启动命令。技能会询问用户会话数量、顾问模型(如 Fable 5.1 或 Opus 5.5)及其运行努力程度(Effort)。启动后,指挥中心会等待用户确认“一切就绪”,然后向所有会话发送注册指令(LEITSTELLE-START),收集各会话的目录、分支和 HEAD 信息,并在顾问就绪后通知各会话。它还处理权限模式匹配、名称冲突(自动添加 -b、-c 后缀)以及注册失败的容错机制,确保所有会话正确加入。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Dakaric/claude-leitstelle/tree/HEAD/skills/leitstelle-start

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

启动指挥中心设置

运行此技能的会话即为指挥中心。它不构建任何内容。它为用户提供启动命令,一旦用户说“一切就绪”,它向所有会话发送消息并收集注册信息。消息格式定义在 references/nachrichten.md。命令模板定义在 references/befehle.md。项目和存储位置定义在 references/projekte.md。

第 1 部分:输出命令

  1. 确定项目:从参数、工作目录、启动行或加载的交接文档中确定项目,并在 references/projekte.md 中查找。如果项目不明确(例如从不属于任何项目的文件夹启动),则作为步骤 2 中的第四个问题,以表格中的项目作为选项。如果用户指定新项目,指挥中心自动推导前缀、仓库(来自工作目录或用户指定)和存储位置(默认 ~/.claude/leitstelle/<前缀>/),在命令上方显示这三个值,并将其录入表格。使用 /leitstelle-start kompass 可以跳过此问题。
  2. 提问:在一个 AskUserQuestion 对话框中一次性提问:“多少个会话?”(1、2、3、4)、“顾问?”(Fable 5.1(推荐)、Opus 5.5、无)和“顾问的努力程度?”(high(推荐)、xhigh、max、medium)。推荐 Fable,因为与工作会话不同的模型能更独立地检查问题。Opus 是给没有 Fable 访问权限的用户的选择。自由输入的模型 ID 将按原样使用。选择“无”则不需指定努力程度。如果参数已经回答了某些问题,则不再询问;“包含顾问”默认为 Fable + high。除此之外不询问其他内容。
  3. 分配名称:ListAgents 返回指挥中心自身的名称。新名称为 <前缀>-session1 到 <前缀>-session<n> 和 <前缀>-advisor。如果某个名称已在 ListAgents 中出现(无论状态如何),指挥中心会添加 -b(然后 -c),并在单行中告知用户。
  4. 包含顾问:加载技能 leitstelle-advisor,角色为指挥中心,并遵循 references/leitstelle.md 中“启动”部分的步骤。每个新设置得到一个新的问题册和新档案:现有的 fragen.md 和所有 kontext-s*.md 文件先移至 /advisor/archiv/ 目录下,文件名包含日期(例如 fragen-<YYYY-MM-DD>.md,同一天第二次则加 -2),不会覆盖任何文件。新档案中的目标和计划保持“待定,随第一个任务而来”。
  5. 输出命令:每个终端一个独立的 bash 代码块,每个块只有一行。上方一行说明哪个终端对应哪个块,顾问排在最后。下方一行:“所有终端都启动后,请告诉我‘一切就绪’。”

会话启动后会静默等待。如果有会话提前发送消息,它会立刻收到 LEITSTELLE-START,并且在第 2 部分中不会重复被联系。

第 2 部分:收到“一切就绪”

触发条件是用户说的“一切就绪”或类似“所有都在运行”。

  1. 调用一次 ListAgents。
  2. 指挥中心向每个列出的会话发送 LEITSTELLE-START,包含角色和游戏规则。会话通过 SendMessage 回复 ANMELDUNG,指挥中心记录目录、分支和 HEAD。
  3. 包含顾问时:向顾问发送 ADVISOR-PROBE 至 leitstelle-advisor。收到 ADVISOR-PROBE OK 后,每个已注册的会话收到 ADVISOR-BEREIT,后续注册的会话在注册后立即收到。
  4. 如果 ListAgents 中缺少某个名称,指挥中心再次输出该终端的命令,并附加一句:“当它准备好时,请告诉我‘<名称> 已启动’。” 收到此消息后,它调用一次 ListAgents 并发送 LEITSTELLE-START,顾问则发送 ADVISOR-PROBE。
  5. 当所有会话都到位后,指挥中心向用户报告“所有会话已注册”,并附带一个表格:名称、角色、目录、分支、HEAD。之后,如果用户提出任务,指挥中心开始分发任务。

权限模式

所有命令都带有 --permission-mode 参数,其值与指挥中心自身运行的权限模式一致。指挥中心通过系统提示识别该模式,否则在第 1 部分步骤 2 的对话中询问。如果模式不同,Claude Code 会在会话之间保留消息以待批准,导致注册失败。如果指挥中心运行在 bypassPermissions 模式且计划包含顾问,则它不会输出命令,而是说:“顾问永远不会在 bypassPermissions 模式下运行。请以 auto 模式重新启动指挥中心并再次调用 /leitstelle-start,或者运行不包含顾问的设置。”

注册失败时

指挥中心不会循环询问或发送“你在吗?”之类的消息。LEITSTELLE-START 发送时带有 notify_when_idle: true。如果收到空闲通知但没有注册,它会重新发送一次 LEITSTELLE-START,因为第一条消息可能落在启动阶段。如果仍然没有响应,或者收到投递警告,会向用户输出一行信息:在窗口 <名称> 中可能有一个批准对话框在等待,或者权限模式不匹配。

修改后测试

bash ~/.claude/skills/leitstelle-advisor/scripts/pruefe-skill.sh ~/.claude/skills/leitstelle-start

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能