What makes a good skill
Write a skill when you have a repeatable process that your team does regularly and that has known pitfalls. Skills work best when they are:- Focused: covers one specific workflow, not an entire domain
- Actionable: gives the agent concrete steps to follow
- Maintainable: small enough that one team can keep it up to date
- “How to create a database migration” (step-by-step with validation checks)
- “How to set up a new data pipeline” (template files + configuration)
- “How to troubleshoot BigQuery query performance” (diagnostic steps + common fixes)
- Catch-all skills that try to cover everything about one topic
- One-off tasks better served by a prompt
Skill format
A skill is a directory containing aSKILL.md file and optionally other supporting files:
SKILL.md
TheSKILL.md file is the entry point. It starts with YAML frontmatter describing the skill’s metadata, followed by the instruction body:
SKILL.md frontmatter fields
Supporting files in the skill directory are loaded into the agent’s context alongside
SKILL.md, giving the agent access to templates, schemas, and reference material.
How skills are discovered
Skills are automatically discovered by AI Explorer’s entity providers — nocatalog-info.yaml is required. The providers scan configured GitHub organizations for any file named SKILL.md. Metadata is extracted from the SKILL.md frontmatter (name and description are required), and ownership falls back to CODEOWNERS if not specified in the frontmatter.
Simply commit a SKILL.md file to any directory in a scanned repository and AI Explorer will pick it up on its next scan.
Optional: catalog-info.yaml override
If acatalog-info.yaml is placed as a sibling to SKILL.md (in the same directory, not at the repo root), it can override the entity metadata. The catalog-info.yaml must define an AiContext entity with apiVersion: spotify.net/v1alpha1. This is an advanced override mechanism — most teams won’t need it.