Agent skill

codex-execpolicy

Create or edit Codex execpolicy .rules files (allow/prompt/forbid commands, define prefix_rule patterns, add match/not_match tests) and validate them with codex execpolicy check. Use when a user mentions Codex rules, execpolicy, command policies, allowlists/denylists, or controlling which commands Codex can run, and when scope (global vs project) must be clarified.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/codex-execpolicy

SKILL.md

Codex Execpolicy

Overview

Define and maintain Codex execpolicy rules so the agent can allow, prompt, or forbid command prefixes, and validate the policy before use.

Workflow

  1. Clarify scope and location.

    • Ask: “Should this be a global rule or project-specific?”
    • If global: default to ~/.codex/rules/default.rules unless the user provides another path or uses a different Codex home.
    • If project-specific: ask for the exact file path; a common pattern is .codex/rules/default.rules at repo root.
    • If the file already exists, inspect it before editing.
  2. Clarify intent.

    • Ask for the decision: allow, prompt, or forbidden.
    • Ask for the command prefix and any alternatives.
    • Ask for at least one “should match” and “should not match” example if the rule is non-trivial.
  3. Implement the rule.

    • Use prefix_rule(...) with a precise pattern list.
    • Use union lists for alternatives when only one argument varies.
    • Add match / not_match as inline tests when the rule is tricky.
  4. Validate before finishing.

    • Run codex execpolicy check --pretty --rules <path> -- <command> using realistic examples.
    • If validation fails, adjust pattern or tests and re-check.
  5. Summarize outcomes.

    • State what command prefixes are allowed/prompted/blocked and where the rule lives.

Examples

Block all git commands:

starlark
prefix_rule(
  pattern = ["git"],
  decision = "forbidden",
)

Prompt for either gh pr view or gh pr list:

starlark
prefix_rule(
  pattern = ["gh", "pr", ["view", "list"]],
  decision = "prompt",
)

Resources

  • See references/execpolicy.md for syntax notes, decision precedence, and validation commands.

Didn't find tool you were looking for?

Be as detailed as possible for better results