How to Create a Skill in Claude Code An engineer at broke2builtai.com explains how to create a skill in Claude Code, a feature that allows Claude to autonomously invoke a procedure based on context rather than a user-typed slash command. The skill is defined by a folder with a SKILL.md file containing YAML frontmatter and instructions, and its description is critical for triggering. The post details the setup process and emphasizes writing precise descriptions to ensure the skill fires correctly. This is a cross-post — the original and any updates live at broke2builtai.com . The first time I watched Claude Code reach for a skill I hadn't told it to use — read a folder, run the script inside it, and hand back the finished thing — the difference from a slash command finally landed. A slash command waits for you to type it. A skill waits for the situation . Claude decides. That one shift is the whole feature, and building one takes about five minutes once you know where the file goes. Here's the entire thing end to end, including the one gotcha that decides whether your skill ever actually fires. A Skill is a folder with a SKILL.md file inside it. The Markdown holds instructions; the YAML frontmatter at the top holds a name and a description . That description is doing the most important job in the whole file: Claude reads it to decide, on its own, whether the current task warrants invoking the skill. Nothing else you write matters if the description doesn't get you picked. That's the mental model to hold onto: a custom slash command https://dev.to/guides/how-to-create-a-custom-slash-command-in-claude-code/ is a prompt you trigger by typing /name ; a skill is a procedure Claude triggers when the context matches. Same reusable-instructions idea, opposite trigger. Two locations register, exactly like commands and subagents https://dev.to/guides/how-to-use-subagents-in-claude-code/ : .claude/skills/