Skip to content

feat: [SDK-5457] set the Claude directory link fields in the plugin manifest - #61

Open
sherwinski wants to merge 1 commit into
sherwin/sdk-5456from
sherwin/sdk-5457
Open

sherwinski wants to merge 1 commit into
sherwin/sdk-5456from
sherwin/sdk-5457

Conversation

@sherwinski

@sherwinski sherwinski commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

One Line Summary

Set the 4 link fields that Anthropic's plugin directory reads from .claude-plugin/plugin.json for a listing: documentationUrl, supportUrl, privacyPolicyUrl, termsOfServiceUrl.

Motivation

SDK-5457 asked whether the Claude plugin directory can show an example-prompt banner like the Codex listing. The result is no. The ticket says that in that case we set the only listing fields the manifest supports. Full findings are in the ticket.

The manifest also supports icon, but the developer portal shows the listing icon as already set and approved by an Anthropic reviewer (the white logomark on a dark square, the GitHub org avatar), so this PR leaves icon unset rather than risk a replacement or a new review.

Stacked on #59 (sherwin/sdk-5456); the base is that branch until #59 merges.

Scope

  • .claude-plugin/plugin.json: add documentationUrl (https://documentation.onesignal.com), supportUrl (the repository's GitHub issues page), privacyPolicyUrl and termsOfServiceUrl (the same URLs as the Codex manifest). In the portal these fill the Documentation, Support, Privacy policy, and Terms of service rows under Links and policies; 3 of the 4 read "No value" today.

No version bump: main is already at 1.1.1 ahead of the 1.1.0 tag.

Not in scope: README changes. The directory renders the README as the listing body, so if we want the listing to show example prompts as prose, that is a README edit in a follow-up.

Testing

  • python3 -m json.tool .claude-plugin/plugin.json: passed.
  • claude plugin validate .: passed; the 4 fields raise no warning. The only warning is the pre-existing CLAUDE.md note.
  • python3 scripts/package_directory_bundle.py --check: passed.
  • Each of the 4 URLs returns HTTP 200.

Not tested: the directory's own validation in the developer portal (claude.ai/directory/manage). That runs at submission.

Affected code

  • Skills (skills/)
  • References (references/)
  • Scripts (scripts/)
  • Manifests (.claude-plugin/)
  • Brand assets (assets/)
  • Docs

Checklist

  • The bundle gate (--check) passes.
  • No secrets in the diff.
  • Commit message uses a conventional prefix and the ticket ID.

@sherwinski sherwinski changed the title feat: [SDK-5457] set the Claude directory listing fields in the plugin manifest feat: [SDK-5457] set the Claude directory link fields in the plugin manifest Oct 10, 2026
…anifest

Anthropic's directory reads `documentationUrl`, `supportUrl`,
`privacyPolicyUrl`, and `termsOfServiceUrl` from
`.claude-plugin/plugin.json` for the Links and policies rows of a
listing. Claude Code ignores them at load time. The directory has no
field for example prompts, screenshots, or a banner; the listing body
comes from the README.

The URLs match the Codex manifest, plus the GitHub issues page for
support. `icon` stays unset: a reviewer already set and approved the
listing icon in the developer portal.
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.

1 participant