A skill that never opens might as well not exist. Cursor decides from the YAML description. If that line is “Helps with frontend,” it will lose to every other file.
Description
Say what it does and when to use it, with verbs:
Good: “Audit a UI for generic AI aesthetics and rewrite the worst screens. Use when the user asks to polish or remove slop.”
Bad: “Frontend helper.”
Body
Keep it a procedure: inputs, steps in order, guardrails, what done looks like. Do not paste a style guide into a skill. Standing constraints belong in a rule.
Files
Save to .cursor/skills/<kebab-name>/SKILL.md. Optional reference.md is for details the agent should read only after it decides the skill applies.
The write-cursor-skill kit on this site is the checklist we use on our own files.