Claude-skill-registry claude-code-capabilities
Comprehensive guide to Claude Code's extensibility features including subagents, skills, plugins, commands, hooks, MCP servers, permissions, and automation. Use when the user asks about Claude Code features, capabilities, customization, extensibility, how to extend Claude Code, or automation workflows.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/claude-code-capabilities" ~/.claude/skills/majiayu000-claude-skill-registry-claude-code-capabilities && rm -rf "$T"
skills/data/claude-code-capabilities/SKILL.mdClaude Code Capabilities
This skill provides a comprehensive overview of all Claude Code extensibility features and capabilities. Use this as your starting point to discover what Claude Code can do, then dive into specific documents for detailed implementation guidance.
Overview
Claude Code is a powerful AI-powered development tool that can be customized and extended in many ways. This skill covers all the ways you can enhance and automate your Claude Code experience.
Core Capabilities
1. Extending Claude's Capabilities
Skills - Model-invoked modular capabilities that Claude autonomously uses
- Package expertise into discoverable capabilities
- Auto-activation based on context
- Share across projects and teams
- See skills.md for details
Plugins - Packaged extensions with commands, agents, skills, and hooks
- Distribute multiple features together
- Install from marketplaces
- Create organizational plugin catalogs
- See plugins.md for details
2. Task Delegation
Subagents - Specialized AI assistants for specific tasks
- Dedicated context window per subagent
- Custom system prompts and tool access
- Automatic or manual invocation
- Perfect for focused, repeatable tasks
- See subagents.md for details
Headless Mode - Programmatic Claude Code execution
- Run Claude Code from scripts
- No interactive UI
- JSON output for automation
- Multi-turn conversations
- See headless.md for details
3. Automation
Hooks - Event-driven shell commands
- Execute commands at lifecycle events
- PreToolUse, PostToolUse, SessionStart, etc.
- Automatic formatting, validation, logging
- Custom permission checks
- See hooks.md for details
GitHub Actions - CI/CD integration
- AI-powered PR reviews
- Automated issue resolution
mention triggers@claude- Custom workflows
- See github-actions.md for details
4. Customization
Slash Commands - Custom user-invoked commands
- Stored prompts for frequent tasks
- Project and personal commands
- Arguments and file references
- Bash execution support
- See commands.md for details
Configuration - Fine-grained settings control
- Environment variables
- Model selection
- Permission modes
- Sandbox settings
- See configuration.md for details
5. Integration
MCP Servers - External tool integration
- Connect to APIs and services
- Remote and local servers
- OAuth authentication
- Tools, resources, and prompts
- See mcp.md for details
Permissions - Security and access control
- Tool-level permissions
- File access controls
- Directory restrictions
- Enterprise policies
- See permissions.md for details
Common Use Cases
Development Workflows
Automated code review
- Create a code-reviewer subagent (subagent-examples.md)
- Add a PostToolUse hook to trigger reviews (hook-examples.md)
- Use GitHub Actions for PR automation (github-actions.md)
Testing automation
- Create a test-runner subagent
- Add a command for running specific test suites
- Use hooks to auto-run tests after code changes
Code formatting
- Add PostToolUse hooks for formatters (Prettier, Black, gofmt)
- Configure per-language formatting rules
- See hook-examples.md
Team Collaboration
Shared workflows
- Create project-level commands in
.claude/commands/ - Define team subagents in
.claude/agents/ - Package everything as a plugin for easy distribution
Onboarding
- Create CLAUDE.md with project context
- Add project-specific commands for common tasks
- Configure permissions for safe exploration
Security and Compliance
Access control
- Use deny rules to protect sensitive files
- Configure Bash command permissions
- Set up enterprise policies
- See permissions.md
Audit logging
- Add PreToolUse hooks to log commands
- Track file modifications
- Monitor tool usage
- See hook-examples.md
Integration and Automation
Connect to external services
- Add MCP servers for GitHub, Jira, Slack, etc.
- Configure authentication
- Control tool permissions
- See mcp.md
Headless automation
- Use
for scriptingclaude -p - Parse JSON output
- Chain multi-turn conversations
- See headless.md
Getting Started by Use Case
I want to...
...automate repetitive tasks → Start with commands.md to create custom slash commands
...add specialized AI behavior → Start with subagents.md to create task-specific assistants
...run code automatically (formatting, testing) → Start with hooks.md for event-driven automation
...package and share customizations → Start with plugins.md to bundle everything together
...connect to external tools/APIs → Start with mcp.md to integrate with services
...control what Claude can access → Start with permissions.md for security
...run Claude Code from scripts → Start with headless.md for programmatic usage
...integrate with CI/CD → Start with github-actions.md for workflow automation
Feature Comparison
When to use what?
Skills vs. Subagents vs. Commands
| Feature | Skills | Subagents | Commands |
|---|---|---|---|
| Invocation | Model-invoked (automatic) | Model or user-invoked | User-invoked (explicit) |
| Context | Main conversation | Separate context | Main conversation |
| Use case | Extend capabilities | Specialized tasks | Stored prompts |
| System prompt | No (uses main) | Yes (custom) | No (uses main) |
| Tool restrictions | Optional | Yes | Optional |
Hooks vs. MCP Tools
| Feature | Hooks | MCP Tools |
|---|---|---|
| Purpose | Automation on events | External tool integration |
| Language | Shell commands | Server implementation |
| Timing | Event-driven | On-demand |
| Use case | Formatting, logging, validation | API access, data retrieval |
Best Practices
Organization
- Start simple: Begin with commands or skills before building complex plugins
- Project vs. personal: Use
for team-shared,.claude/
for personal~/.claude/ - Version control: Check in project-level customizations to share with team
- Documentation: Document your customizations in README or CLAUDE.md
Security
- Least privilege: Grant minimal permissions needed
- Protect secrets: Use deny rules for
and credential files.env - Review hooks: Hooks run automatically - review code carefully
- Enterprise policies: Use managed settings for organization-wide controls
Performance
- Limit subagent use: Each invocation starts fresh - adds latency
- Hook timeouts: Set timeouts to prevent hanging
- Focused skills: Keep skills specific for better discovery
- Cache where possible: Use SessionStart hooks for one-time setup
Reference Documentation
Deep Dives
- subagents.md - Creating and managing custom subagents
- skills.md - Creating and managing skills
- plugins.md - Plugin system overview
- commands.md - Custom slash commands
- hooks.md - Event-driven automation
- mcp.md - MCP server integration
- permissions.md - IAM and permissions
- configuration.md - Settings and configuration
- headless.md - Programmatic usage
- github-actions.md - GitHub Actions integration
- output-styles.md - Output styles (deprecated)
- cli-reference.md - CLI commands and flags
Examples
- examples/subagent-examples.md - Practical subagent examples
- examples/hook-examples.md - Hook configuration examples
- examples/plugin-examples.md - Plugin development examples
Quick Reference
Essential Commands
# Interactive commands /agents # Manage subagents /hooks # Configure hooks /mcp # Manage MCP servers /permissions # View/edit permissions /config # Open settings /plugin # Manage plugins # CLI usage claude -p "query" # Headless mode claude --agents '{...}' # Dynamic subagents claude --allowedTools "Bash,Read" # Restrict tools claude --permission-mode plan # Plan mode (read-only)
Configuration Files
~/.claude/ # User-level ├── settings.json # User settings ├── mcp.json # MCP servers ├── agents/ # User subagents ├── commands/ # User commands └── skills/ # User skills .claude/ # Project-level ├── settings.json # Project settings (shared) ├── settings.local.json # Local settings (gitignored) ├── agents/ # Project subagents ├── commands/ # Project commands └── skills/ # Project skills .mcp.json # Project MCP servers CLAUDE.md # Project memory/instructions
Need Help?
When you have questions about Claude Code capabilities:
- Quick lookup: Use this SKILL.md to find the right topic
- Deep dive: Read the specific document for detailed information
- Examples: Check the examples/ folder for practical code
- Ask Claude: I can help you implement any of these features!
Next Steps
Based on your needs:
- New to Claude Code? Start with configuration.md and commands.md
- Want automation? Read hooks.md and examples/hook-examples.md
- Building for teams? Check plugins.md and permissions.md
- Need integration? Explore mcp.md and headless.md