How to add custom Claude Skills — packaged instructions Claude loads for a specific recurring task (a formatting convention, a checklist, a repo/vault-specific workflow). See [[Using Claude Skills, Artifacts, and Context]] for what a skill *is* conceptually; this note is the practical "how do I add one" walkthrough. ## The core unit: SKILL.md Every skill is a folder containing at minimum a `SKILL.md` file: ``` my-skill/ ├── SKILL.md (required) ├── reference.md (optional — detailed material loaded only when needed) └── scripts/ └── helper.py (optional — executed, not loaded into context) ``` `SKILL.md` has YAML frontmatter, then markdown instructions: ```yaml --- name: my-skill description: What this skill does and when to use it --- Instructions Claude follows when the skill runs. ``` Only `description` is really load-bearing — that's what Claude matches against your request to decide whether to invoke the skill automatically. Keep the body itself lean; once loaded it stays in context for the rest of the conversation, so it's a recurring cost, not a one-time read. ## Where a skill needs to live depends on *which* Claude you're using This is the part that trips people up, and it matters for you specifically since you're working in Cowork, not the Claude Code CLI: | Context | Where skills come from | |---|---| | **Claude Code (CLI, on your own machine)** | `~/.claude/skills/<name>/SKILL.md` (personal, all projects) or `.claude/skills/<name>/SKILL.md` (project-specific) | | **Cowork sessions (this one) and cloud sessions** | Skills **enabled for your claude.ai account**, synced in at session start. Cowork does *not* read `~/.claude/skills/` on your Mac. | | **Plugins** | `<plugin>/skills/<name>/SKILL.md` — namespaced as `plugin-name:skill-name` | So: if you write a `SKILL.md` file and drop it into a folder on your Mac, it will do nothing in a Cowork session like this one unless you separately enable it for your claude.ai account (via **Customize → Skills** in the desktop app, or the skills settings on claude.ai). Writing the file and enabling the account skill are two separate steps. ## Practical path for this vault Given the CLAUDE.md-driven setup already in place here, a skill would make sense for something you do repeatedly that's more procedural than the CLAUDE.md's "facts about the vault" style — e.g. "the digital-garden-summary regeneration routine" (see the `summary_format`/`summary-regeneration-no-about-link` memory notes already governing that), or a filing checklist for triaging INBOX/. Anything that's a standing *fact* about the vault (folder structure, frontmatter patterns) belongs in CLAUDE.md, which already loads on every turn — turning it into a skill would just add a step. Skills earn their keep when the content is long enough that you don't want it loaded on every single turn, only when actually invoked. To create one for Cowork use: 1. Write the `SKILL.md` (and any supporting files) — can be drafted anywhere, including asking Claude to write it in-session. 2. Package/upload it via **Customize → Skills** in the desktop app (or claude.ai skills settings) — this is what makes it visible to a Cowork session. 3. Enable it. 4. Test with a prompt that should trigger the `description`, and check whether Claude actually invoked it (visible in its reasoning) before trusting it. ## Invocation Once available, Claude either invokes a skill automatically (matching your request against its `description`), or you invoke it explicitly by name. In the CLI this is a slash command (`/skill-name`); the underlying trigger logic is the same either way. ## One gap worth flagging I haven't seen anything in this vault about *which* skills you've already enabled for your claude.ai account — if you want this note to also track your actual enabled-skills roster (vs. just the how-to), that's a separate list I'd need you to give me or that I'd need to check with you live, since I can't see your claude.ai account settings from here.