Which SKILL.md frontmatter fields each harness reads, and how it treats the file. Fields marked “standard” come from the Agent Skills specification; the rest are specific to one harness. A dash means the harness does not document the field. Harness names link to their skill docs.
Fields
| Field | Codex CLI | Claude Code | Cursor Agent | pi |
|---|---|---|---|---|
namestandard | Required Discovery name text | Optional Display and invocation name; defaults from the directory text | Required Skill name text | Required Skill name text; lowercase letters, digits and single hyphens; at most 64 characters |
descriptionstandard | Required Discovery and implicit-invocation description text | Optional Discovery description; may be inferred from content text | Required Discovery description text | Required Discovery description text; at most 1024 characters Tested 0.84.2: 10,000 characters still load, with a warning above 1024. Tested 1.1.0: 10,000 characters still load, with a warning above 1024. |
licensestandard | Not established Agent Skills portable metadata text | Optional Portable license metadata text | Optional Portable license metadata text | Optional Portable license metadata text |
compatibilitystandard | Not established Agent Skills portable environment requirements text; at most 500 characters | Optional Portable environment requirements text; at most 500 characters | Optional Portable environment requirements text; at most 500 characters | Optional Portable environment requirements text; at most 500 characters |
metadatastandard | Not established Agent Skills portable extension metadata map of text | Optional Free-form metadata object | Optional Portable extension metadata map of text | Optional Portable extension metadata map of text |
allowed-toolsstandard | Not supported Codex permissions are not declared by SKILL.md frontmatter text or list | Optional Tools allowed while the skill is active; not a portable restriction text or list | — | — |
disable-model-invocation | — | Optional Disable implicit model invocation true or false | Optional Disable automatic invocation true or false | — |
user-invocable | — | Optional Control user invocation true or false | — | — |
argument-hint | — | Optional Invocation UI hint text | — | — |
context | — | Optional Execution context text; one of: fork | — | — |
agent | — | Optional Subagent used with forked context text | — | — |
hooks | — | Optional Skill-scoped hooks object | — | — |
icon | — | — | Optional Cursor presentation metadata text | — |
color | — | — | Optional Cursor presentation metadata text | — |
How the file is read
| Codex CLI | Claude Code | Cursor Agent | pi | |
|---|---|---|---|---|
| Needs a --- frontmatter block | Yes | No; plain Markdown also loads | Yes | Yes |
| Skill name comes from | The name field | The name field, or the folder name if it is missing | The name field | The name field |
| Name must match its folder | Not established | No | Not established | Not established |
| Invalid YAML | Not established | Not established | Not established | A warning, and the skill is skipped |
| Fields it does not know | Not established | Not established | Not established | Ignored |