Skip to content

feat: add the Claude marketplace entry and hosted-game setup - #2

Merged
timeleft-- merged 2 commits into
mainfrom
codex/tic-tac-toe-distribution
Oct 30, 2026
Merged

timeleft-- merged 2 commits into
mainfrom
codex/tic-tac-toe-distribution

Conversation

@yia-mw-agent

@yia-mw-agent yia-mw-agent commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Change

Adds the ways to reach the deployed Tic Tac Toe game at https://examples.saga-ai.dev/tic-tac-toe/mcp:

  • A Claude-compatible marketplace (.claude-plugin/marketplace.json) with one plugin, plugins/saga-tic-tac-toe: the endpoint as its one MCP server, and a short skill describing how to play. The plugin's plugin.json and .mcp.json are the files the SDK's existing saga publish tooling produces from saga-publication.json; there is no second packager.
  • Direct URL setup for Claude and ChatGPT on the web (README), with the host behavior actually observed recorded as limits: first card display sometimes needs the host's retry, Claude's connector list shows a placeholder letter, and an older ChatGPT card did not reload after a theme switch (a retry recovered a timed-out dark card). Nothing here claims reliable first load or that either host shows the dragon as the connector icon.
  • docs/tic-tac-toe-data-handling.md: what the Worker stores (one game per Durable Object, 24 hours, no account, no transcript), and who else handles a request.
  • saga-publication.json, the release input, with the publisher MachineWisdom, and npm run stage:publication, which writes the two built view files it names from the page npm run build:view builds.
  • The Apache-2.0 license text (the SDK's), as the plugin's license and the repository's.

The game, its tests and the deployment are unchanged.

Validation

  • claude plugin validate . (marketplace) and claude plugin validate ./plugins/saga-tic-tac-toe (Claude Code 2.1.296): both pass.
  • saga publish check and prepare, run from the SDK at 522d613 against the live endpoint, with the views built from this head's pinned source:
    • --target chatgpt: ready; the endpoint serves both views byte for byte, the deployment identity saga-tic-tac-toe 0.0.0 is established, and the package carries the four dragon files at the digests in scripts/icon-digests.mjs (ZIP sha256 3811c42590c7f39e2cb12b3022d73ef034647c8e7ee988cf692e0d68c987ed9d; both view files sha256 8dfb92ab8494d1da8913eb089edf998f867d0042f1a2432fdf869ef470ed260d).
    • --target claude: blocked, only on claude.company (a review contact) and package.images (3 to 5 carousel screenshots). Those are Claude directory-submission fields, not needed for this marketplace or for direct setup, and none is invented; no directory submission is made. The endpoint, tools, views, declarations, links and plugin-bundle checks pass.
  • python3 scripts/check-lfs.py passes. The game's runtime and rendered-card tests are unaffected and were not rerun.

Not established

Installing through this marketplace in Claude, a playable invocation through it, and ChatGPT play/theme behavior are checked separately on the hosts. The SDK packages are still not on the npm registry; CI keeps using the packed SDK. Preparation and validation are not installation or distribution.

Claude on the web also offers adding a marketplace from a GitHub repository; this marketplace is not yet installed from the merged repository.

Adds a one-plugin Claude marketplace for the hosted Tic Tac Toe game, direct URL setup for Claude and ChatGPT on the web, data-handling notes, the Apache-2.0 license, and the release input the SDK's publish tooling reads.

@timeleft-- timeleft-- left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the complete marketplace, plugin, skill, data handling and publication staging patch at this head. Independent marketplace and plugin validation pass. Staging reproduces both deployed view digests; independent real-endpoint ChatGPT prepare is ready with the same package SHA256. Claude prepare has only the honestly recorded directory review-contact/carousel findings. Runtime unchanged; reuse its existing qualification. Source is clean for merge; actual marketplace installation and host reliability remain separate.

@timeleft--
timeleft-- merged commit f22c845 into main Oct 30, 2026
1 check passed
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