Follow Discord
Sweep 25 Sep 2026 · 19:33Z Build v2.1.283 504 read Stable v2.1.274 Latest v2.1.283 Next v2.1.283 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-docs

Plugin structure and testing changedplugins/build

Nearest release: v2.1.283, published under an hour before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 25 Sep 2026 18:58 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 25 Sep 2026 19:07 UTC.

Upstream edited
Recorded here
Lines+3added
Lines−1removed
From line 549 where the diff opens
First seen 25 Sep 2026 this site's first read of the page
Recorded edits3to this page, all time

The whole hunk

from line 549, old and new numbered
/
lines
from line 549
549549 
550550## Write the plugin
551551 
552The examples in this section build a plugin named `expense-reports` for a fictional finance product whose MCP server is at `mcp.example.com`.
552The examples in this section build a plugin named `expense-reports` for a fictional finance product whose MCP server is at `mcp.example.com`. If you plan to submit the plugin to Anthropic's directory, keep the [plugin pre-submission checklist](/docs/plugins/pre-submission-checklist) open while you write: the developer portal validates the manifest, README, license, and scripts when you submit, and building with those checks in mind means validation passes the first time.
553553 
554554### Write the manifest
555555 
from line 626
626626* **A team testing together**: push the folder to a Git repository set up as a [marketplace](https://code.claude.com/docs/en/plugins/create-marketplace), and have each tester add it from **Customize > Plugins > Add > Add marketplace** with the repository URL instead, so everyone installs the same copy
627627 
628628Loading the plugin shows that its parts appear. To measure whether its skills improve Claude's output, write eval cases and run [`claude plugin eval`](https://code.claude.com/docs/en/plugin-evals) in Claude Code, which grades the results and compares them against a run without the plugin. To test one skill by itself on any surface, see [Measure whether the skill improves the output](/docs/skills/how-to#measure-whether-the-skill-improves-the-output).
629 
630Before you submit the plugin to the directory, run `claude plugin validate ./expense-reports`, then select **Validate** in the [developer portal](https://claude.ai/directory/manage). The portal runs every validation check, and [Run the checks before you submit](/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit) explains each result.
629631 
630632When something is missing on one surface and present on another, check it against [Check what each app loads](#check-what-each-app-loads) before debugging. An agent that never appears in chat, or a local server that chat doesn't start, is the surface behaving as designed.
631633 
Feedback