Skip to content llms.txt

Codex — Skills

File format
Markdown
Discovery path
.agents/skills
Global install path
~/.agents/skills
Syllago install method
Symlink, Direct copy
Symlink support
Yes

Features

How each feature converts to syllago's canonical format. See format conversion for what these statuses mean.

Fields

Native frontmatter or config fields this provider exposes. The first column is the provider's own field name; the canonical key column links to syllago's cross-provider equivalent.

Provider fieldConversionCanonical keySummary
description Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → descriptionYAML frontmatter key: description (required — empty string triggers MissingField error; max 1024 chars enforced after whitespace normalization)
name Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → display_nameYAML frontmatter key: name (optional — falls back to parent directory name if absent or empty; max 64 chars enforced after whitespace normalization)
dependencies.tools Embedded Conversion type: Embedded No canonical equivalent — appended as prose in a conversion notes block so nothing is silently lost. Learn more → Declare required external tools or MCP servers via openai.yaml dependencies.tools (type, value, transport, command, url).
interface.default_prompt Embedded Conversion type: Embedded No canonical equivalent — appended as prose in a conversion notes block so nothing is silently lost. Learn more → Pre-filled starting prompt for UI invocation via openai.yaml interface.default_prompt (≤1024 chars).
metadata.short-description Embedded Conversion type: Embedded No canonical equivalent — appended as prose in a conversion notes block so nothing is silently lost. Learn more → Condensed skill description for compact UI; SKILL.md metadata.short-description or openai.yaml interface.short_description (≤1024 chars).
interface.brand_color Dropped Conversion type: Dropped Can’t be meaningfully preserved. Removed from the output with a portability warning. Learn more → Brand color for the skill card via openai.yaml interface.brand_color (#RRGGBB hex).
interface.icon_small Dropped Conversion type: Dropped Can’t be meaningfully preserved. Removed from the output with a portability warning. Learn more → Small and large skill icons via openai.yaml interface.icon_small/icon_large; paths must be relative under assets/.
policy.products Dropped Conversion type: Dropped Can’t be meaningfully preserved. Removed from the output with a portability warning. Learn more → Restrict skill visibility to specific OpenAI products via openai.yaml policy.products (empty = all products).

Other features

Behaviors, conventions, and capabilities that aren't tied to a single named field — things like path-based activation, discovery rules, and lifecycle behavior.

FeatureConversionSummary
canonical_filename Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → Fixed filename SKILL.md required within each named skill directory (SKILLS_FILENAME constant)
disable_model_invocation Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → openai.yaml companion file key: policy.allow_implicit_invocation (optional bool; false disables implicit/auto invocation; defaults to true when absent)
global_scope Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → Skills directory at $HOME/.agents/skills/ or the user config layer's skills/ subdir ($CODEX_HOME/skills, deprecated but kept for backward compatibility) (SkillScope::User)
project_scope Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → Skills directory at <project_config_folder>/skills/ (SkillScope::Repo) or any .agents/skills/ directory between project root and cwd (monorepo traversal)
shared_scope Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → Admin scope at /etc/codex/skills on Unix (SkillScope::Admin) — machine-level shared skills readable by all local users; injected via System config layer
Monorepo Skill Discovery Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → Walk between project root and cwd collecting .agents/skills/ dirs; capped by MAX_SCAN_DEPTH=6 and MAX_SKILLS_DIRS_PER_ROOT=2000.
openai.yaml Companion Metadata File Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → Optional <skill_dir>/agents/openai.yaml file providing interface, dependencies, and policy metadata separate from SKILL.md frontmatter.
Plugin Scope Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → Externally-injected plugin_skill_roots assigned User scope with namespaced name prefix; no config file required.
Skill Deduplication Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → Skills with duplicate paths are deduped (highest-priority scope wins) then sorted Repo > User > System > Admin, then by name and path.
System Scope (Embedded Skills Cache) Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → Fourth scope beyond Repo/User/Admin: embedded skills cached under $CODEX_HOME/skills/.system; symlinks not followed.

Sources

Source
https://raw.githubusercontent.com/openai/codex/main/codex-rs/core-skills/src/model.rs
https://raw.githubusercontent.com/openai/codex/main/codex-rs/core-skills/src/loader.rs
https://raw.githubusercontent.com/openai/codex/main/codex-rs/core-skills/docs/skills.md