Skip to content

Skills with Claude Code

Claude Code is a strong environment for skill development because it combines:

  • local filesystem access
  • shell/tool execution
  • iterative editing in-repo
  • agent/subagent workflows

Use both, but for different scopes:

  • CLAUDE.md: always-loaded project memory (architecture, stack, global conventions)
  • SKILL.md: task-specific procedural playbooks loaded when relevant

Use /init to bootstrap project CLAUDE.md, then keep repeatable workflows in .claude/skills/.

  1. Add or install the skill collection you want to use (for example from anthropic/skills).
  2. Verify available skills from inside Claude Code.
  3. Trigger the skill with a clear task prompt.
  4. Review generated file diffs and script outputs.
  5. Refine SKILL.md description/body until activation and output quality are stable.
  • Project-scoped: .claude/skills/<skill-name>/SKILL.md
  • User-scoped: ~/.claude/skills/<skill-name>/SKILL.md

Project skills are ideal for team conventions and should be checked into git.

  • Skills are loaded from disk when Claude Code starts.
  • If you create or edit skills while a session is running, restart Claude Code to pick up changes.
  • Use skill-creator to bootstrap structure quickly.
  • Keep deterministic logic in scripts; keep orchestration logic in SKILL.md.
  • Use subagents in parallel to evaluate multiple skills against the same checklist.
  • Treat skill reviews like code reviews (activation quality, edge cases, output contracts).

A robust development loop in Claude Code:

  1. Use an implementation skill (for example “adding CLI command”)
  2. Use a review skill to check conventions and regressions
  3. Use a test-generation skill to add coverage and run tests

This creates a predictable pipeline for feature work, not just one-off prompting.

Subagents are useful when you want isolated context and parallel workstreams.

  • Configure subagents with /agents (name, description, tools, model, prompt)
  • Assign skills per subagent via the subagent skills field
  • Subagents do not inherit parent conversation skills
  • In subagents, configured skills are preloaded (full skill content is injected at startup)

This makes subagents ideal for dedicated reviewer/tester roles while the main agent focuses on implementation.

Use least privilege:

  • Reviewer subagent: read/search + optional bash
  • Test runner subagent: read/search + edit/write + bash
  • Keep destructive tools restricted unless explicitly needed

Constrained tool access improves safety and keeps delegated behavior focused.

Use the skill-creator skill to evaluate these two skills against best practices:
1) generating-practice-questions
2) analyzing-time-series
Run evaluations in parallel subagents and produce a short scorecard:
- metadata quality
- workflow clarity
- edge-case handling
- output predictability
  • Installing a skill but forgetting to enable/reload it
  • Over-trusting generated scaffolding without domain constraints
  • Leaving script dependencies implicit
  • Validating only happy paths
  • Putting project-wide conventions only in skills instead of CLAUDE.md
  • Assuming subagents inherit parent skills automatically