Skip to content

fix: Claude Code marketplace plugin structure and install docs#458

Merged
johnnygreco merged 2 commits intomainfrom
fix/claude-marketplace-plugin-structure
Mar 25, 2026
Merged

fix: Claude Code marketplace plugin structure and install docs#458
johnnygreco merged 2 commits intomainfrom
fix/claude-marketplace-plugin-structure

Conversation

@johnnygreco
Copy link
Contributor

Summary

  • Fix plugin structure so Claude Code marketplace correctly discovers the data-designer skill by adding a claude-plugin/ directory with a symlink to skills/, avoiding duplication while maintaining compatibility with skills.sh
  • Fix author field in plugin.json (must be an object, not a string)
  • Rename marketplace from nvidia-data-designer to nemo-data-designer
  • Update Getting Started section in dev notes blog post with correct install commands, /reload-plugins step, skills.sh link, and agent compatibility note

Test plan

Verified end-to-end locally: removed existing marketplace, re-added from local repo, installed plugin, reloaded, and confirmed /data-designer skill is invocable.

…nstructions

The plugin's SKILL.md was at the root of the plugin source directory, but
Claude Code expects skills at skills/*/SKILL.md. Add a claude-plugin/
directory with a symlink to skills/ so both Claude Code marketplace and
skills.sh work from the same source files. Also fix the author field in
plugin.json (must be an object, not a string), rename the marketplace from
nvidia-data-designer to nemo-data-designer, and update the Getting Started
section of the dev notes blog post with correct install commands.
@johnnygreco johnnygreco requested a review from a team as a code owner March 25, 2026 02:49
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Mar 25, 2026

Greptile Summary

This PR fixes the Claude Code marketplace plugin structure for the data-designer skill by introducing a claude-plugin/ wrapper directory — containing its own plugin.json and a symlink to the existing skills/ tree — so both the Claude Code marketplace and skills.sh can discover the skill from a single source of truth without duplication.

Key changes:

  • New claude-plugin/ directory: Top-level plugin.json (named nemo-data-designer) acts as the marketplace wrapper; a symlink claude-plugin/skills → ../skills surfaces the skill subtree without copying files.
  • marketplace.json updated: Source redirected from ./skills/data-designer to ./claude-plugin, and the marketplace identifier renamed from nvidia-data-designer to nemo-data-designer.
  • author field fixed in both plugin.json files: changed from a bare string to the required {"name": "..."} object form.
  • Docs updated: README.md and the dev-notes blog post now show the correct three-step install flow (/plugin marketplace add, /plugin install data-designer@nemo-data-designer, /reload-plugins), the skills.sh alternative, and a compatibility note about Claude Code being the primary tested agent.

Confidence Score: 5/5

  • This PR is safe to merge — all changes are structural/documentation fixes with no runtime logic, the author verified the install end-to-end, and prior review concerns have been addressed.
  • All six files contain targeted, low-risk fixes: a directory restructure using a symlink (git-safe for the supported install path), a JSON field type correction, a rename, and documentation updates. No application logic is touched. Prior review threads on the name mismatch and symlink ZIP-download limitation were both resolved with satisfactory explanations. No new issues remain.
  • No files require special attention.

Important Files Changed

Filename Overview
.claude-plugin/marketplace.json Renames marketplace from nvidia-data-designer to nemo-data-designer and updates plugin source from ./skills/data-designer to ./claude-plugin to point to the new wrapper directory. Structurally correct.
claude-plugin/.claude-plugin/plugin.json New top-level plugin wrapper descriptor for nemo-data-designer. Uses object form for author field, matching the fix applied to the leaf-level plugin.json. Plugin-name-vs-marketplace-name distinction intentional (discussed in prior review).
claude-plugin/skills New symlink claude-plugin/skills → ../skills. Enables the claude-plugin/ source tree to contain the skills/data-designer leaf without duplicating files. ZIP-download limitation acknowledged and accepted in prior review thread.
skills/data-designer/.claude-plugin/plugin.json Fixes author field from a bare string to the required object form {"name": "..."}. Clean one-line fix.
README.md Adds a new "Agent Skill" section with correct install commands for both Claude Code marketplace and skills.sh paths, including the /reload-plugins step.
docs/devnotes/posts/data-designer-got-skills.md Updates Getting Started section with corrected install commands, adds skills.sh link, /reload-plugins step, agent compatibility note, and a tip about selecting Claude Code during skills.sh installation.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Claude Code Marketplace] -->|"marketplace add NVIDIA-NeMo/DataDesigner"| B[".claude-plugin/marketplace.json\nname: nemo-data-designer"]
    B -->|"source: ./claude-plugin"| C["claude-plugin/\n.claude-plugin/plugin.json\nname: nemo-data-designer"]
    C -->|symlink| D["claude-plugin/skills → ../skills"]
    D --> E["skills/data-designer/\n.claude-plugin/plugin.json\nname: data-designer"]
    E -->|"skill discovered as"| F["/data-designer skill"]

    G["skills.sh\nnpx skills add NVIDIA-NeMo/DataDesigner"] -->|"scans repo root skills/"| E

    style F fill:#22c55e,color:#fff
    style C fill:#3b82f6,color:#fff
    style D fill:#f59e0b,color:#fff
Loading

Reviews (2): Last reviewed commit: "docs: add agent skill install section to..." | Re-trigger Greptile

Comment on lines +113 to +115
### 🤖 Agent Skill

Data Designer has a [skill](https://nvidia-nemo.github.io/DataDesigner/latest/devnotes/posts/data-designer-got-skills/) for coding agents. Just describe the dataset you want, and your agent handles schema design, validation, and generation.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

seemed reasonable to add this too

@johnnygreco johnnygreco merged commit c25a708 into main Mar 25, 2026
47 checks 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