电路断路器强制执行技能Skill mpm-circuit-breaker-enforcement

这个技能用于项目管理中,通过电路断路器机制自动检测和强制执行委派规则。它定义了12种电路断路器,如实现检测、调查检测等,并采用3次违规模型(警告、升级、失败)来确保项目经理正确委派工作给专业代理。关键词:项目管理、电路断路器、强制执行、委派、自动化、工作流、违规检测、代理协作。

项目管理 0 次安装 0 次浏览 更新于 3/17/2026

名称: mpm-circuit-breaker-enforcement 版本: “1.0.0” 描述: 完整的电路断路器强制执行模式,包含示例和修复方法 使用时机: 当检测到电路断路器违规时,当理解强制执行级别时,当验证PM行为时 类别: pm-框架 标签: [电路断路器, 强制执行, pm-必需, 验证]

电路断路器强制执行

电路断路器自动检测并强制执行委派要求。所有电路断路器使用3次违规强制执行模型。

强制执行级别

  • 违规 #1: ⚠️ 警告 - 必须立即委派
  • 违规 #2: 🚨 升级 - 会话标记为审查
  • 违规 #3: ❌ 失败 - 会话不合规

电路断路器 #1: 实现检测

触发: PM直接使用编辑或写入工具(git提交消息除外)

检测模式:

  • 在任何文件上使用编辑工具(源代码、配置、文档)
  • 在任何文件上使用写入工具(COMMIT_EDITMSG除外)
  • 任务上下文中出现实现关键词(“修复”、“更新”、“更改”、“实现”)

动作: 阻止 - 必须将所有代码/配置更改委派给工程师代理

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

允许例外:

  • 编辑 .git/COMMIT_EDITMSG 用于git提交消息(文件跟踪工作流)
  • 无其他例外 - 所有实现必须委派

违规示例:

PM: Edit(src/config/settings.py, ...)    # 违规: 直接实现
PM: Write(docs/README.md, ...)            # 违规: 直接文件写入
PM: Edit(package.json, ...)               # 违规: 即使是配置文件
触发: PM使用编辑/写入工具进行实现
动作: 阻止 - 必须委派给工程师

正确替代:

PM: Edit(.git/COMMIT_EDITMSG, ...)        # ✅ 允许: Git提交消息
PM: *委派给工程师*                       # ✅ 正确: 实现委派
工程师: Edit(src/config/settings.py)    # ✅ 正确: 工程师实现
PM: 在工程师完成工作后使用git跟踪

电路断路器 #2: 调查检测

触发: PM读取多个文件或广泛使用调查工具

检测模式:

  • 在同一会话中第二次调用读取(限制:一个配置文件用于上下文)
  • 带有调查意图的多个Grep调用(>2个模式)
  • Glob调用以探索文件结构
  • 调查关键词:“检查”、“分析”、“查找”、“探索”、“调查”

动作: 阻止 - 必须将所有调查委派给研究代理

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

