gateguard
强制事实的门控,阻止编辑/写入/Bash(包括MultiEdit),并要求在允许操作之前进行具体调查(导入器、数据模式、用户指令)。与无门控代理相比,可测量地将输出质量提高2.25分。
DeepseekModel
官方收录技能
质量 优秀 · 90
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=affaan-m-ecc-docs-zh-cn-skills-gateguard-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name gateguard description 强制事实的门控,阻止编辑/写入/Bash(包括MultiEdit),并要求在允许操作之前进行具体调查(导入器、数据模式、用户指令)。与无门控代理相比,可测量地将输出质量提高2.25分。 origin community GateGuard — 事实驱动的前置操作门控 一个 PreToolUse 钩子,强制 Claude 在编辑前进行调查。不同于自我评估("你确定吗?"),它要求具体的事实。调查行为本身创造了自我评估永远无法带来的认知。 何时激活 处理任何文件编辑会影响多个模块的代码库时 项目包含具有特定模式或日期格式的数据文件时 团队要求 AI 生成的代码必须匹配现有模式时 任何 Claude 倾向于猜测而非调查的工作流程中 核心概念 LLM 的自我评估不起作用。问"你是否违反了任何策略?"答案永远是"没有"。这已通过实验验证。 但问"列出所有导入此模块的文件"会迫使 LLM 运行 Grep 和 Read。调查本身创造了改变输出的上下文。 三阶段门控: 1. DENY — 阻止首次编辑/写入/Bash 尝试 2. FORCE — 明确告知模型需要收集哪些事实 3. ALLOW — 在事实呈现后允许重试 没有竞争对手能同时做到这三步。大多数止步于拒绝。 证据 两个独立的 A/B 测试,相同的代理,相同的任务: 任务 有门控 无门控 差距 分析模块 8.0/10 6.5/10 +1.5 Webhook 验证器 10.0/10 7.0/10 +3.0 平均 9.0 6.75 +2.25 两个代理生成的代码都能运行并通过测试。区别在于设计深度。 门控类型 编辑/多编辑门控(每个文件的首次编辑) 多编辑的处理方式相同——批次中的每个文件都单独进行门控。 在编辑 {file_path} 之前,请先呈现以下事实: 1. 列出所有导入/引用此文件的文件(在代码树中搜索——Glob/Grep,或通过 Bash 用 find/grep) 2. 列出受此更改影响的公共函数/类 3. 如果此文件读取/写入数据文件,请显示字段名称、结构以及日期格式(使用脱敏或合成值,而非原始生产数据) 4. 逐字引用用户当前的指令 写入门控(首次创建新文件) 在创建 {file_path} 之前,请先说明以下事实: 1. 命名将调用此新文件的文件及行号 2. 确认没有现有文件具有相同功能(在代码树中搜索——Glob/Grep,或通过 Bash 用 find/grep) 3. 如果此文件读取/写入数据文件,请展示字段名称、结构及日期格式(使用脱敏或合成值,而非原始生产数据) 4. 逐字引用用户当前的指令 破坏性 Bash 门控(每个破坏性命令) 触发条件: rm -rf 、 git reset --hard 、 git push --force 、 drop table 等。 1. 列出此命令将修改或删除的所有文件/数据 2. 编写一行回滚步骤 3. 逐字引用用户当前的指令 常规 Bash 门控(每个会话一次) 1. 当前用户请求的一句话概括 2. 此特定命令验证或生成的内容 快速开始 选项 A:使用 ECC 钩子(零安装) scripts/hooks/gateguard-fact-force.js 处的钩子已包含在此插件中。通过 hooks.json 启用它。 如果 GateGuard 阻止了设置或修复工作,请使用 ECC_GATEGUARD=off 启动会话。如需钩子级别的控制,请继续使用 ECC_DISABLED_HOOKS 配合 GateGuard 钩子 ID。 选项 B:带配置的完整包 pip install gateguard-ai gateguard init 这会添加 .gateguard.yml 用于按项目配置(自定义消息、忽略路径、门控开关)。 反模式 不要使用自我评估替代。 "你确定吗?"总是得到"确定。"这已通过实验验证。 不要跳过数据模式检查。 两个 A/B 测试代理都假设了 ISO-8601 日期,而实际数据使用的是 %Y/%m/%d %H:%M 。检查数据结构(使用脱敏值)可以防止这类错误。 不要对每个 Bash 命令都进行门控。 常规 bash 门控每个会话一次。破坏性 bash 门控每次执行。这种平衡避免了速度下降,同时捕获了真正的风险。 最佳实践 让门控自然触发。不要试图预先回答门控问题——调查本身才是提高质量的关键。 为你的领域自定义门控消息。如果你的项目有特定约定,请将其添加到门控提示中。 使用 .gateguard.yml 忽略 .venv/ 、 node_modules/ 、 .git/ 等路径。 相关技能 safety-guard — 运行时安全检查(互补,不重叠) code-reviewer — 编辑后审查(GateGuard 是编辑前调查)
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |