Skip to content

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.

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:

FieldRequiredDescription
nameYesIdentifier shown in Claude Code’s skill list
descriptionYesClaude uses this to decide when the skill is relevant
toolsNoComma-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-reviewer
description: Reviews code for bugs and quality issues
tools: Read, Grep, Glob
---
You are a code reviewer. Analyze the provided code for bugs,
security issues, and quality improvements.

Auto-setup: Yes Output path:

.cursor/rules/@<scope>/<name>.mdc

File format: Markdown with YAML frontmatter, saved as .mdc (Cursor’s rule format).

Frontmatter fields used:

FieldRequiredDescription
descriptionYesCursor uses this to match the rule to relevant contexts
globsNoFile glob patterns that scope when the rule activates (e.g. **/*.ts)
alwaysApplyNoIf 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.

Auto-setup: Yes Output path:

.windsurf/rules/@<scope>/<name>.md

File format: Markdown with YAML frontmatter.

Frontmatter fields used:

FieldRequiredDescription
descriptionYesUsed for contextual matching
globsNoFile patterns that scope rule activation
alwaysApplyNoControls 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>.md

File format: Markdown with YAML frontmatter.

Frontmatter fields used:

FieldRequiredDescription
descriptionYesUsed for contextual matching
globsNoFile patterns that scope rule activation
alwaysApplyNoControls 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>.md

File 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.

FieldClaude CodeCursorWindsurfKiroCodex
nameUsedIgnoredIgnoredIgnoredIgnored
descriptionUsedUsedUsedUsedIgnored
toolsUsedIgnoredIgnoredIgnoredIgnored
globsIgnoredUsedUsedUsedIgnored
alwaysApplyIgnoredUsedUsedUsedIgnored
PageDescription
Skill package typeManifest fields, capabilities, and package structure
Tool Setup ExplainedDetection, precedence, and the generic setup mechanism
Create a skill packageStep-by-step authoring guide