pluginagentmarketplace/custom-plugin-design-system · Archived

plugin-architecture

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

First seen Jan 24, 2026

Installation

$ npx skills add pluginagentmarketplace/custom-plugin-design-system --skill plugin-architecture

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from pluginagentmarketplace/custom-plugin-design-system.

npx skills add pluginagentmarketplace/custom-plugin-design-system

Browse all from pluginagentmarketplace/custom-plugin-design-system

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,342 B
  • docs SUMMARY.md 166 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 8 installs

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