#7dayAISchallenge — Day 3: Skills 👩🏻🍳
Spent today learning about Claude Skills. Built one following the day 3 instructions, then rebuilt it through Anthropic's skill-creator to see what it does under the hood. Sharing the stuff that wasn't obvious to me going in. 👇 1. The description is the trigger contract. Not the body. 🎯 This was the biggest unlock for me. Claude only sees a skill's name + description at conversation start. The body isn't loaded until after the skill is picked. Which means: a strong body with a vague description will rarely fire. A simpler body with a sharp description gets used reliably. 2. Some description-writing rules that actually help ✍️ - Start with e.g. "Use when..." frames it as user intent, not capability - List the actual phrases users type (synonyms matter) - Add negative space: "even if they don't explicitly say X". This catches paraphrased asks - Keep it short. Descriptions are loaded every turn for every skill, so tokens add up - Skip the marketing. "Best-in-class image generator" doesn't help Claude match anything 3. Two skills with overlapping descriptions = unstable triggering ⚠️ If two skills can both match the same prompt, Claude just picks one and it's not consistent across conversations. One skill should own a trigger surface. If you've got a v1 and v2 hanging around, delete v1. 4. The body plays by different rules 📋 Once a skill fires, the body is the playbook. Different rules from the description: - Write imperatively not descriptive: "Confirm the prompt" not "This skill confirms prompts". Claude is reading the body to decide what to do. "This skill confirms prompts" is a description of behavior where Claude has to translate it into an action. "Confirm the prompt" already is the action. Less ambiguity, less room to interpret it as flavor text. - Rule of thumb: imperative when the model should follow the text (skill bodies, system prompts, user prompts). Descriptive when the model is deciding whether to use the text (skill descriptions, tool definitions). - Number the steps. Claude follows them in order - If your reference docs are long, put them in a separate file so the body stays scannable - Spell out failure modes. "If the API returns 429, wait and retry once" beats "handle errors"