Add Claude Code plugin marketplace for ModelOpt agent skills#1141
Add Claude Code plugin marketplace for ModelOpt agent skills#1141
Conversation
Signed-off-by: Kai Xu <kaix@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
📝 WalkthroughWalkthroughAdded two new Claude plugin configuration files: a marketplace manifest for Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.claude-plugin/marketplace.json:
- Around line 8-14: The plugin manifest declares "modelopt-agent" with source
"./.claude/skills" but the skills directory only contains plugin metadata and no
executable skill implementations, so commands like /modelopt-agent:* won't be
discovered; add actual skill files (e.g., TypeScript/JavaScript/Python handlers)
into the "./.claude/skills" folder that export the declared commands and
handlers referenced by the plugin manifest (ensure function/command names and
routes match the manifest and plugin.json), include proper entry points and
registration code so the runtime can discover commands, and update the package
manifest if needed to reference the new skill files.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 86e71c35-d8e4-4a64-b5fa-9358f048d2f0
📒 Files selected for processing (2)
.claude-plugin/marketplace.json.claude/skills/.claude-plugin/plugin.json
| "plugins": [ | ||
| { | ||
| "name": "modelopt-agent", | ||
| "source": "./.claude/skills", | ||
| "description": "AI agent skills for model optimization: quantization (PTQ), deployment (vLLM/SGLang/TRT-LLM), evaluation (NEL), and end-to-end orchestration.", | ||
| "version": "0.1.0" | ||
| } |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify that skill definition files exist under the declared source path
# (excluding plugin metadata-only files).
set -euo pipefail
echo "Declared source path from marketplace:"
rg -n '"source"\s*:\s*"\./\.claude/skills"' .claude-plugin/marketplace.json
echo
echo "Files under .claude/skills:"
fd . .claude/skills
echo
echo "Potential skill definition files (excluding plugin metadata):"
fd . .claude/skills \
| rg -n -v '\.claude/skills/\.claude-plugin/plugin\.json$|/\.claude-plugin/|README|LICENSE' || trueRepository: NVIDIA/Model-Optimizer
Length of output: 235
🏁 Script executed:
#!/bin/bash
# Check if .claude/skills directory exists and verify the broader plugin structure
set -euo pipefail
echo "=== Checking .claude/skills directory existence ==="
if [ -d "./.claude/skills" ]; then
echo "✓ Directory exists"
echo "Listing contents:"
ls -la "./.claude/skills" || echo "Cannot list contents"
else
echo "✗ Directory does NOT exist"
fi
echo
echo "=== Checking for .claude directory structure ==="
if [ -d "./.claude" ]; then
echo "Contents of .claude directory:"
find ./.claude -type f | head -20
else
echo "./.claude directory does not exist"
fi
echo
echo "=== Searching for skill/command definitions elsewhere ==="
# Search for potential skill definition patterns
rg -l '"name".*"modelopt"' --type json --type yaml --type md | head -20 || echo "No matches found"
echo
echo "=== Checking marketplace.json file completely ==="
cat -n .claude-plugin/marketplace.jsonRepository: NVIDIA/Model-Optimizer
Length of output: 1195
🏁 Script executed:
#!/bin/bash
# Check the plugin.json metadata to understand the declared skills
echo "=== Contents of .claude/skills/.claude-plugin/plugin.json ==="
cat -n ./.claude/skills/.claude-plugin/plugin.json
echo
echo "=== Check for any .ts, .js, .py files that might define skills ==="
fd -e ts -e js -e py . .claude/skills || echo "No such files found"
echo
echo "=== Check repository root for any skills or commands definitions ==="
rg -l "quantization|deployment|vLLM|SGLang" --type json --max-count 5 || echo "No matches"Repository: NVIDIA/Model-Optimizer
Length of output: 636
Plugin declares features but contains no skill implementations.
The .claude/skills directory exists but contains only metadata in .claude-plugin/plugin.json. There are no actual skill definition files (.ts, .js, .py, etc.) implementing the promised features (quantization, deployment, evaluation, orchestration). Commands like /modelopt-agent:* will not be discoverable after installation, making the plugin non-functional.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 8 - 14, The plugin manifest
declares "modelopt-agent" with source "./.claude/skills" but the skills
directory only contains plugin metadata and no executable skill implementations,
so commands like /modelopt-agent:* won't be discovered; add actual skill files
(e.g., TypeScript/JavaScript/Python handlers) into the "./.claude/skills" folder
that export the declared commands and handlers referenced by the plugin manifest
(ensure function/command names and routes match the manifest and plugin.json),
include proper entry points and registration code so the runtime can discover
commands, and update the package manifest if needed to reference the new skill
files.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1141 +/- ##
==========================================
- Coverage 70.17% 70.14% -0.03%
==========================================
Files 230 230
Lines 26053 26053
==========================================
- Hits 18282 18276 -6
- Misses 7771 7777 +6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Edwardf0t1
left a comment
There was a problem hiding this comment.
I think it would be better to add this after we’ve finished polishing the skills within our team.
| "description": "NVIDIA ModelOpt agent skills for model quantization, deployment, and evaluation.", | ||
| "owner": { | ||
| "name": "NVIDIA ModelOpt", | ||
| "email": "modelopt@nvidia.com" |
There was a problem hiding this comment.
qq: is this email valid?
What does this PR do?
Type of change: ?
New feature. Add Claude Code plugin marketplace manifest so ModelOpt agent skills can be discovered and installed with a single command.
Usage
Testing
Before your PR is "Ready for review"
Make sure you read and follow Contributor guidelines and your commits are signed (
git commit -s -S).Make sure you read and follow the Security Best Practices (e.g. avoiding hardcoded
trust_remote_code=True,torch.load(..., weights_only=False),pickle, etc.).CONTRIBUTING.md: ✅ / ❌ / N/AAdditional Information
Summary by CodeRabbit