Skill structure
A Skill usesSKILL.md as its entry point and follows the Agent Skills format. Startup primarily loads names and descriptions; the model reads full instructions when relevant, avoiding unnecessary context usage.
Creating a Skill
Save as~/.stepcode/agent/skills/api-review/SKILL.md:
references/checklist.md under the same Skill directory. Run /reload, then /skill:api-review. Skills with scripts can execute local commands; load only trusted sources.
Use this initial content for references/checklist.md:
Invocation
enableSkillCommands is enabled by default and registers /skill:<name>. Arguments are appended to the Skill content as User: <arguments>.
The model may use description to decide when to read a Skill, but automatic selection is not guaranteed. Use the slash command when you need an explicit workflow. disable-model-invocation: true disables automatic discovery.
Reusing Skills from other tools
~/.codex/skills need to be added to the skills array; Claude and Step directories are discovered automatically and do not need to be repeated. Adding a directory does not copy files. Review referenced commands, paths, model capabilities, and tool names for assumptions specific to another tool.
See Agents and subagents for defining and invoking subagents.
Locations
Skills can be loaded from these locations:
Project
.agents/skills/ and .claude/skills/ discovery walks upward to the Git root. The directories above are discovered automatically and do not need to be repeated in the skills array; non-default directories such as ~/.codex/skills still require the skills array in config.toml.
See Plugins and packages for installing and distributing resource packages.
File format
Directory structure
SKILL.md to reference package files. scripts/ and references/ are optional.
Frontmatter fields
Validation rules
Step Code issues warnings for uppercase letters, leading or trailing hyphens, consecutive hyphens, and overlong names, but still loads the Skill. Missingdescription prevents loading. For duplicate names, Step Code keeps the first Skill and issues a warning. Unknown frontmatter fields are ignored.
Fix naming and length issues for cross-tool reuse. A Skill’s tool declaration does not replace Step Code permissions.
