home / skills / josiahsiegel / claude-plugin-marketplace / advanced-features-2025
npx playbooks add skill josiahsiegel/claude-plugin-marketplace --skill advanced-features-2025Review the files below or copy the command above to add this skill to your agents.
---
name: advanced-features-2025
description: |
Advanced 2025 Claude Code plugin features. PROACTIVELY activate for:
(1) Agent Skills with progressive disclosure
(2) Hook automation (PreToolUse, PostToolUse, etc.)
(3) MCP server integration
(4) Repository-level configuration
(5) Team plugin distribution
(6) Context efficiency optimization
Provides cutting-edge plugin capabilities and patterns.
license: MIT
---
# Advanced Plugin Features (2025)
## Quick Reference
| Feature | Location | Purpose |
|---------|----------|---------|
| Agent Skills | `skills/*/SKILL.md` | Dynamic knowledge loading |
| Hooks | `hooks/hooks.json` | Event automation |
| MCP Servers | `.mcp.json` | External integrations |
| Team Config | `.claude/settings.json` | Repository plugins |
| Hook Event | When Fired | Use Case |
|------------|------------|----------|
| PreToolUse | Before tool | Validation |
| PostToolUse | After tool | Testing, linting |
| SessionStart | Session begins | Logging, setup |
| SessionEnd | Session ends | Cleanup |
| UserPromptSubmit | Prompt submitted | Preprocessing |
| PreCompact | Before compact | State save |
| Notification | Notification shown | Custom alerts |
| Stop | User stops | Cleanup |
| SubagentStop | Subagent ends | Logging |
| Variable | Purpose |
|----------|---------|
| `${CLAUDE_PLUGIN_ROOT}` | Plugin installation path |
| `${TOOL_INPUT_*}` | Tool input parameters |
## Agent Skills
### Concept
Skills are dynamically loaded based on task context, enabling:
- **Unbounded capacity**: Knowledge split across files
- **Context efficiency**: Only load what's needed
- **Progressive disclosure**: Three-tier loading
### Three-Tier Loading
1. **Frontmatter**: Loaded at startup (triggers)
2. **SKILL.md body**: Loaded on activation
3. **references/**: Loaded when detail needed
### Structure
```
skills/
└── skill-name/
├── SKILL.md # Core content
├── references/ # Detailed docs
│ └── deep-dive.md
├── examples/ # Working code
│ └── example.md
└── scripts/ # Utilities
└── tool.sh
```
### SKILL.md Format
```markdown
---
name: skill-name
description: |
When to activate this skill. Include:
(1) Use case 1
(2) Use case 2
Provides: what it offers
---
# Skill Title
## Quick Reference
[Tables, key points]
## Core Content
[Essential information - keep lean]
## Additional Resources
See `references/` for detailed guidance.
```
## Hooks
### Configuration
**Inline in plugin.json:**
```json
{
"hooks": {
"PostToolUse": [{
"matcher": "Write|Edit",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/lint.sh"
}]
}]
}
}
```
**Separate hooks.json:**
```json
{
"PostToolUse": [{
"matcher": "Write",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",
"timeout": 5000
}]
}]
}
```
### Matchers
- `Write` - File writes
- `Edit` - File edits
- `Bash` - Shell commands
- `Write|Edit` - Multiple tools
- `.*` - Any tool (use sparingly)
### Common Patterns
**Auto-test after changes:**
```json
{
"PostToolUse": [{
"matcher": "Write|Edit",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/run-tests.sh"
}]
}]
}
```
**Validate before Bash:**
```json
{
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/validate-cmd.sh"
}]
}]
}
```
## MCP Server Integration
### Configuration
```json
{
"mcpServers": {
"server-name": {
"command": "node",
"args": ["${CLAUDE_PLUGIN_ROOT}/mcp/server.js"],
"env": {
"API_KEY": "${API_KEY}"
}
}
}
}
```
### External Services
```json
{
"mcpServers": {
"stripe": {
"command": "npx",
"args": ["-y", "@stripe/mcp-server"],
"env": {
"STRIPE_API_KEY": "${STRIPE_API_KEY}"
}
}
}
}
```
## Repository Configuration
### Team Distribution
Create `.claude/settings.json` at repo root:
```json
{
"extraKnownMarketplaces": [
"company/internal-plugins"
],
"plugins": {
"enabled": [
"deployment-helper@company",
"code-standards@company"
]
}
}
```
### Workflow
1. Maintainer creates `.claude/settings.json`
2. Team members clone repo
3. Trust folder when prompted
4. Plugins install automatically
## Best Practices
### Progressive Disclosure
- Keep SKILL.md under 500 lines
- Move details to `references/`
- Use `examples/` for working code
- Reference files with relative paths
### Hooks
- Use specific matchers (avoid `.*`)
- Set reasonable timeouts
- Use `${CLAUDE_PLUGIN_ROOT}` for paths
- Test scripts independently
### MCP
- Document required env vars
- Provide setup instructions
- Use environment variables for secrets
- Test connection before distribution
## Additional Resources
For detailed patterns, see:
- **`references/hooks-advanced.md`** - Complete hook patterns
- **`references/mcp-patterns.md`** - MCP integration examples
- **`references/team-distribution.md`** - Repository configuration
- **`examples/hook-scripts.md`** - Working hook scripts