← ClaudeAtlas

claude-code-expertiselisted

Expert map of Claude Code's extension surfaces for authoring and debugging extenders — skills, subagents, hooks, commands, plugins, marketplaces, MCP servers, and settings/permissions contracts. Use to decide which surface fits a need, to look up a surface's frontmatter or config contract, to author or debug a skill, subagent, hook, command, or plugin, or to answer how any Claude Code extension surface works. Not for changing settings, permissions, or hook wiring in a project - that is claude-code-config.
hsb3/dotfiles-agents · ★ 0 · AI & Automation · score 73
Install: claude install-skill hsb3/dotfiles-agents
# Claude Code Expertise Claude Code is extensible through a small set of **distinct surfaces**, each with its own contract, file location, and trigger model. The hardest part of extending it is usually not authoring — it is picking the *right* surface for a need. This skill is the **map**: which surface, which contract, what's idiomatic. It complements the official skill-authoring and plugin-authoring builders (they scaffold and validate a chosen surface); it does not restate their job — reach for a builder once this map has told you which surface you're building. Claude Code moves quickly. Treat contracts below as accurate to the `verified` date; when a field is rejected or a path is ignored, check the current official docs before assuming a bug. ## Surface-selection decision table Start here. Match the need to the surface, then open the matching reference for the contract. | You want to… | Surface | Why this one, not the others | |---|---|---| | Give the model reusable know-how / a procedure it pulls in **on demand** when a task matches | **Skill** | Model-invoked by description match; loads only when relevant. Not a command (no user keystroke) and not an agent (same context, no separate tool budget). | | Run **deterministic code** automatically at a lifecycle moment (before/after a tool, on session start, on stop) | **Hook** | Only surface that executes on an event without the model choosing to. A skill can't fire on an event; a command needs a user to type it. | | Of