Skip to content

chore: improve claude plugin structure for easier adding#1801

Merged
simplesagar merged 23 commits into
mainfrom
feat/claude-code-plugin
Jan 16, 2026
Merged

chore: improve claude plugin structure for easier adding#1801
simplesagar merged 23 commits into
mainfrom
feat/claude-code-plugin

Conversation

@simplesagar

@simplesagar simplesagar commented Jan 16, 2026

Copy link
Copy Markdown
Member

Summary

  • Move skills from .claude-plugin/skills/ to repo root skills/
  • Convert skill files from *.md to */SKILL.md directory structure
  • Remove explicit skills array from plugin.json (now auto-discovered)

This follows Claude Code's expected plugin structure where each skill is a directory containing a SKILL.md file.

Test plan

  • Install plugin using /plugin marketplace add speakeasy-api/speakeasy#feat/claude-code-plugin
  • Run /plugin install speakeasy
  • Verify skills are available (e.g., /validate-openapi-spec)

🤖 Generated with Claude Code

simplesagar and others added 20 commits January 10, 2026 11:31
Adds a complete Claude Code plugin for AI-assisted SDK generation:

- Native Go MCP server (`speakeasy mcp serve`) exposing CLI tools
- Plugin structure with slash commands, agents, skills, and hooks
- 9 MCP tools: generate, lint, suggest, run, quickstart, overlay, merge, status
- Best practices guidance for OpenAPI and SDK design

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove speakeasy_generate MCP tool
- Remove /speakeasy-generate slash command
- Update README and agents to use quickstart + run workflow
- Encourages proper workflow-based SDK generation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove redundant Hidden: false (default value)
- Reorder type definitions for better readability
- Remove init() schema validation (runtime panics aren't ideal)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Based on feedback that Claude Code already calls CLIs reliably:
- Remove Go MCP server (cmd/mcp/)
- Remove plugin agents, commands, hooks
- Replace with SKILLS.md troubleshooting guidance

Skills are triggered by error patterns and provide:
- Decision frameworks (overlay vs ask user)
- Error pattern recognition
- Strategy guidance for complex issues

This approach helps Claude know when to use overlays for small
fixes vs when to escalate to the user for structural issues.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Enables installation via:
claude /install github:speakeasy-api/speakeasy/plugins/claude-code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Skills now cover:
- Core commands: quickstart, run, lint, suggest, status
- Overlay & merge: create, apply, merge
- Troubleshooting: generation failures, validation errors, operation IDs

Each skill includes command syntax, examples, and decision guidance.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Plugin covers both normal CLI operations and troubleshooting,
not just troubleshooting.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove Swift from supported targets (not available)
- Replace lint && run with `speakeasy run --output console` for AI
- Add guidance for piping to grep/tail to reduce context
- Expand overlay capabilities (can fix specs, add endpoints)
- Update naming conventions to show grouped SDK pattern
  (sdk.users.list() instead of listUsers)
- Update overlay examples to use group + verb pattern

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changed skill index format to table with "Use when..." descriptions
that match how users actually phrase problems/requests.

Based on Daniel's feedback about how Claude's skill discovery works -
it matches based on description, so descriptions should reflect user
problem statements rather than what the document does.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Claude Code requires YAML frontmatter to recognize and load skill files.
Added description frontmatter so Claude knows when to load this skill.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added marketplace.json for plugin marketplace installation
- Split monolithic SKILLS.md into 11 individual skill files in skills/
- Each skill file has YAML frontmatter with description for Claude discovery
- Updated plugin.json to reference individual skill files
- Updated README with new structure

Based on feedback that Claude needs separate skill files with frontmatter
for proper skill discovery as per Anthropic's guide.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Restructured plugin to be at repository root instead of plugins/claude-code/
to match the standard Claude Code plugin structure. This enables installation via:

  claude /install github:speakeasy-api/speakeasy

New structure:
.claude-plugin/
├── marketplace.json
├── plugin.json
└── skills/
    └── ... (11 skill files)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Added required fields for Claude Code marketplace:
- $schema for validation
- owner with name and email
- plugins array listing available plugins

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move skills from .claude-plugin/skills/ to repo root skills/
- Convert skill files from *.md to */SKILL.md directory structure
- Remove explicit skills array from plugin.json (auto-discovered)

This follows Claude Code's expected plugin structure where each skill
is a directory containing a SKILL.md file.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@simplesagar
simplesagar force-pushed the feat/claude-code-plugin branch from 1b8185d to 453eaaf Compare January 16, 2026 19:41
simplesagar and others added 2 commits January 16, 2026 11:44
- Bump plugin version to 0.2.0-alpha
- Add Claude Code plugin section to README with installation,
  usage instructions, and available skills table

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@simplesagar
simplesagar enabled auto-merge (squash) January 16, 2026 20:13
@simplesagar
simplesagar merged commit 76aee51 into main Jan 16, 2026
3 of 4 checks passed
@simplesagar
simplesagar deleted the feat/claude-code-plugin branch January 16, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants