From 9154032f80f064845df8657dfa3c332a85730e79 Mon Sep 17 00:00:00 2001 From: Ankit Ranjan Date: Tue, 11 Aug 2026 13:40:50 +0530 Subject: [PATCH] feat: add Claude Code plugin marketplace manifest Claude Code discovers marketplaces via .claude-plugin/marketplace.json, so `claude plugin marketplace add agentrhq/webcmd` failed against the existing Codex-only manifests. Add the Claude Code marketplace and plugin manifests pointing at the repo root, so the seven bundled skills install as a plugin. Wire the new manifest version into release-please and extend the plugin metadata check to keep both manifests in sync with package.json. Co-Authored-By: Claude Opus 5 --- .claude-plugin/marketplace.json | 17 +++++++++++++++++ .claude-plugin/plugin.json | 18 ++++++++++++++++++ README.md | 10 ++++++++++ docs/quickstart.mdx | 10 ++++++++++ release-please-config.json | 5 +++++ scripts/check-codex-plugin.mjs | 16 +++++++++++++++- 6 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 .claude-plugin/marketplace.json create mode 100644 .claude-plugin/plugin.json diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 00000000..528ebe3a --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://www.schemastore.org/claude-code-marketplace.json", + "name": "webcmd", + "description": "Turn websites, browser sessions, desktop apps, and local tools into deterministic CLI surfaces for humans and AI agents.", + "owner": { + "name": "AgentRHQ", + "url": "https://github.com/agentrhq" + }, + "plugins": [ + { + "name": "webcmd", + "description": "Webcmd CLI, browser, search, authoring, sitemap, and repair skills. Requires the @agentrhq/webcmd npm CLI.", + "source": "./", + "category": "productivity" + } + ] +} diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 00000000..abc91a4e --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,18 @@ +{ + "name": "webcmd", + "version": "0.6.0", + "description": "Turn websites, browser sessions, desktop apps, and local tools into deterministic CLI surfaces for humans and AI agents.", + "author": { + "name": "AgentRHQ", + "url": "https://github.com/agentrhq" + }, + "homepage": "https://webcmd.dev/docs", + "repository": "https://github.com/agentrhq/webcmd", + "license": "Apache-2.0", + "keywords": [ + "webcmd", + "browser-automation", + "cli", + "agent-skills" + ] +} diff --git a/README.md b/README.md index 9ad11575..42ab414e 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,16 @@ the npm CLI automatically if `webcmd` is missing. The plugin includes all seven bundled Webcmd skills. Do not also add those skills with `webcmd skills add` in Codex. +### Claude Code + +```bash +claude plugin marketplace add agentrhq/webcmd +claude plugin install webcmd@webcmd +``` + +This installs all seven bundled Webcmd skills. Do not also add those skills +with `webcmd skills add` in Claude Code. + ### Other agents or plugin-free setup Webcmd requires Node.js 20.6+. diff --git a/docs/quickstart.mdx b/docs/quickstart.mdx index 94613ebc..adbde84a 100644 --- a/docs/quickstart.mdx +++ b/docs/quickstart.mdx @@ -15,6 +15,16 @@ the npm CLI automatically if `webcmd` is missing. The plugin includes all seven bundled Webcmd skills. Do not also add those skills with `webcmd skills add` in Codex. +## Install the Claude Code Plugin + +```bash +claude plugin marketplace add agentrhq/webcmd +claude plugin install webcmd@webcmd +``` + +This installs all seven bundled Webcmd skills. Do not also add those skills +with `webcmd skills add` in Claude Code. + ## Other Agents or Plugin-Free Setup Webcmd requires Node.js 20.6+ and a place where your agent harness can run its diff --git a/release-please-config.json b/release-please-config.json index b437fffd..01f862f6 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -12,6 +12,11 @@ "type": "json", "path": ".codex-plugin/plugin.json", "jsonpath": "$.version" + }, + { + "type": "json", + "path": ".claude-plugin/plugin.json", + "jsonpath": "$.version" } ] } diff --git a/scripts/check-codex-plugin.mjs b/scripts/check-codex-plugin.mjs index d5596f18..d6e9c8bf 100644 --- a/scripts/check-codex-plugin.mjs +++ b/scripts/check-codex-plugin.mjs @@ -13,6 +13,9 @@ const packageJson = readJson('package.json'); const manifest = readJson('.codex-plugin/plugin.json'); const marketplace = readJson('.agents/plugins/marketplace.json'); const marketplacePlugin = marketplace.plugins?.[0]; +const claudeManifest = readJson('.claude-plugin/plugin.json'); +const claudeMarketplace = readJson('.claude-plugin/marketplace.json'); +const claudeMarketplacePlugin = claudeMarketplace.plugins?.[0]; assert.equal(manifest.name, 'webcmd'); assert.equal(manifest.version, packageJson.version); @@ -27,6 +30,15 @@ assert.deepEqual(marketplacePlugin?.source, { url: './', }); +assert.equal(claudeManifest.name, 'webcmd'); +assert.equal(claudeManifest.version, packageJson.version); +assert.equal(claudeManifest.author?.name, 'AgentRHQ'); +assert.equal(claudeMarketplace.name, 'webcmd'); +assert.equal(claudeMarketplace.owner?.name, 'AgentRHQ'); +assert.equal(claudeMarketplace.plugins?.length, 1); +assert.equal(claudeMarketplacePlugin?.name, 'webcmd'); +assert.equal(claudeMarketplacePlugin?.source, './'); + const expectedSkills = [ 'smart-search', 'webcmd-adapter-author', @@ -54,4 +66,6 @@ assert.match(usageSkill, /## CLI Preflight/); assert.match(usageSkill, /webcmd --version/); assert.match(usageSkill, /npm install -g @agentrhq\/webcmd/); -console.log(`Codex plugin metadata valid: ${actualSkills.length} skills`); +console.log( + `Codex and Claude Code plugin metadata valid: ${actualSkills.length} skills`, +);