Skip to content

feat(skills): add Claude Code plugin manifest and marketplace#1472

Merged
douenergy merged 4 commits intoCanner:mainfrom
goldmedal:feat/claude-code-plugin
Mar 24, 2026
Merged

feat(skills): add Claude Code plugin manifest and marketplace#1472
douenergy merged 4 commits intoCanner:mainfrom
goldmedal:feat/claude-code-plugin

Conversation

@goldmedal
Copy link
Copy Markdown
Contributor

@goldmedal goldmedal commented Mar 23, 2026

Summary

  • Add .claude-plugin/plugin.json and marketplace.json to skills/ so existing skills can be installed as a Claude Code plugin (namespace: wren)
  • Update skills/README.md with plugin installation instructions as Option 1
  • Existing Agent Skills (npx skills, install.sh) remain fully functional alongside the plugin format

Installation (after merge)

/plugin marketplace add Canner/wren-engine --path skills
/plugin install wren@wren

Test plan

  • claude --plugin-dir ./skills loads all 7 skills under /wren:* namespace
  • /plugin validate ./skills passes with no errors
  • Existing npx skills add Canner/wren-engine --agent claude-code still works
  • /plugin marketplace add Canner/wren-engine --path skills works from GitHub

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Plugin published to the Claude Code Plugin marketplace and now installable via the marketplace.
    • Added a plugin manifest to enable Claude-compatible agent skills.
  • Documentation

    • Installation docs updated with a marketplace-based option, renumbered local install options, and example skill namespace usage.

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Mar 23, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 23, 2026

📝 Walkthrough

Walkthrough

Added Claude plugin manifest and marketplace listing for the Wren skill, and updated skills installation docs to include a Claude Code Plugin installation option, renumbering existing options.

Changes

Cohort / File(s) Summary
Claude Plugin Configuration
skills/.claude-plugin/marketplace.json, skills/.claude-plugin/plugin.json
Added marketplace listing and plugin manifest for the wren skill (version 1.0.0) with metadata, descriptions, author/repo info, license, and extended keywords listing supported data sources and features.
Installation Documentation
skills/README.md
Inserted Option 1 for installing via the Claude Code Plugin marketplace and local testing notes; renumbered prior installation options to Options 2–4.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Suggested reviewers

  • douenergy
  • wwwy3y3

Poem

🐰 In the warren a manifest gleams bright,
I stitched a marketplace listing late last night,
Docs renumbered, keywords set just so,
Wren wakes in Claude, ready to go! 🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately describes the main change: adding Claude Code plugin manifest and marketplace configuration files to the skills directory.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
skills/README.md (1)

10-13: Add a language tag to this fenced block (MD040).

Line 10 should use a language identifier (recommend text) to satisfy markdownlint without marking commands as executable shell.

Minimal lint-safe fix
-```
+```text
 /plugin marketplace add Canner/wren-engine --path skills
 /plugin install wren@wren
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @skills/README.md around lines 10 - 13, Update the fenced code block in
README.md (the block containing "/plugin marketplace add Canner/wren-engine
--path skills" and "/plugin install wren@wren") to include a language identifier
(recommend "text") after the opening triple backticks so markdownlint rule MD040
is satisfied; simply change the opening fence from totext to mark the
commands as non-executable text.


</details>

</blockquote></details>
<details>
<summary>skills/.claude-plugin/marketplace.json (1)</summary><blockquote>

`16-23`: **Consider keeping marketplace keywords in sync with `plugin.json`.**

This list currently diverges from `skills/.claude-plugin/plugin.json` (e.g., `data-source`, `bigquery`, `postgres`, `snowflake` are missing), which can hurt search/discovery consistency over time.

<details>
<summary>Suggested alignment</summary>

```diff
       "keywords": [
         "wren",
         "sql",
         "mdl",
         "mcp",
         "semantic-layer",
+        "data-source",
+        "bigquery",
+        "postgres",
+        "snowflake",
         "docker"
       ]
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@skills/.claude-plugin/marketplace.json` around lines 16 - 23, The
marketplace.json "keywords" array is out of sync with the plugin.json keywords;
update the "keywords" array in skills/.claude-plugin/marketplace.json to match
plugin.json by adding the missing entries (e.g., data-source, bigquery,
postgres, snowflake), remove any unintended divergences, and ensure the two
"keywords" arrays remain identical (dedupe and normalize formatting/casing) so
search/discovery stays consistent.
```

</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @skills/.claude-plugin/marketplace.json:

  • Around line 16-23: The marketplace.json "keywords" array is out of sync with
    the plugin.json keywords; update the "keywords" array in
    skills/.claude-plugin/marketplace.json to match plugin.json by adding the
    missing entries (e.g., data-source, bigquery, postgres, snowflake), remove any
    unintended divergences, and ensure the two "keywords" arrays remain identical
    (dedupe and normalize formatting/casing) so search/discovery stays consistent.

In @skills/README.md:

  • Around line 10-13: Update the fenced code block in README.md (the block
    containing "/plugin marketplace add Canner/wren-engine --path skills" and
    "/plugin install wren@wren") to include a language identifier (recommend "text")
    after the opening triple backticks so markdownlint rule MD040 is satisfied;
    simply change the opening fence from totext to mark the commands as
    non-executable text.

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: defaults

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `99eeb765-9d77-4a38-9314-d1c0f105e9d8`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 312eb20efa3a6883bcc1891ac66736b4c8a66a7c and 94a777d24e1e555b9f14baf6202b1670aec88ed2.

</details>

<details>
<summary>📒 Files selected for processing (3)</summary>

* `skills/.claude-plugin/marketplace.json`
* `skills/.claude-plugin/plugin.json`
* `skills/README.md`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

@github-actions github-actions bot added ibis python Pull requests that update Python code labels Mar 23, 2026
goldmedal and others added 4 commits March 23, 2026 17:10
Package existing skills as a Claude Code plugin so users can install
via `/plugin marketplace add` in addition to `npx skills`. The plugin
uses namespace `wren` (e.g., `/wren:generate-mdl`).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@goldmedal goldmedal force-pushed the feat/claude-code-plugin branch from 1f4e0fe to 1aef438 Compare March 23, 2026 09:11
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
skills/README.md (1)

20-20: Clarify that /wren:<skill> applies to plugin installs only.

Given later examples still use /wren-usage style, please add one sentence here to distinguish plugin invocation vs npx/manual installation invocation formats, to avoid user confusion.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@skills/README.md` at line 20, Clarify that the `/wren:<skill>` namespace
applies only to skills installed as plugins by adding one sentence after the
existing line that contrasts plugin invocation with manual or npx invocation
formats (e.g., explain that plugin commands use `/wren:<skill>` while npx/manual
runs use formats like `/wren-usage` or direct `npx wren ...`), and update the
README sentence to explicitly call out "plugin installs only" and show the two
invocation examples (`/wren:<skill>` for plugins vs `/wren-usage`/npx/manual for
manual installs).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@skills/README.md`:
- Around line 10-13: Add a language identifier to the fenced code block
containing the two plugin commands to satisfy markdownlint MD040: update the
fence that currently encloses "/plugin marketplace add Canner/wren-engine --path
skills" and "/plugin install wren@wren" to use a neutral identifier like "text"
(i.e., change ``` to ```text) so the block is explicitly typed without implying
a shell language.

---

Nitpick comments:
In `@skills/README.md`:
- Line 20: Clarify that the `/wren:<skill>` namespace applies only to skills
installed as plugins by adding one sentence after the existing line that
contrasts plugin invocation with manual or npx invocation formats (e.g., explain
that plugin commands use `/wren:<skill>` while npx/manual runs use formats like
`/wren-usage` or direct `npx wren ...`), and update the README sentence to
explicitly call out "plugin installs only" and show the two invocation examples
(`/wren:<skill>` for plugins vs `/wren-usage`/npx/manual for manual installs).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 16f32410-bc18-46f0-8095-928d7e855975

📥 Commits

Reviewing files that changed from the base of the PR and between 94a777d and 1aef438.

📒 Files selected for processing (3)
  • skills/.claude-plugin/marketplace.json
  • skills/.claude-plugin/plugin.json
  • skills/README.md
✅ Files skipped from review due to trivial changes (2)
  • skills/.claude-plugin/marketplace.json
  • skills/.claude-plugin/plugin.json

@goldmedal goldmedal requested a review from douenergy March 24, 2026 03:39
@douenergy douenergy merged commit afd4351 into Canner:main Mar 24, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation ibis python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants