Skills
Skill packages provide focused AI capabilities like code review, test generation, or documentation writing. Each tool consumes skill definition files differently. This page documents what APKG writes and how each tool uses it.
For general information about skill packages, see Skill package type. For the generic setup mechanism, see Tool Setup Explained.
Claude Code
Section titled “Claude Code”Auto-setup: Yes Output path:
.claude/skills/@<scope>/<name>/Example: @acme/code-reviewer creates .claude/skills/@acme/code-reviewer/.
File format: Markdown with YAML frontmatter.
Frontmatter fields used:
| Field | Required | Description |
|---|---|---|
name | Yes | Identifier shown in Claude Code’s skill list |
description | Yes | Claude uses this to decide when the skill is relevant |
tools | No | Comma-separated list of tools the skill needs (e.g. Read, Grep, Glob) |
Behavior: The prompt body (everything after the frontmatter) becomes the skill’s instructions. Claude Code loads the skill when its description matches the user’s request. The tools field tells Claude which tools to request when executing the skill.
Fallback: If no definition files are found in the package, APKG generates a summary file from the manifest’s description and skill.capabilities fields.
Example output:
---name: code-reviewerdescription: Reviews code for bugs and quality issuestools: Read, Grep, Glob---
You are a code reviewer. Analyze the provided code for bugs,security issues, and quality improvements.Cursor
Section titled “Cursor”Auto-setup: Yes Output path:
.cursor/rules/@<scope>/<name>.mdcFile format: Markdown with YAML frontmatter, saved as .mdc (Cursor’s rule format).
Frontmatter fields used:
| Field | Required | Description |
|---|---|---|
description | Yes | Cursor uses this to match the rule to relevant contexts |
globs | No | File glob patterns that scope when the rule activates (e.g. **/*.ts) |
alwaysApply | No | If true, the rule is always active. If false, Cursor applies it contextually based on the description |
Behavior: Skills are mapped to Cursor’s rule system. The definition file content becomes a project rule that Cursor loads when the description matches the current context. Cursor does not use the tools frontmatter field — it manages tool access internally.
Key difference from Claude Code: Cursor has no separate “skill” concept. Skills become rules that are contextually activated based on the description or glob patterns.
Windsurf
Section titled “Windsurf”Auto-setup: Yes Output path:
.windsurf/rules/@<scope>/<name>.mdFile format: Markdown with YAML frontmatter.
Frontmatter fields used:
| Field | Required | Description |
|---|---|---|
description | Yes | Used for contextual matching |
globs | No | File patterns that scope rule activation |
alwaysApply | No | Controls whether the rule is always loaded |
Behavior: Similar to Cursor — skills map to Windsurf’s rule system. The content is loaded as contextual instructions that Windsurf applies based on the description and file patterns.
Auto-setup: Yes Output path:
.kiro/rules/@<scope>/<name>.mdFile format: Markdown with YAML frontmatter.
Frontmatter fields used:
| Field | Required | Description |
|---|---|---|
description | Yes | Used for contextual matching |
globs | No | File patterns that scope rule activation |
alwaysApply | No | Controls auto-loading behavior |
Behavior: Skills map to Kiro’s steering rules. The definition file content is loaded as project-level guidance that Kiro applies based on context.
Auto-setup: Yes Output path:
AGENTS.md (appended) or .codex/@<scope>/<name>.mdFile format: Markdown. Codex reads AGENTS.md at the project root as its primary instruction source.
Behavior: Skill content is appended to AGENTS.md or placed in the .codex/ directory. Codex treats all instructions as agent-level context — there is no separate skill/rule distinction. The tools and description frontmatter fields are not used by Codex directly; the prompt body is what matters.
Key difference: Codex has the flattest model — all package types end up as instructions in a single context. This makes skills less granular than in Claude Code but ensures they are always available.
Frontmatter comparison
Section titled “Frontmatter comparison”| Field | Claude Code | Cursor | Windsurf | Kiro | Codex |
|---|---|---|---|---|---|
name | Used | Ignored | Ignored | Ignored | Ignored |
description | Used | Used | Used | Used | Ignored |
tools | Used | Ignored | Ignored | Ignored | Ignored |
globs | Ignored | Used | Used | Used | Ignored |
alwaysApply | Ignored | Used | Used | Used | Ignored |
Related pages
Section titled “Related pages”| Page | Description |
|---|---|
| Skill package type | Manifest fields, capabilities, and package structure |
| Tool Setup Explained | Detection, precedence, and the generic setup mechanism |
| Create a skill package | Step-by-step authoring guide |