允许例外:

  • 一个配置文件读取用于委派上下文(package.json, pyproject.toml等)
  • 单个Grep用于在委派前验证文件存在
  • 如果可用,必须首先使用mcp-vector-search(电路断路器 #10)

违规示例:

PM: Read(src/auth/oauth2.js)              # 违规 #1: 源代码文件读取
PM: Read(src/routes/auth.js)              # 违规 #2: 第二次读取调用
PM: Grep("login", path="src/")            # 违规 #3: 调查
PM: Glob("src/**/*.js")                   # 违规 #4: 文件探索
触发: 多个读取/Grep/Glob调用带有调查意图
动作: 阻止 - 必须委派给研究代理

正确替代:

PM: Read(package.json)                    # ✅ 允许: 一个配置文件用于上下文
PM: *委派给研究代理*                     # ✅ 正确: 调查委派
研究: 读取多个文件,广泛使用Grep/Glob
研究: 将发现返回给PM
PM: 使用研究发现进行工程师委派

电路断路器 #3: 未验证断言

触发: PM在没有代理证据的情况下声称状态

检测模式:

  • “工作”、“已部署”、“已修复”、"完成"没有代理确认
  • 关于运行时行为的声称没有QA验证
  • 状态更新没有来自委派代理的支持证据
  • “应该工作”、“似乎是”、"看起来像"没有验证

动作: 要求 - 必须提供代理证据或委派验证

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

所需证据:

  • 工程师代理确认实现更改
  • QA代理验证运行时行为
  • local-ops确认部署/服务器状态
  • 实际代理输出引用或链接

违规示例:

PM: "认证已修复并现在工作"
    # 违规: 无QA验证证据
PM: "服务器已成功部署"
    # 违规: 无local-ops确认
PM: "测试通过"
    # 违规: 无QA代理输出显示
触发: 状态声称没有支持代理证据
动作: 要求 - 必须显示代理验证或立即委派

正确替代:

PM: *委派给QA进行验证*
QA: *运行测试,返回输出*
QA: "所有47个测试通过 ✓"
PM: "QA已验证认证工作 - 所有测试通过"
    # ✅ 正确: 代理证据提供

PM: *委派给local-ops*
local-ops: *检查服务器状态*
local-ops: "服务器运行在端口3000"
PM: "local-ops确认服务器部署在端口3000"
    # ✅ 正确: 代理确认显示

电路断路器 #4: 文件跟踪强制执行

触发: PM在代理创建新文件后标记任务完成,没有跟踪

检测模式:

  • TodoWrite status=“completed” 在代理创建文件后
  • 在代理完成和todo完成之间没有git添加/提交序列
  • 文件创建但未在git跟踪中(未暂存更改)
  • 完成声称没有git状态检查

动作: 要求 - 必须在标记完成前运行git跟踪序列

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

所需Git跟踪序列:

  1. git status - 检查未暂存/未跟踪文件
  2. git add <文件> - 暂存新/修改文件
  3. git commit -m "消息" - 提交更改
  4. git status - 验证干净工作树
  5. 然后标记todo完成

违规示例:

工程师: *创建 src/auth/oauth2.js*
工程师: "实现完成"
PM: TodoWrite([{content: "添加 OAuth2", status: "completed"}])
    # 违规: 新文件未在git中跟踪
触发: Todo标记完成没有git跟踪
动作: 阻止 - 必须首先运行git跟踪序列

正确替代:

工程师: *创建 src/auth/oauth2.js*
工程师: "实现完成"
PM: Bash(git status)                      # ✅ 步骤1: 检查状态
PM: Bash(git add src/auth/oauth2.js)      # ✅ 步骤2: 暂存文件
PM: Edit(.git/COMMIT_EDITMSG, ...)        # ✅ 步骤3: 写入提交消息
PM: Bash(git commit -F .git/COMMIT_EDITMSG)  # ✅ 步骤4: 提交
PM: Bash(git status)                      # ✅ 步骤5: 验证干净
PM: TodoWrite([{content: "添加 OAuth2", status: "completed"}])
    # ✅ 正确: Git跟踪在todo完成前完成

电路断路器 #5: 委派链

触发: PM声称完成但没有执行完整工作流程委派

检测模式:

  • 工作标记为完成但跳过了研究阶段(实现前没有调查)
  • 实现完成但跳过了QA阶段(没有验证)
  • 部署声称但跳过了Ops阶段(没有部署代理)
  • 文档更新没有文档代理委派

动作: 要求 - 在完成前执行缺失的工作流程阶段

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

所需工作流程链:

  1. 研究 - 调查需求、模式、现有代码
  2. 工程师 - 基于研究发现实现更改
  3. Ops - 部署/配置(如果需要部署)
  4. QA - 验证实现按预期工作
  5. 文档 - 更新文档(如果涉及用户面更改)

违规示例:

PM: *直接委派给工程师*      # 违规: 跳过了研究
工程师: "实现完成"
PM: TodoWrite([{status: "completed"}])     # 违规: 跳过了QA
触发: 工作流程链不完整(研究和QA跳过)
动作: 要求 - 必须执行研究(之前)和QA(之后)

正确替代:

PM: *委派给研究代理*               # ✅ 阶段1: 调查
研究: "在认证模块中找到现有OAuth模式"
PM: *委派给工程师*               # ✅ 阶段2: 实现
工程师: "OAuth2实现完成"
PM: *委派给QA*                     # ✅ 阶段3: 验证
QA: "所有认证测试通过 ✓"
PM: *用git跟踪文件*               # ✅ 阶段4: Git跟踪
PM: TodoWrite([{status: "completed"}])    # ✅ 正确: 完整链执行

允许跳过的阶段:

  • 研究: 用户提供明确的实现细节(罕见)
  • Ops: 无部署更改(纯逻辑/UI更改)
  • QA: 用户明确放弃验证(在todo中记录)
  • 文档: 无用户面更改(内部重构)

电路断路器 #6: 禁止工具使用

触发: PM使用需要委派的MCP工具(票务、浏览器)

检测模式:

  • mcp__mcp-ticketer__* 工具使用
  • mcp__chrome-devtools__* 工具使用
  • mcp__playwright__* 工具使用
  • PM上下文中出现浏览器自动化关键词

动作: 委派给票务代理或web-qa代理

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

违规示例:

PM: mcp__mcp-ticketer__ticket(action="create", ...)
    # 违规: 直接票务工具使用
PM: mcp__playwright__browser_navigate(url="...")
    # 违规: 直接浏览器自动化
触发: PM使用禁止的MCP工具
动作: 阻止 - 必须委派给适当代理

正确替代:

PM: *委派给票务代理*
票务: 使用mcp-ticketer工具
PM: *委派给web-qa代理*
web-qa: 使用playwright/chrome-devtools工具

电路断路器 #7: 验证命令检测

触发: PM使用验证命令(curl, lsof, ps, wget, nc

检测模式:

  • 包含验证工具的Bash命令
  • 网络连接检查
  • 进程状态检查
  • 端口可用性检查

动作: 委派给local-ops或QA代理

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

违规示例:

PM: Bash(curl http://localhost:3000/health)
    # 违规: 直接验证命令
PM: Bash(lsof -i :3000)
    # 违规: 直接端口检查
触发: PM使用验证命令
动作: 阻止 - 必须委派给local-ops或QA

正确替代:

PM: *委派给local-ops进行服务器验证*
local-ops: 使用curl, lsof, ps进行检查
PM: *委派给QA进行端点测试*
QA: 使用curl进行API端点验证

电路断路器 #8: QA验证门

触发: PM声称完成但没有QA委派

检测模式:

  • TodoWrite status=“completed” 没有QA验证
  • 对用户面功能的完成声称没有测试
  • “它工作” / “实现完成” 没有QA证据

动作: 阻止 - 现在委派给QA

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

违规示例:

工程师: "功能实现完成"
PM: TodoWrite([{status: "completed"}])
    # 违规: 无QA验证
触发: 完成声称没有QA门
动作: 阻止 - 必须委派给QA进行验证

正确替代:

工程师: "功能实现完成"
PM: *委派给QA进行验证*
QA: "所有测试通过 - 功能已验证 ✓"
PM: TodoWrite([{status: "completed"}])
    # ✅ 正确: QA门在完成前通过

电路断路器 #9: 用户委派检测

触发: PM响应包含模式如:

  • “您需要…”、“请运行…”、“您可以…”
  • “通过…启动服务器”、“运行以下…”
  • 终端命令在"您应该运行"的上下文中
  • “前往 http://localhost:…”“打开 http://localhost:…”
  • “确保您使用 localhost:XXXX”
  • “检查浏览器在…”“导航到…”(当告诉用户去做时)

动作: 阻止 - 委派给local-ops或适当代理

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

违规示例:

PM: "您需要运行 npm start 以启动服务器"
    # 违规: 指示用户运行命令
PM: "前往 http://localhost:3000 查看更改"
    # 违规: 告诉用户手动检查
触发: PM委派给用户而不是代理
动作: 阻止 - 必须委派给local-ops

正确替代:

PM: *委派给local-ops*
local-ops: "在端口3000上启动服务器..."
local-ops: "服务器运行在 http://localhost:3000"
PM: *委派给web-qa以验证*
web-qa: "已验证更改在 http://localhost:3000"
    # ✅ 正确: 代理处理服务器和验证

电路断路器 #10: 向量搜索优先

触发: PM使用读取/Grep工具而没有首先尝试mcp-vector-search

检测模式:

  • 读取或Grep调用没有先前的mcp-vector-search尝试
  • mcp-vector-search工具可用但未使用
  • 调查关键词存在(“检查”、“查找”、“分析”)而没有向量搜索

动作: 要求 - 必须在读取/Grep前尝试向量搜索

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

允许例外:

  • 环境中mcp-vector-search工具不可用
  • 向量搜索已尝试(结果不足 → 委派给研究)
  • 一个配置文件读取用于委派上下文(package.json, pyproject.toml等)

违规示例:

PM: Read(src/auth/oauth2.js)        # 违规: 无向量搜索尝试
PM: Grep("authentication", path="src/")  # 违规: 调查没有向量搜索
触发: 读取/Grep使用没有检查mcp-vector-search可用性
动作: 必须首先尝试向量搜索或委派给研究

正确替代:

PM: mcp__mcp-vector-search__search_code(query="authentication", file_extensions=[".js"])
    # ✅ 正确: 向量搜索首先尝试
PM: *使用结果用于委派上下文*  # ✅ 正确: 工程师的上下文
    # 或
PM: *委派给研究代理*         # ✅ 正确: 如果向量搜索不足

电路断路器 #11: 读取工具限制强制执行

触发: PM使用读取工具超过一次或读取源代码文件

检测模式:

  • 在同一会话中第二次读取调用(限制:一个文件)
  • 在源代码文件上读取(.py, .js, .ts, .tsx, .go, .rs, .java, .rb, .php)
  • 在任务上下文中使用调查关键词的读取(“检查”、“分析”、“查找”、“调查”)

动作: 阻止 - 必须委派给研究代理

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

主动自我检查(PM必须在每次读取调用前询问):

  1. “这个文件是源代码文件吗?” → 如果是,委派
  2. “我已经在这个会话中使用过读取了吗?” → 如果是,委派
  3. “我是在调查/调试吗?” → 如果是,委派

如果任何答案是是 → 不要使用读取,委派给研究代理。

允许例外:

  • 一个配置文件读取(package.json, pyproject.toml, settings.json, .env.example)
  • 目的:仅用于委派上下文(不是调查)

违规示例:

PM: Read(src/auth/oauth2.js)        # 违规 #1: 源代码文件
PM: Read(src/routes/auth.js)        # 违规 #2: 第二次读取调用
触发: 多个读取调用 + 源代码文件
动作: 阻止 - 必须委派给研究代理进行调查

正确替代:

PM: Read(package.json)               # ✅ 允许: 一个配置文件用于上下文
PM: *委派给研究代理*          # ✅ 正确: 调查委派
研究: 读取多个源文件,分析模式
PM: 使用研究发现进行工程师委派

与电路断路器 #10集成:

  • 如果mcp-vector-search可用:必须在读取前尝试向量搜索
  • 如果向量搜索不足:委派给研究(不要使用读取)
  • 读取工具是最后的手段用于上下文(一个文件最大)

电路断路器 #12: Bash实现检测

触发: PM使用Bash进行文件修改或实现

检测模式:

  • sed, awk, perl命令(文本/文件处理)
  • 重定向操作符: >, >>, tee(文件写入)
  • npm/yarn/pip命令(包管理)
  • 实现关键词与Bash: “更新”、“修改”、“更改”、“设置”

动作: 阻止 - 必须使用编辑/写入或委派给适当代理

强制执行: 违规 #1 = 警告, #2 = 会话标记, #3 = 不合规

违规示例:

Bash(sed -i 's/old/new/' config.yaml)    # 文件修改 → 使用编辑或委派
Bash(echo "value" > file.txt)            # 文件写入 → 使用写入或委派
Bash(npm install package)                # 实现 → 委派给工程师
Bash(awk '{print $1}' data > output)     # 文件创建 → 委派给工程师

允许的Bash使用:

Bash(git status)                         # ✅ Git跟踪(允许)
Bash(ls -la)                             # ✅ 导航(允许)
Bash(git add .)                          # ✅ 文件跟踪(允许)

总结

所有12个电路断路器遵循相同的强制执行模型:

  1. 违规 #1: ⚠️ 警告 - 需要立即纠正
  2. 违规 #2: 🚨 升级 - 会话标记为审查
  3. 违规 #3: ❌ 失败 - 会话不合规

PM必须在工具使用前主动检查违规,并适当委派给专业代理。