mcpField
A
advanced-features-2025

advanced-features-2025

github.com/josiahsiegelAgent workflows59156 installsUpdated 19w ago
Repository

About advanced-features-2025

This Claude plugin skill guide is for plugin authors and team maintainers. It explains how to organize Agent Skills, hooks, MCP servers, and repository-level settings, with event matching, configuration examples, and team distribution steps.

Key features

  1. 01Load skill content progressively on demand
  2. 02Automate tool events with hooks
  3. 03Configure plugins to use MCP servers
  4. 04Set up repository-level team plugins
  5. 05Use plugin paths and tool input variables

Use cases

  1. 01Run tests or lint after file changes
  2. 02Validate commands before Bash runs
  3. 03Configure and distribute plugins across a team repository
  4. 04Load reference material for a specific task

MCP support

MCP servers can be configured in .mcp.json with commands, arguments, and environment variables. The guide includes setup examples for external services.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill advanced-features-2025

After installing, type/advanced-features-2025in Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

examples/
hook-scripts.md
references/
hooks-advanced.md
mcp-patterns.md
team-distribution.md

Details

From the project README

Advanced Plugin Features (2025)

Quick Reference

FeatureLocationPurpose
Agent Skillsskills/*/SKILL.mdDynamic knowledge loading
Hookshooks/hooks.jsonEvent automation
MCP Servers.mcp.jsonExternal integrations
Team Config.claude/settings.jsonRepository plugins
Hook EventWhen FiredUse Case
PreToolUseBefore toolValidation
PostToolUseAfter toolTesting, linting
SessionStartSession beginsLogging, setup
SessionEndSession endsCleanup
UserPromptSubmitPrompt submittedPreprocessing
PreCompactBefore compactState save
NotificationNotification shownCustom alerts
StopUser stopsCleanup
SubagentStopSubagent endsLogging
VariablePurpose
${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
---
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:

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{
        "type": "command",
        "command": "${CLAUDE_PLUGIN_ROOT}/scripts/lint.sh"
      }]
    }]
  }
}

Separate hooks.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:

{
  "PostToolUse": [{
    "matcher": "Write|Edit",
    "hooks": [{
      "type": "command",
      "command": "${CLAUDE_PLUGIN_ROOT}/scripts/run-tests.sh"
    }]
  }]
}

Validate before Bash:

{
  "PreToolUse": [{
    "matcher": "Bash",
    "hooks": [{
      "type": "command",
      "command": "${CLAUDE_PLUGIN_ROOT}/scripts/validate-cmd.sh"
    }]
  }]
}

MCP Server Integration

Configuration
{
  "mcpServers": {
    "server-name": {
      "command": "node",
      "args": ["${CLAUDE_PLUGIN_ROOT}/mcp/server.js"],
      "env": {
        "API_KEY": "${API_KEY}"
      }
    }
  }
}
External Services
{
  "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:

{
  "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

Comments

Markdown supported