Skip to content
OpenSmartRoute
Skillv1.0.0

clade-reference-architecture

Build Claude Code plugins — skills, agents, MCP servers, hooks, and slash commands. Use when working with reference-architecture patterns. The complete guide to extending Claude Code with the Anthropi

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (plugins/saas-packs/claude-pack/skills/clade-reference-architecture/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill clade-reference-architecture. Copyright stays with the author (MIT).

Claude Code Plugin Architecture

Overview

Claude Code has a plugin system with 4 extension points: skills (auto-activating knowledge), commands (slash commands), agents (specialized sub-agents), and MCP servers (tool providers). This skill covers building all four.

Prerequisites

  • A supported Claude Code environment and an isolated plugin workspace
  • A declared ownership boundary for filesystem, network, and credential access
  • Validation tooling for manifests, skill metadata, commands, agents, and MCP
  • A rollback plan that can disable a plugin without deleting user state

Instructions

Start with the smallest extension point that meets the requirement, declare only the tools and permissions it needs, and validate it locally before adding it to a marketplace or shared environment. Test discovery, activation, failure, and rollback paths; do not expose secrets through examples, environment files, logs, or MCP response payloads.

Plugin Structure

my-plugin/
├── .claude-plugin/
│   └── plugin.json          # Required: name, version, description, author
├── skills/
│   └── my-skill/
│       └── SKILL.md          # Auto-activating skill
├── commands/
│   └── my-command.md         # Slash command (/my-command)
├── agents/
│   └── my-agent.md           # Custom agent
└── README.md

Building a Skill (SKILL.md)

---
name: my-skill
description: |
  When to activate this skill. Include trigger phrases so Claude
  knows when to use it. Be specific about the problem it solves.
allowed-tools: Read, Write, Edit, Bash(npm:*)
version: 1.0.0
author: Your Name <you@example.com>
license: MIT
compatible-with: claude-code
tags: [category, topic]
---

# Skill Title

## Overview
What this skill does and when to use it.

## Prerequisites
- Claude Code installed
- Understanding of Markdown and YAML frontmatter
- For MCP servers: Node.js 18+ and `@modelcontextprotocol/sdk`

## Instructions
Step-by-step instructions Claude follows when this skill activates.

### Step 1: Do the thing
Explain what to do with code examples.

## Output
What the user should expect when this skill runs.

## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| ... | ... | ... |

Building a Slash Command

---
name: my-command
description: "Run my custom workflow"
user-invocable: true
argument-hint: "<file-path>"
allowed-tools: Read, Write, Edit, Bash(npm:*)
version: 1.0.0
---

# /my-command

When the user runs `/my-command <file-path>`, do the following:

1. Read the file at $ARGUMENTS
2. Analyze it for issues
3. Report findings

Building an Agent

---
name: my-agent
description: "Specialized agent for code review"
capabilities: ["code-review", "security-audit"]
model: sonnet
maxTurns: 10
---

# Code Review Agent

You are a code review specialist. When invoked:
1. Read the files provided
2. Check for security issues, code quality, and performance
3. Report findings with specific line references

Building an MCP Server

// src/index.ts
#!/usr/bin/env node
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server({ name: 'my-tools', version: '1.0.0' }, {
  capabilities: { tools: {} },
});

server.setRequestHandler('tools/list', async () => ({
  tools: [{
    name: 'search_docs',
    description: 'Search documentation for a query',
    inputSchema: {
      type: 'object',
      properties: { query: { type: 'string' } },
      required: ['query'],
    },
  }],
}));

server.setRequestHandler('tools/call', async (request) => {
  if (request.params.name === 'search_docs') {
    const results = await searchDocs(request.params.arguments.query);
    return { content: [{ type: 'text', text: JSON.stringify(results) }] };
  }
});

const transport = new StdioServerTransport();
await server.connect(transport);

Hooks

// .claude/settings.json
{
  "hooks": {
    "pre-tool-call": [{
      "matcher": "Edit",
      "command": "echo 'About to edit a file'"
    }],
    "post-tool-call": [{
      "matcher": "Bash",
      "command": "echo 'Bash command completed'"
    }]
  }
}

Path Variables

Variable Context Resolves To
${CLAUDE_SKILL_DIR} Skills (bash/DCI) Skill's directory
${CLAUDE_PLUGIN_ROOT} Hooks Plugin root directory
${CLAUDE_PLUGIN_DATA} Persistent state Survives updates
$ARGUMENTS Commands User-provided args

Error Handling

Condition Response
Manifest or metadata validation fails Stop installation, correct the declared contract, and rerun validation.
Plugin requests unapproved capability Remove or narrowly justify the capability before release.
MCP server fails or returns malformed data Fail closed, redact diagnostic output, and preserve a correlation ID.
Upgrade changes plugin behavior Disable or pin the new version and restore the last tested release.

Output

Produce a plugin architecture record identifying the chosen extension point, manifest version, declared tools/permissions, test evidence, release owner, and rollback procedure. Treat a rendered example as illustrative only; the validated manifest and runtime behavior are the operative contract.

Examples

See Building a Skill (SKILL.md), Building a Slash Command, Building an Agent, Building an MCP Server, and Hooks configuration examples above.

Resources

Next Steps

See clade-multi-env-setup for managing plugins across environments.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-clade-referen-137691/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-clade-referen-137691.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-clade-referen-137691",
  "kind": "skill",
  "name": "clade-reference-architecture",
  "description": "Build Claude Code plugins — skills, agents, MCP servers, hooks, and slash commands. Use when working with reference-architecture patterns. The complete guide to extending Claude Code with the Anthropic plugin system. Trigger with \"claude code plugin\", \"build a skill\", \"create mcp server\", \"anthropic plugin architecture\", \"claude code hooks\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "saas",
      "anthropic",
      "claude-code",
      "plugins",
      "skills",
      "mcp",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Build Claude Code plugins — skills, agents, MCP servers, hooks, and slash commands. Use when working with reference-architecture patterns. The complete guide to extending Claude Code with the Anthropic plugin system. Trigger with \"claude code plugin\", \"build a skill\", \"create mcp server\", \"anthropic plugin architecture\", \"claude code hooks\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "plugins/saas-packs/claude-pack/skills/clade-reference-architecture/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/plugins/saas-packs/claude-pack/skills/clade-reference-architecture/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/plugins/saas-packs/claude-pack/skills/clade-reference-architecture/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Write,",
      "Edit,",
      "Bash(npm:*)"
    ],
    "license": "MIT"
  },
  "instructions": "# Claude Code Plugin Architecture\n\n## Overview\n\nClaude Code has a plugin system with 4 extension points: **skills** (auto-activating knowledge), **commands** (slash commands), **agents** (specialized sub-agents), and **MCP servers** (tool providers). This skill covers building all four.\n\n## Prerequisites\n\n- A supported Claude Code environment and an isolated plugin workspace\n- A declared ownership boundary for filesystem, network, and credential access\n- Validation tooling for manifests, skill metadata, commands, agents, and MCP\n- A rollback plan that can disable a plugin without deleting user",
  "cost": {
    "context_tokens": 1458
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-clade-referen-137691/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.