Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    pluginagentmarketplace

    plugin-architecture

    pluginagentmarketplace/plugin-architecture
    Design
    1

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Master plugin folder structure, manifest design, and architectural patterns. Learn to organize plugins for scalability and maintainability.

    SKILL.md

    Plugin Architecture

    Quick Start

    A well-structured plugin follows this minimal layout:

    my-plugin/
    ├── .claude-plugin/
    │   └── plugin.json              # Required manifest
    ├── agents/
    │   └── agent.md                 # Agent definition
    ├── skills/
    │   └── skill-name/SKILL.md      # Skill definition
    ├── commands/
    │   └── command.md               # Command definition
    ├── hooks/
    │   └── hooks.json               # Automation hooks
    └── README.md
    

    Plugin Manifest (plugin.json)

    The manifest defines what your plugin does and what it contains.

    {
      "name": "my-plugin",
      "version": "1.0.0",
      "description": "What my plugin does",
      "author": "Your Name",
      "license": "MIT",
      "repository": "https://github.com/user/repo",
      "agents": [
        {
          "name": "agent-id",
          "description": "What it does",
          "file": "agents/agent.md"
        }
      ],
      "commands": [
        {
          "name": "command",
          "file": "commands/command.md",
          "description": "What it does"
        }
      ],
      "skills": [
        {
          "name": "skill-id",
          "file": "skills/skill-id/SKILL.md"
        }
      ],
      "hooks": {
        "file": "hooks/hooks.json"
      }
    }
    

    Manifest Rules

    • name: lowercase-hyphens, 10-50 chars
    • version: semantic (MAJOR.MINOR.PATCH)
    • description: 50-256 characters
    • agents: array of agent definitions
    • commands: array of command definitions
    • skills: array of skill definitions
    • hooks: optional, points to hooks.json

    Agent Structure

    Each agent is a markdown file with YAML frontmatter:

    ---
    description: What this agent does (max 1024 chars)
    capabilities:
      - "Capability 1"
      - "Capability 2"
      - "Capability 3"
    ---
    
    # Agent Name
    
    [Detailed content about what agent does]
    
    ## When to Use
    
    Use this agent when:
    - Need 1
    - Need 2
    - Need 3
    

    Naming Convention

    01-primary-agent.md
    02-secondary-agent.md
    03-tertiary-agent.md
    

    Skill Structure

    Skills provide reusable knowledge and examples.

    skills/
    ├── skill-one/
    │   ├── SKILL.md              # Always named SKILL.md
    │   └── resources/            # Optional: additional files
    │       ├── example.py
    │       └── reference.md
    └── skill-two/
        └── SKILL.md
    

    SKILL.md Format

    ---
    name: skill-unique-id
    description: "What skill teaches (max 1024 chars)"
    ---
    
    # Skill Name
    
    ## Quick Start
    
    [Working code - copy-paste ready]
    
    ## Core Concepts
    
    ### Concept 1
    [Explanation with code]
    
    ### Concept 2
    [More examples]
    
    ## Advanced Topics
    
    [Expert-level content]
    
    ## Real-World Projects
    
    [Practical applications]
    

    Command Structure

    Commands are entry points for users:

    commands/
    ├── create.md
    ├── design.md
    ├── test.md
    └── deploy.md
    

    Command Format

    # /command-name - Brief Description
    
    ## What This Does
    
    [Clear explanation]
    
    ## Usage
    

    /command-name [options]

    
    ## Options
    
    | Option | Description |
    |--------|-------------|
    | `--flag` | What it does |
    
    ## Example
    
    [Sample output]
    
    ## Next Steps
    
    [What to do next]
    

    Hook Configuration

    Hooks automate plugin behavior:

    {
      "hooks": [
        {
          "id": "hook-id",
          "name": "Hook Name",
          "event": "event-type",
          "condition": "condition",
          "action": "action-name",
          "enabled": true
        }
      ]
    }
    

    Architectural Patterns

    Single Responsibility

    Agent 1: Domain A only
    Agent 2: Domain B only
    Agent 3: Domain C only
    

    Layered Architecture

    Commands (User interface)
        ↓
    Agents (Logic & guidance)
        ↓
    Skills (Knowledge & examples)
        ↓
    Hooks (Automation)
    

    Agent Collaboration

    Agent A → asks → Agent B
      ↓
    Links to shared skills
      ↓
    Agent C for final review
    

    File Organization Best Practices

    ✅ Logical grouping
    ├─ All agents together
    ├─ All skills organized
    ├─ All commands grouped
    └─ Config centralized
    
    ✅ Clear naming
    ├─ agents/01-primary.md
    ├─ agents/02-secondary.md
    ├─ skills/skill-one/SKILL.md
    └─ commands/action.md
    
    ✅ Scalable structure
    ├─ Easy to add agents
    ├─ Simple to extend skills
    ├─ Clear command naming
    └─ Organized hooks
    

    Scaling Your Plugin

    From Simple to Complex

    Stage 1: 1 agent, 2 skills, 1 command

    Minimal viable plugin
    

    Stage 2: 3 agents, 5 skills, 3 commands

    Feature-rich plugin
    

    Stage 3: 5-7 agents, 10+ skills, 5+ commands

    Enterprise plugin
    

    Common Mistakes

    ❌ Unclear structure → Use recommended layout ❌ Mixed concerns → One agent = one domain ❌ Missing manifest → Always include plugin.json ❌ Bad naming → Use lowercase-hyphens ❌ No documentation → Document everything


    Use this skill when:

    • Designing plugin structure
    • Creating plugin.json
    • Organizing agents and skills
    • Planning plugin growth

    Status: ✅ Production Ready | SASMP: v1.3.0 | Bonded Agent: 01-plugin-architect

    Recommended Servers
    Vercel Grep
    Vercel Grep
    Draw.io
    Draw.io
    Webflow
    Webflow
    Repository
    pluginagentmarketplace/custom-plugin-design-system
    Files