Claude Code Skills
Summary
- Skills are structured workflow guides that Claude Code loads and follows automatically or on demand. Three key skills: Superpowers (workflow discipline), Writing Plans (plan-before-code), and NotebookLM (knowledge synthesis from notes).
Key Points
- Skills live in
.claude/skills/(or a configured path) and are invoked via theSkilltool or triggered automatically by hooks. - Skills tell Claude how to approach a task, not just what to do — they enforce process discipline.
- A skill that doesn’t fit the situation can be ignored after invoking; invoking it is what matters (it may reveal it doesn’t apply).
- Skills complement slash commands: commands control the session, skills control behavior.
Superpowers
What It Is
A curated collection of workflow skills (superpowers:*) that enforce structured, disciplined approaches to common development tasks. Covers the full development lifecycle: brainstorming → planning → implementation → testing → review → completion.
Key skills in the family:
| Skill | Purpose |
|---|---|
superpowers:brainstorming | Explore intent and requirements before any implementation |
superpowers:writing-plans | Write a file-based plan before touching code |
superpowers:test-driven-development | Write tests before implementation code |
superpowers:systematic-debugging | Diagnose root cause before proposing a fix |
superpowers:requesting-code-review | Verify work meets requirements before completing |
superpowers:verification-before-completion | Run and confirm output before claiming success |
Scenario
- You ask Claude to “add a new feature” and want it to think through requirements first rather than jumping straight to code.
- You want consistent behavior across sessions (e.g. always brainstorm before building, always debug systematically).
- You notice Claude tends to over-engineer or skip steps — skills prevent this.
How to Use
Skills are loaded automatically via hooks configured in .claude/settings.json. You can also invoke them explicitly by naming them in your prompt, or Claude checks for applicable skills at the start of every task using the using-superpowers entry skill.
The flow:
- User sends a message or task.
- Claude checks if any skill applies (even 1% chance → invoke it).
- Relevant skill loads and Claude follows it exactly (rigid skills) or adapts it (flexible skills).
Example
User: "Add a dark mode toggle to the settings page"
→ superpowers:brainstorming fires first
- Asks: where should toggle live? persist to localStorage or user profile?
- Explores existing theme system before writing any code
→ superpowers:writing-plans (if multi-file)
- Writes plan.md with affected files and steps
- Waits for approval before implementing
Planning with Files
What It Is
The superpowers:writing-plans skill. Before touching any code, Claude writes a structured implementation plan to a Markdown file (e.g. plan.md), presents it for review, and only proceeds after explicit approval. The plan file becomes a persistent record of intent.
Scenario
- The task touches 3 or more files.
- Multiple valid approaches exist and you want to choose before Claude starts coding.
- You want a reviewable artifact before any changes are made (especially useful for large refactors or new features).
- You’re working asynchronously and need to hand off context to another session.
How to Use
- Tell Claude the task. Claude enters plan mode (
EnterPlanMode). - Claude explores the codebase (reads relevant files, searches for patterns).
- Claude writes the plan to a
.mdfile with: goal, affected files, step-by-step actions, trade-offs considered. - Claude calls
ExitPlanMode— you review the plan file and approve or give feedback. - On approval, Claude executes the plan step by step, marking steps complete as it goes.
Use /plan slash command to manually trigger plan mode.
Example
User: "Refactor the auth system to support OAuth"
→ Plan written to plan.md:
## Goal
Replace session-based auth with OAuth 2.0.
## Affected Files
- src/auth/login.py
- src/auth/middleware.py
- src/routes/user.py
- tests/test_auth.py
## Steps
1. Add OAuth provider config to settings
2. Replace login route with OAuth callback handler
3. Update middleware to validate JWT instead of session
4. Update tests
→ User reviews, approves → Claude executes step by step
Related
- AI/Claude Code/index
- AI/Claude Code/Usage of Claude Code
- AI/Claude Code/Slash Commands Reference
- AI/Claude Code/Introduction