crear-guardrail

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Crear guardrail

创建 Guardrail

Goal

目标

Convertir una regla ("nadie hace push a main") en un límite real del entorno, configurado de forma nativa en el agente que se está usando. La skill no trae recetas por agente: trae el procedimiento para que el agente aprenda a configurarse a sí mismo con su documentación vigente.
将一条规则(“任何人都不能 push 到 main”)转换为环境中真正生效的限制,并以当前所用 Agent 支持的原生方式进行配置。该 skill 不提供按 Agent 分类的固定配方,而是提供一个流程,使 Agent 能够根据当前有效的官方文档配置自身。

Input

输入

  • La regla a hacer cumplir, en lenguaje natural. Ejemplos de guardrails transversales:
    • bloquear
      git push
      a la rama principal y
      git push --force
      ;
    • bloquear comandos destructivos sobre el sistema de archivos fuera del proyecto;
    • pedir confirmación antes de cualquier deploy o escritura contra un servicio remoto;
    • impedir la lectura o escritura de archivos de secretos (
      .env
      y similares).
  • Opcional: si debe aplicar a nivel de proyecto (todo el equipo) o de usuario.
Si la regla no es clara (qué acción, qué excepción), preguntar antes de seguir.
  • 需要强制执行的规则,使用自然语言描述。通用 guardrail 的示例:
    • 阻止向主分支执行
      git push
      以及
      git push --force
      ;
    • 阻止对项目目录之外的文件系统执行破坏性命令;
    • 在执行任何 deploy 或对远程服务进行写入之前要求确认;
    • 禁止读取或写入包含密钥的文件(
      .env
      等)。
  • 可选:指定规则的应用层级是项目级(整个团队)还是用户级。
如果规则不明确(缺少什么操作、存在哪些例外),应先询问用户再继续。

Workflow

工作流程

  1. Detectar qué agente está corriendo esta sesión (por su propia identidad, variables de entorno o archivos de configuración presentes en el proyecto). Decirlo al usuario en una línea.
  2. Consultar la documentación oficial vigente de ese agente sobre hooks, permisos o políticas. Usar
    references/puntos-de-partida.md
    solo como punto de partida: si la documentación actual difiere, gana la documentación actual. Si el agente no tiene acceso a la web, decirlo y pedir al usuario el enlace o el fragmento de documentación.
  3. Elegir el mecanismo más simple que haga cumplir la regla:
    • si el agente tiene permisos declarativos (allow/deny/ask) que alcanzan, usar eso;
    • si no alcanza, usar un hook sobre el evento correspondiente (ej. antes de ejecutar un comando);
    • si el agente no ofrece ningún mecanismo, decirlo explícitamente y proponer la alternativa menos frágil (y dejar la regla también escrita en
      AGENTS.md
      ).
  4. Proponer el guardrail al usuario antes de escribir nada:
    • qué evento lo dispara;
    • qué bloquea, pide confirmar o ejecuta;
    • en qué archivo de configuración queda y con qué alcance (proyecto / usuario);
    • qué podría bloquear por error (falsos positivos). Esperar aprobación explícita.
  5. Configurarlo en el archivo nativo del agente, sin borrar configuración existente.
  6. Probarlo provocando el evento de forma segura (ej. un
    git push
    a main en una rama de prueba o en modo simulación) y mostrar al usuario que el guardrail actuó. Si no actuó, se corrige antes de darlo por terminado.
  7. Registrarlo en
    AGENTS.md
    , sección
    ## Guardrails
    : la regla, el mecanismo, el archivo donde vive y cómo se probó. Así el resto del equipo (humano o agente) sabe que existe.
  1. 检测当前会话正在使用哪个 Agent,依据其自身身份、环境变量或项目中存在的配置文件进行判断。用一行文字告知用户。
  2. 查阅该 Agent 当前有效的官方文档,了解 hooks、权限或策略。
    references/puntos-de-partida.md
    仅可作为起点:如果当前文档存在差异,应以当前文档为准。如果 Agent 无法访问 Web,应告知用户,并请用户提供文档链接或相关片段。
  3. 选择能够执行该规则的最简单机制:
    • 如果 Agent 提供适用的声明式权限(allow/deny/ask),优先使用该机制;
    • 如果声明式权限无法满足需求,则在对应事件上使用 hook(例如执行命令之前);
    • 如果 Agent 不提供任何可用机制,应明确说明,并提出最不脆弱的替代方案,同时将规则也写入
      AGENTS.md
      。
  4. 在写入任何内容之前向用户提出 guardrail 方案:
    • 哪个事件会触发它;
    • 它会阻止、请求确认还是执行操作;
    • 配置会写入哪个文件,以及作用范围(项目级/用户级);
    • 哪些内容可能被误阻止(误报)。 必须等待用户明确批准。
  5. 进行配置,写入该 Agent 的原生配置文件,同时保留现有配置。
  6. 通过安全方式触发事件进行测试(例如,在测试分支或模拟模式下执行一次指向 main 的
    git push
    ),并向用户展示 guardrail 已经生效。如果未生效,应先修正再视为完成。
  7. 记录到
    AGENTS.md
    的
    ## Guardrails
    章节
    :包括规则、执行机制、配置文件位置以及测试方式。这样,团队中的其他成员(人或 Agent)都能知道该 guardrail 的存在。

Constraints

约束

  • No se instala nada que el usuario no haya aprobado.
  • No se desactivan guardrails existentes para crear uno nuevo.
  • Un guardrail que no se probó no se da por creado.
  • Si el agente no permite hacer cumplir la regla, se dice: la regla queda como regla escrita, no como falso guardrail.
  • 未经用户批准,不安装任何内容。
  • 不得为了创建新的 guardrail 而禁用已有的 guardrail。
  • 未经过测试的 guardrail 不得视为已创建。
  • 如果 Agent 无法强制执行该规则,应明确说明:该规则仅作为书面规则保留,不是实际生效的 guardrail。