Skip to content

Anatomy of a skill

skills/aso/aso-keyword-research/
├── SKILL.md        # the skill: frontmatter + guide + prompt (required)
├── assets/         # files the user copies: sheets, templates
├── references/     # long background an agent loads only when needed
└── scripts/        # small helpers, Python standard library only

Why a folder and not a single .md file? A folder that contains a SKILL.md follows the open Agent Skills format. The same folder reads as a guide on GitHub and installs into Claude Code, Codex, Cursor, Gemini CLI and other agents.

Why is description so important? An agent sees only name + description until it decides to load a skill. If the description doesn't include the words people actually use ("ASO keywords", "no one finds my app"), the skill never gets used.

Why the <area>- prefix? People install skills from many repos side by side. A bare name like keyword-research could collide with another repo's skill. aso-keyword-research won't.

Why four backticks around prompts? Prompts often contain code blocks. A three-backtick fence inside a three-backtick fence breaks the page on GitHub.