Skip to main content

Claude Code Plugin — Smithers Skill

Ghost doc — This is a real Claude Code plugin found at ~/.claude/plugins/smithers/ on the development machine. It registers the smithers skill so Claude Code knows how to create and run Smithers workflows.

plugin.json

{
  "name": "smithers",
  "version": "0.1.0",
  "description": "Build AI agents with declarative JSX for Claude orchestration",
  "author": "William Cory",
  "license": "MIT",
  "repository": "https://github.com/evmts/smithers",
  "keywords": ["orchestration", "multi-agent", "workflow", "ai-agents", "claude", "jsx"],
  "skills": ["skills/smithers"]
}

SKILL.md — Core Skill Definition

The skill document teaches Claude Code how to use Smithers:
---
name: smithers-orchestrator
description: Create and monitor multi-agent AI orchestrations using Smithers framework.
allowed-tools: [Read, Write, Edit, Bash, Glob, Grep, Task]
user-invocable: true
recommend-plan-mode: true
---

# Smithers Orchestrator

## When to Use
- Orchestrate multiple AI agents working together
- Create complex multi-phase workflows
- Build agent pipelines with state management

## Quick Start
1. Define schemas with `createSmithers({ output: z.object({...}) })`
2. Create agents with `new Agent({ model, instructions })`
3. Build workflow with `smithers((ctx) => <Workflow>...</Workflow>)`
4. Run with `smithers run workflow.tsx --input '{}'`

EXAMPLES.md — Working Examples

The plugin includes 5 complete workflow examples:
  1. Simple Sequential Workflow — Three-phase research/implement/test pipeline
  2. Conditional Branching — Branches based on analysis results
  3. Parallel Execution — Frontend/backend/database agents running simultaneously
  4. Error Handling and Retry — Automatic retry with recovery fallback
  5. Data Flow Between Phases — Requirements/design/implement/test with structured data passing

REFERENCE.md — API Reference

Documents all core components:
ComponentPurpose
<Workflow>Root component — defines a named workflow
<Task>Executes an agent or static payload, persists structured output
<Sequence>Runs children sequentially
<Parallel>Runs children concurrently with optional maxConcurrency
<Branch>Conditional rendering — if/then/else
<Loop>Loop controller — iterates until condition or maxIterations

What This Demonstrates

  • Claude Code plugin system — A plugin.json + skills/ directory registers custom capabilities with Claude Code.
  • Skill metadataallowed-tools, user-invocable, and recommend-plan-mode control how Claude Code uses the skill.
  • Self-documenting patterns — The skill document teaches the LLM both the API and the architectural patterns.