plugin-architecture

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

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "plugin-architecture" with this command: npx skills add pluginagentmarketplace/custom-plugin-design-system/pluginagentmarketplace-custom-plugin-design-system-plugin-architecture

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

plugin-design

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

plugin-testing

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

plugin-optimization

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

plugin-development

No summary provided by upstream source.

Repository SourceNeeds Review