Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Designs coding-agent settings and fleet CLI version control. Use when diagnosing precedence, managed policy, version pins, update kill switch, catalog budgets, or searchable notes.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill to design or review the settings and policy layer of a coding-agent runtime: settings sources, precedence, managed policy, validation, safe environment handling, runtime application of settings changes, and the fleet controls that decide which CLI version runs (release channel, version range, update kill switches, staged rollout).
This skill owns configuration and policy architecture for coding-agent runtimes. For project memory in AGENTS.md or CLAUDE.md, use ../agents-memory/SKILL.md.
| Question | Read | Outcome |
|---|---|---|
| How should settings sources and policy precedence work? | references/settings-source-precedence-and-managed-policy.md | Source model, merge order, managed policy, plugin-only restrictions |
| How should settings be validated and applied safely? | references/settings-validation-and-safe-runtime-application.md | Schema validation, invalid-rule handling, safe env controls, runtime re-application |
| What are the exact override examples for each settings layer? | references/settings-precedence-table.md | Full precedence table: managed > CLI flags > local > project > user, with concrete examples and cache invalidation |
| Which sources can enable plugin surfaces? | references/plugin-only-restriction-recipes.md | Trust-class recipes for locking, scoping, and logging plugin-surface activations |
| How do I handle Codex “Exceeded skills context budget”? | references/openai-codex-managed-config-and-requirements.md#skill-catalog-context-budget | Supported budget override, safe config merge, rollback, and fresh-session verification |
| How do I enable Codex notes and searchable earlier context, including tool calls? | references/openai-codex-managed-config-and-requirements.md#notes-and-searchable-context-history | Experimental setting (look it up), memory distinction, and restart/validation steps |
| How do I pin the CLI version across a fleet, stop self-updates, or stage a CLI rollout? | references/managed-delivery-and-fleet-controls.md | Channel vs background check vs all-path block, hard range vs soft floor, fail-open or fail-closed per key class, install provenance, staged rollout |
| How does OpenAI Codex separate config layers from managed requirements? | references/openai-codex-managed-config-and-requirements.md | Layer stack, requirements constraints, managed-hooks-only mode, debug surfaces |
| Need | Use Instead |
|---|---|
| Broader coding-agent architecture | ../ai-coding-agents/SKILL.md |
| Tool approval and permission modes | ../ai-coding-agents-safety-envelope/SKILL.md |
| Plugin package architecture, plugin cache, and plugin compatibility across CLI upgrades | ../ai-coding-agents-plugins/SKILL.md |
| Scheduled or background-run triggers and session state | ../ai-coding-agents-state/SKILL.md |
| Packaging, signing, and install scripts for a CLI you ship (this skill covers only which version a fleet runs) | ../software-devtools/SKILL.md |
| AGENTS.md or CLAUDE.md repo memory | ../agents-memory/SKILL.md |
| Generic config or schema design outside agent runtimes | ../software-devtools/SKILL.md |
Which CLI version a managed fleet runs is a settings-policy decision. Detail, a worked golden-image decision, and the lookup steps are in references/managed-delivery-and-fleet-controls.md.
Source kind: the vendor settings and hooks docs (code.claude.com/docs/en/settings, code.claude.com/docs/en/hooks); look them up before relying on a key, scope, or default. The Claude Code precedence order is the reference implementation for the settings-precedence-table.md model in this skill:
managed (highest, cannot be overridden)
> CLI flags (session-only)
> .claude/settings.local.json (gitignored; allow rules apply without a trust dialog)
> .claude/settings.json (project, checked in; requires the trust dialog)
> ~/.claude/settings.json (user, lowest)
The most common audit mistake is inverting the last three: local is the most specific and highest-precedence editable file, not the least. A clean ~/.claude/settings.json changes nothing in a repo that carries a conflicting .claude/settings.local.json.
Session-file retention is a settings key too. When auditing a fleet for stale-session accumulation or unexpected data loss, look up the retention key, its default, and its minimum before assuming a bug: a value of 0 may be a validation error rather than "disable cleanup", and a value below the shipped default is a deliberate override, not drift.
A "locked" setting belongs to one of four classes. Name the class before advising where to set a key; "just set X in your project settings" is wrong for classes 1, 2, and 4.
Lists keep their merge rule inside every class: a deny or block list merges from all sources and wins over an allowlist, even a managed one, and a blocklist must be enforced on every install, update, and refresh, not only when a source is added.
Look up each key's Scope line in the vendor settings reference before placing it in a class; vendors move keys between classes.
Update controls (channel, background check, all-path block, version range) are portable rules; see Fleet Version and Update Controls.
| Event | Trigger | Use Case |
|---|---|---|
ConfigChange | Fires when a configuration file changes during a session, covering user, project, local, and managed settings | Audit trail, policy-compliance checks, external notification on settings drift |
MessageDisplay | Fires while assistant message text is displayed | Display-only — no blocking or decision control; can replace displayed text via hookSpecificOutput.displayContent but never changes the transcript or what the model sees. Do not use it for enforcement; use PreToolUse/PermissionRequest for that. |
Both events follow the standard hook lifecycle alongside PreToolUse, PostToolUse, SessionStart, and SessionEnd, and are available in user, project, and managed-policy hook sources.
Source kind: the vendor config reference and config-file docs; look up key names, values, and file locations there before writing config.
$CODEX_HOME is the base directory for all Codex user state, defaulting to ~/.codex/ (%USERPROFILE%\.codex\ on Windows). The primary user config file is $CODEX_HOME/config.toml.
Operators can relocate all user state by setting $CODEX_HOME — no config file edits required. Managed/enterprise configuration and CLI flags sit above this in precedence and are not affected by $CODEX_HOME.
Named profiles are separate files next to config.toml, selected at launch with --profile <profile-name>, not a table inside one config.toml. Confirm the current file naming in the config docs before templating one.
# $CODEX_HOME/ci.config.toml
approval_policy = "never"
[sandbox_workspace_write]
network_access = false
One Codex install can then serve interactive dev, CI, and enterprise review without one file trying to hold every mode.
Sandbox mode and approval policy are separate axes; approval values and their semantics are owned by ../ai-coding-agents-safety-envelope/SKILL.md#approval-policy-vs-sandbox. Look up the current values in the vendor config reference before writing config; a retired value can prevent startup.
Codex keeps two separate stacks. The config stack (managed defaults, CLI flags, project .codex/config.toml, profile, user config) chooses preferences. The requirements stack (managed requirements; look up the current delivery channels) constrains what any layer of the config stack may choose, including approval and sandbox values; a config value outside the permitted set fails the constraint and is surfaced before tools run instead of being merged. See references/openai-codex-managed-config-and-requirements.md. Model an equivalent for another CLI the same way: preferences merge, requirements constrain.
Project-scoped config ignores a fixed set of security-critical keys so a repo cannot loosen its own trust boundary. Look up the current project-ignored key list in the config reference; do not assume which keys it covers. Treat "which keys project config may touch" as a threat-modeling question when designing an equivalent for another CLI.
Goose introduces two settings-layer patterns beyond the standard user/project/flag/managed-policy stack: custom distros as policy-delivery mechanism, and .goosehints-style narrative project hints as a distinct source class.
Goose's Custom Distributions bake an allowlist, provider pinning, and branding into the binary itself. From the settings layer's perspective, this is a new source class: read-only, above CLI flags in precedence, immutable at runtime.
distro_policy to the source-precedence table as the highest immutable layer (above managed_policy, which can be updated without a binary change). Effective-settings UI must attribute wins to the distro layer explicitly so operators can explain "why can't I change this."--version output and visible in the effective-settings debug view. Managed-policy layers can still narrow further but cannot broaden beyond the distro envelope.--version output and telemetry so users and support know they are not on the main stable build, and track distro identity in the compatibility matrix, because a distro's plugin set is frozen at build time. Shipping a partner or enterprise build as "stable channel plus a config file" leaks its providers into the upstream matrix and makes breakage attribution impossible..goosehints — narrative project-hint layerGoose loads .goosehints as a per-project narrative file (similar to AGENTS.md / CLAUDE.md). This is not structured settings — it is unstructured guidance for the agent about the project. But it is a source layer in the sense that the agent consumes it deterministically at session start.
AGENTS.md, CLAUDE.md, .goosehints, .cursorrules — are implementations of that source class. The agents-memory skill owns the content side; the settings-policy layer owns the source-loader plumbing.data/sources.json — Primary documentation and implementation references for settings and policy guidance. Reference files are listed in the Quick Reference table.When prior decisions or pitfalls are relevant, consult learnings.consolidated.md if present; use learnings.md only for needed history or as the available fallback. Otherwise skip both.
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Configures and hardens Claude Code and Codex MCP servers. Use when connecting databases, APIs, SaaS, building servers, or serving a clearance-filtered knowledge base.
日本語の概要は準備中です。原文の説明を表示しています。
Owns instruction files: AGENTS.md, CLAUDE.md, personal and repo rules. Use when writing, pruning, auditing them, sharing rules across Claude and Codex, or fixing ignored rules.
日本語の概要は準備中です。原文の説明を表示しています。
Creates and audits agent skills: SKILL.md, references, scripts, runtime metadata. Use when writing, validating, or security-reviewing a skill, or fixing truncated skill listings.
日本語の概要は準備中です。原文の説明を表示しています。
Adds per-skill learnings loops for dated patterns, mistakes, and domain facts. Use when wiring skill memory, consolidation, or drift audits.
日本語の概要は準備中です。原文の説明を表示しています。
Chooses subagent, team, workflow, or debate and launches it on Claude Code or Codex. Use when delegating, running agent review boards, or installing shared agents.
日本語の概要は準備中です。原文の説明を表示しています。