Skip to content

[plugins] make Expo a root plugin for skills and MCP - #254

Draft
davidmokos wants to merge 1 commit into
mainfrom
davidmokos/root-plugin-distribution
Draft

davidmokos wants to merge 1 commit into
mainfrom
davidmokos/root-plugin-distribution

Conversation

@davidmokos

@davidmokos davidmokos commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Expo currently ships from plugins/expo with repository-owned marketplace catalogs. This moves the installable plugin to the repository root and prepares one skills-plus-MCP package for official ChatGPT, Claude chat, Grok Bot, and coding-agent directories. Both manifests use version 2.0.0 for the breaking source-layout change.

Changes

  • Move the 23 stable skills, supporting files, icon, and MCP configuration to the root package. Keep the portable Agent Plugins 1.0.0 manifest and Claude manifest introduced by [plugins] migrate Codex onto the Agent Plugins manifest #139, with their corresponding MCP configurations. Update OpenAI listing metadata and use the existing hosted Expo MCP endpoint.
  • Remove root marketplace catalogs and duplicate nested package metadata. Preserve expo-migrate-module under experimental-skills/, excluded from the stable plugin and upload ZIP.
  • Add shared execution guidance, a standalone-skill fallback, an MCP path for workflow validation, and writable temporary caching for the workflow helper. A connected chat plugin does not imply a checkout, CLI authentication, or native device access.
  • Add offline source/package validation and deterministic ZIP generation. Validate the extracted package, relative references, manifest consistency, metadata limits, and source-directory review constraints. CI runs these checks without uploading anything.
  • Adapt evaluation paths, old/new-layout baseline extraction, version comparisons, and cache fingerprints. Replace the private submodule with an explicitly fetched checkout at the same reviewed SHA. Compact the generated SDK 55 fixture lockfile below the directory's file-size threshold; parsed JSON is unchanged.
  • Document installation, data flows, publisher handoffs, and unexecuted client acceptance cases in docs/publishing.md and docs/testing.md.

The root layout follows Vercel and Cloudflare. Stripe and Sentry's distribution approaches were also checked. Removing Expo's marketplace catalogs is intentional; Vercel and Cloudflare still maintain their own.

Validation

  • bun test scripts/: 45 passed.
  • python3 -m unittest discover -s scripts -p '*_test.py': 9 passed, with local repositories and no private harness download.
  • Skill requirements, overview routing, version bump against the historical origin/main layout, and source/package validation passed.
  • claude plugin validate . passed without warnings.
  • Workflow YAML parsing, shell/Python/JavaScript syntax checks, and git diff --check passed.
  • Built and extracted expo-plugin-2.0.0.zip: 23 skills, 123 files, 328,699 bytes. Every archived file matches its source bytes. SHA-256: 663d1d1919afa4b6789d20c94b333c04901b3f04bb53b0a1768a894f15b14f7a.

Release handoff

Nothing has been submitted to a marketplace or published. This draft prepares the repository and artifact; authenticated client tests, OAuth/tool scans, reviewer access, demonstration recording, and publisher approvals remain pending.

Official listings that point to plugins/expo must switch to the root and a reviewed revision before adopting this release. Existing pinned releases can remain in use. Confirm ChatGPT eligibility for the existing OpenAI listing, pair the Claude bundle with the existing Expo connector, and submit the repository rather than an endpoint-only entry for Grok Bot/Cursor.

This builds on merged #139 and overlaps #83, #219, and the ChatGPT skill/package stack #222–#237. Reconcile those changes at the new paths before publication; this structural migration does not claim to replace their platform scan findings or runtime reviews. The ZIP deliberately preserves source commands rather than importing the separate scan-specific package rewrites.

@davidmokos
davidmokos force-pushed the davidmokos/root-plugin-distribution branch from 9c40080 to c9973de Compare October 23, 2026 18:43
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