Skip to content

Make the plugin directory-ready (v0.2.0): MCP + two read-only skills - #5

Merged
blakecduncan merged 5 commits into
mainfrom
blakeduncan/dx-4068-claude-build-and-submit-a-claude-code-plugin-mcp-skills
Oct 22, 2026
Merged

blakecduncan merged 5 commits into
mainfrom
blakeduncan/dx-4068-claude-build-and-submit-a-claude-code-plugin-mcp-skills

Conversation

@blakecduncan

@blakecduncan blakecduncan commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Description

This makes the Claude Code plugin ready for the Claude plugin directory (v0.2.0). The directory policy excludes software that moves money or crypto, so the plugin now ships the hosted Alchemy MCP server plus two skills, alchemy-mcp and alchemy-api. It does not send, swap, bridge or pay.

Summary

  • Bundle:
    • Removed the alchemy-cli and agentic-gateway skills.
    • Removed all executable send, sign, swap, bridge and x402/MPP payment guidance from the remaining skills.
    • Nine slash commands, unchanged in scope.
  • MCP config: sends x-alchemy-source: claude-plugin, which selects the server's directory tool profile (live in production since MCP 0.9.1). That profile hides the testnet faucet, airdrop and paymaster tools, leaving 171 tools.
  • Manifest: adds the directory listing fields: display name, icon, documentation, support, privacy and terms URLs, and license. Also adds a plugin-level LICENSE and icon asset.
  • README:
    • Setup and what the plugin does and doesn't do.
    • Credential handling: the selected app's API key is cached server-side for up to 90 days.
    • An upgrade note for 0.1.x users pointing to alchemyplatform/skills for the removed skills.
  • Vendored skills are reproducible:
    • scripts/sync-skills.sh pins the source commit in scripts/skills-source.lock. The pin is the current main of alchemyplatform/skills.
    • scripts/claude_overrides.py applies 182 anchored override operations and then scans the result. It fails on payment, signing or gateway residue, broken references, handoffs to skills that aren't bundled, and symlinks.
    • The swap is rollback-safe. Any failure or interrupt before the commit point restores the previous skills tree and lock.

Test Plan

  • claude plugin validate --strict . (marketplace) and claude plugin validate --strict plugins/alchemy (plugin) pass.
  • bash scripts/sync-skills.sh: the pinned re-sync is byte-identical to the committed tree. Scan: 0 FAIL, 337 REVIEW, 0 broken references, 0 allow entries.
  • Failure and signal injection at every swap step, run in temp copies: 11/11 pass. Backup, staging and lock failures and interrupts restore the old tree and lock. First-install failures leave no tree and no lock. A post-commit interrupt keeps the new tree and lock.
  • The 171-tool count in alchemy-mcp matches the server: 175 registered tools minus the 4 the directory profile hides.
  • Merged with Add an MCP-only Cursor Marketplace plugin #6 in a scratch tree: the only conflict is the README layout block, and both Claude validators and the Cursor validator pass on the result.
  • Live install in Claude Code (claude --plugin-dir plugins/alchemy, 2.1.304): the plugin loads as 0.2.0 with nine slash commands and both skills, OAuth connects, and the server returns 171 tools without faucet_drip, solana_requestAirdrop, or the two paymaster tools.
  • /alchemy:setup end to end. The tools resolve, but the run stopped on the tester's Claude spend limit before list_apps was called.

Breaking Changes

  • Users who installed 0.1.x lose the alchemy-cli and agentic-gateway skills when they update. The root README points them to npx skills add alchemyplatform/skills.

Deployment Notes

No service deploy. Before directory submission:

  • Deploy the server-side directory tool profile.
  • Update the public docs page at alchemy.com/docs/alchemy-claude-plugin: docs#1718, to merge after this PR.
  • Submit the connector first, then pair this plugin with it.

Merge this before #6, then rebase #6 on main.

LINEAR TASK: https://linear.app/alchemyapi/issue/DX-4068/claude-build-and-submit-a-claude-code-plugin-mcp-skills

🤖 Generated with Claude Code

blakecduncan and others added 5 commits October 14, 2026 14:15
Prepares the Alchemy Claude Code plugin for the Claude directory, whose
policy excludes software that moves money or crypto:

- Vendor only alchemy-mcp and alchemy-api, from a pinned alchemyplatform/
  skills commit (scripts/skills-source.lock). alchemy-cli and
  agentic-gateway are dropped.
- scripts/claude_overrides.py applies Claude-specific, exact-count
  transforms after each sync: removes send/sign/payment/wallet-execution
  guidance and x402/MPP routing, routes no-key cases to the bundled MCP or
  the dashboard, removes secret-printing examples, and fails on any
  forbidden pattern or broken reference. The sync stages, validates, then
  swaps with rollback.
- Tag MCP traffic with x-alchemy-source: claude-plugin, which also selects
  the server's directory tool profile.
- Add directory listing fields, an icon, a LICENSE in the plugin folder,
  and a README covering what's excluded, setup, and example prompts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- sync-skills.sh: delete the backup only after both the skills swap and the
  lock publication succeed; restore the previous tree and lock on any
  failure. Copy without following symlinks and fail on any in staging.
- claude_overrides.py: reject symlinks (files, dirs, root), rewrite
  references to skills that are not bundled to the bundled reference
  files, and fail on any `name` skill reference outside the bundle.
- Label the alchemy-mcp tool catalog as a selection of the 171 tools in
  this plugin's profile.
- README and /alchemy:setup: the server caches the selected app's API key
  on Alchemy's side for up to 90 days, not just for the session.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A failed backup rename no longer makes the cleanup trap delete the original
skills tree. Failure-injected before and after the backup rename.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Record the backup path before the rename and key recovery off a single
COMMITTED assignment, so an interrupt between any two swap steps restores
the previous skills tree and lock, or leaves the committed result intact.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Users upgrading from 0.1.x lose the alchemy-cli and agentic-gateway skills;
point them at alchemyplatform/skills. The plugin's tool profile has 171 tools,
so say 170+.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@blakecduncan
blakecduncan marked this pull request as ready for review October 22, 2026 19:25
@blakecduncan
blakecduncan merged commit e7617b1 into main Oct 22, 2026
5 checks passed
@blakecduncan
blakecduncan deleted the blakeduncan/dx-4068-claude-build-and-submit-a-claude-code-plugin-mcp-skills branch October 22, 2026 20:00
@blakecduncan blakecduncan mentioned this pull request Oct 22, 2026
2 of 5 tasks
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