# Claude Code Skills
> [!abstract] What this note is
> An inventory of every **skill** available when Claude Code opens this vault, and an explanation of how the skills system works. Skills are Markdown instruction files that teach Claude a repeatable procedure; they load on demand, not all at once. Fact-checked against Anthropic's official documentation on 2026-07-10 via a deep-research run (17 sources, every claim verified by three independent adversarial checks); raw report in `.claude/research/`.
## How skills work
A skill is a directory containing a `SKILL.md` file — YAML frontmatter followed by plain-Markdown instructions. All frontmatter fields are optional; only `description` is recommended, because the description is how Claude decides when to invoke the skill (`name` defaults to the directory name). ([docs: Skills](https://code.claude.com/docs/en/skills))
Loading is progressive: at startup only each skill's name and description (~100 tokens) enter Claude's context; the full body loads when the skill is invoked — by the user typing `/skill-name` or by Claude when the task matches — and then persists for the session. This is the opposite of `CLAUDE.md`, which is always in context. ([docs: Skills](https://code.claude.com/docs/en/skills), [platform: Agent Skills overview](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview))
Skills load from four documented levels, with name conflicts resolved enterprise → personal → project, and any of them overriding a same-named bundled skill:
| Level | Where | In this vault |
|---|---|---|
| **Enterprise** | Managed settings | — |
| **Personal** | `~/.claude/skills/` | `session-start-hook` — follows Jeff, not the repo |
| **Project** | `.claude/skills/` | [[#daily-note]], [[#log-entry]], [[#research-to-reference]] — travel with the vault via git |
| **Plugin** | `<plugin>/skills/`, namespaced `plugin:skill` | None installed |
Bundled skills ship with Claude Code itself on top of those levels. Custom slash commands (`.claude/commands/*.md`) still work but are documented as the legacy format — commands and skills have merged into one system, and a skill named `deploy` creates `/deploy` exactly as a command file would. ([docs: Slash commands](https://code.claude.com/docs/en/slash-commands))
> [!warning] Refuted while fact-checking
> Two plausible claims died in adversarial verification and shouldn't be repeated: **(1)** "project skills only load after a workspace trust dialog" — not in the docs; **(2)** "the frontmatter `name` field determines the invocation name, falling back to the directory name" — the docs say the opposite: `name` *defaults to* the directory name, and the general rule is the directory names the skill.
## This vault's skills
### daily-note
Creates a daily journal note for today or any date at `journal/YYYY/MM_MMMM/YYYY-MM-DD dddd.md`, rendering the Templater template's dynamic fields (previous/next wikilinks, created timestamp, ISO week) without Obsidian. Wraps `.claude/scripts/new-daily-note.sh`, which is idempotent and pins the clock to US Eastern.
### log-entry
Appends a timestamped bullet (`- **HH:MM** — text`) to the end of a daily note's `## Log`, creating the note first if needed. For milestone events it also adds a one-liner under the current month in the [[Yearly Log]].
### research-to-reference
Compiles a `deep-research` report into a reference note — inspired by [Andrej Karpathy's LLM knowledge base](https://venturebeat.com/data/karpathy-shares-llm-knowledge-base-architecture-that-bypasses-rag-with-an) (raw sources compiled into a durable wiki), adapted to this vault. The raw report is archived append-only under `.claude/research/` (git-tracked, never published); the compiled note carries each claim's adversarial-verification confidence, records refuted misconceptions instead of deleting them, cites its sources, and links both ways into the vault graph. `vault-check.py` plays the lint step. This note and [[Claude Fable 5]] were its first two products.
## Personal skills
### session-start-hook
Guides the creation of SessionStart hooks — scripts that install dependencies when a Claude Code on the web session starts, so tests and linters work in the fresh container. Lives in `~/.claude/skills/`, so it's available in every repo Jeff opens, not just this one.
## Bundled and built-in skills
Everything below was present in the session that wrote this note. The docs confirm the general mechanism — bundled prompt-based skills ship with Claude Code and can be disabled via the `disableBundledSkills` setting — but their list is explicitly non-exhaustive, so each group below states its evidence.
**Documented as bundled** ([docs: Skills](https://code.claude.com/docs/en/skills), [docs: Slash commands](https://code.claude.com/docs/en/slash-commands)):
- **code-review** — reviews the current diff for correctness bugs and cleanups; can post PR comments or apply fixes.
- **verify** — exercises a code change end-to-end to confirm it behaves as intended, beyond just passing tests.
- **run** — launches the project's app to see a change working live.
- **loop** — runs a prompt or skill on a recurring interval.
- **claude-api** — an always-current reference for the Claude API, consulted instead of answering from memory.
- The docs also name `/doctor`, `/batch`, `/debug`, and `/run-skill-generator`, which didn't surface in this session's skill list.
**Documented as built-in commands exposed through the Skill tool** — fixed-logic commands rather than prompt-based skills ([docs: Skills](https://code.claude.com/docs/en/skills)):
- **init** — generates an initial `CLAUDE.md` for a codebase.
- **review** — reviews a GitHub pull request.
- **security-review** — security-focused review of the branch's pending changes.
**Present in this session but not named in any official doc** — most likely provided by the Claude Code on the web environment or newer than the docs; treat the labels as observed, not official:
- **deep-research** — the fact-checking harness used to verify this very note: parallel web searches, source fetching, three adversarial votes per claim, cited synthesis. Notably *not* documented as a bundled skill.
- **dataviz** — design guidance for charts and dashboards.
- **artifact-design** — design fundamentals for web-page artifacts.
- **update-config** — edits `settings.json` for permissions, env vars, and hooks.
- **keybindings-help** — customizes keyboard shortcuts.
- **fewer-permission-prompts** — builds a permission allowlist from past sessions.
- **simplify** — applies reuse/simplification cleanups to changed code.
> [!info] The list is a snapshot
> Bundled skills come and go with Claude Code releases (some are version-gated — `/run` and `/verify` require v2.1.145+), and the docs' own wording is "including", not "exactly". The project and personal skills only change when someone changes them.
## Sources
1. [Skills — Claude Code docs](https://code.claude.com/docs/en/skills)
2. [Slash commands — Claude Code docs](https://code.claude.com/docs/en/slash-commands)
3. [Skills — Agent SDK docs](https://code.claude.com/docs/en/agent-sdk/skills)
4. [Slash commands — Agent SDK docs](https://code.claude.com/docs/en/agent-sdk/slash-commands)
5. [Plugins reference — Claude Code docs](https://code.claude.com/docs/en/plugins-reference)
6. [Agent Skills overview — Claude platform docs](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview)
7. [Features overview — Claude Code docs](https://code.claude.com/docs/en/features-overview)
## Related
- [[Claude Code Integration]] — how this vault doubles as a Claude Code project
- [[Vault Schema]] — the vault's blueprint, including where `.claude/` fits
- [[Claude Fable 5]] — the model running the sessions that use these skills