refactor: rename marketplace to stackone-agent-plugins and split into one plugin per skill#20
Conversation
…etplace Restructure the marketplace to follow the multi-plugin pattern used by stackone-claude-marketplace. Each of the 7 skills now ships as its own installable plugin under plugins/<category>/<name>/, so users can pick just what they need instead of installing the whole bundle. - Rename marketplace: stackone-marketplace -> stackone-agent-plugins - Move 6 skill-only plugins to plugins/integrations/ - Move stackone-defender to plugins/security/ with its hook config, scripts, and ML dependencies scoped to the plugin folder - Drop the obsolete root .claude-plugin/plugin.json and root package.json (deps now live with the only plugin that needs them: stackone-defender) - Update release-please-config to track per-plugin plugin.json versions - Rewrite README install instructions Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
2 issues found across 41 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="plugins/security/stackone-defender/README.md">
<violation number="1" location="plugins/security/stackone-defender/README.md:22">
P2: This overstates what the feedback script does. It records feedback, but it does not adapt the daemon's local cache.</violation>
</file>
<file name="README.md">
<violation number="1" location="README.md:14">
P2: `/plugin list` doesn't take a marketplace name here; use the available-plugins flag or the Discover tab instead.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
Pull request overview
This PR renames the Claude Code marketplace from stackone-marketplace to stackone-agent-plugins and restructures the repo to publish 7 separate plugins (one per skill), with stackone-defender additionally shipping a PostToolUse hook + local ML daemon + feedback tooling.
Changes:
- Rename marketplace identity and update root README install instructions to reference
stackone-agent-plugins. - Split the previously bundled StackOne plugin into 7 independently installable plugins (each with its own
.claude-plugin/plugin.json, README, and skill content). - Move Defender hook + scripts + ML dependencies into
plugins/security/stackone-defender/, including a daemonized scanner and a feedback CLI.
Reviewed changes
Copilot reviewed 20 out of 41 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates repo description, install instructions, and documents new per-plugin layout. |
| plugins/security/stackone-defender/skills/stackone-defender/SKILL.md | Adds behavioral guidance for interpreting Defender hook flags and submitting FP feedback. |
| plugins/security/stackone-defender/skills/stackone-defender/references/integration-patterns.md | Adds integration patterns/examples for using Defender programmatically. |
| plugins/security/stackone-defender/scripts/scan-tool-result.mjs | Adds PostToolUse hook client: dependency self-install, daemon lifecycle, and IPC scanning. |
| plugins/security/stackone-defender/scripts/defender-feedback.mjs | Adds feedback CLI that logs locally and optionally POSTs to a collector. |
| plugins/security/stackone-defender/scripts/defender-daemon.mjs | Adds long-lived Unix-socket daemon hosting the ML classifier. |
| plugins/security/stackone-defender/scripts/defender-daemon.config.json | Adds daemon configuration for tier settings and model path resolution. |
| plugins/security/stackone-defender/README.md | Adds plugin-level README for Defender install/operation/feedback. |
| plugins/security/stackone-defender/package.json | Adds plugin-local Node package manifest with ML dependencies. |
| plugins/security/stackone-defender/hooks/hooks.json | Adds PostToolUse hook configuration invoking the scanner script. |
| plugins/security/stackone-defender/.claude-plugin/plugin.json | Adds Defender plugin manifest metadata. |
| plugins/integrations/stackone-unified-connectors/skills/stackone-unified-connectors/SKILL.md | Adds unified connector development “baseline skill” content. |
| plugins/integrations/stackone-unified-connectors/skills/stackone-unified-connectors/references/scope-patterns.md | Adds reference guidance for scope modeling and trade-offs. |
| plugins/integrations/stackone-unified-connectors/skills/stackone-unified-connectors/references/pagination-patterns.md | Adds reference guidance for pagination configuration and debugging. |
| plugins/integrations/stackone-unified-connectors/skills/stackone-unified-connectors/references/field-mapping-patterns.md | Adds reference guidance for field/enum mapping patterns. |
| plugins/integrations/stackone-unified-connectors/README.md | Adds plugin-level README with install and usage cues. |
| plugins/integrations/stackone-unified-connectors/.claude-plugin/plugin.json | Adds unified-connectors plugin manifest metadata. |
| plugins/integrations/stackone-platform/skills/stackone-platform/SKILL.md | Adds platform operations skill content (API keys/accounts/logs/webhooks). |
| plugins/integrations/stackone-platform/skills/stackone-platform/references/api-categories.md | Adds reference overview of StackOne API surfaces and category URLs. |
| plugins/integrations/stackone-platform/README.md | Adds plugin-level README with install and usage cues. |
| plugins/integrations/stackone-platform/.claude-plugin/plugin.json | Adds platform plugin manifest metadata. |
| plugins/integrations/stackone-connectors/skills/stackone-connectors/SKILL.md | Adds connectors discovery skill content (providers/actions/how to check docs). |
| plugins/integrations/stackone-connectors/skills/stackone-connectors/references/category-overview.md | Adds category snapshot reference and documentation URL patterns. |
| plugins/integrations/stackone-connectors/README.md | Adds plugin-level README with install and usage cues. |
| plugins/integrations/stackone-connectors/.claude-plugin/plugin.json | Adds connectors plugin manifest metadata. |
| plugins/integrations/stackone-connect/skills/stackone-connect/SKILL.md | Adds Connect Sessions + Hub embedding skill content. |
| plugins/integrations/stackone-connect/skills/stackone-connect/references/hub-reference.md | Adds Hub props/peer-deps reference with “may be outdated” disclaimer. |
| plugins/integrations/stackone-connect/README.md | Adds plugin-level README with install and usage cues. |
| plugins/integrations/stackone-connect/.claude-plugin/plugin.json | Adds connect plugin manifest metadata. |
| plugins/integrations/stackone-cli/skills/stackone-cli/SKILL.md | Adds custom connector development skill content. |
| plugins/integrations/stackone-cli/README.md | Adds plugin-level README with install and usage cues. |
| plugins/integrations/stackone-cli/.claude-plugin/plugin.json | Adds CLI plugin manifest metadata. |
| plugins/integrations/stackone-agents/skills/stackone-agents/SKILL.md | Adds agent integration skill content (SDKs/MCP/A2A guidance). |
| plugins/integrations/stackone-agents/skills/stackone-agents/references/integration-guide.md | Adds decision tree for choosing integration method and framework conversions. |
| plugins/integrations/stackone-agents/README.md | Adds plugin-level README with install and usage cues. |
| plugins/integrations/stackone-agents/.claude-plugin/plugin.json | Adds agents plugin manifest metadata. |
| package.json | Removes root package manifest (ML deps moved to Defender plugin). |
| package-lock.json | Removes root lockfile (no longer a root Node package). |
| .release-please-config.json | Switches to simple release type and tracks per-plugin versions + marketplace metadata. |
| .claude-plugin/plugin.json | Removes bundled stackone plugin manifest (replaced by per-plugin manifests). |
| .claude-plugin/marketplace.json | Renames marketplace and enumerates 7 plugins with local sources. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## Feedback | ||
|
|
||
| Use `defender-feedback.mjs` to mark a recent flag as a false positive so the daemon's local cache adapts. |
There was a problem hiding this comment.
Fixed in d672850 — confirmed the script only appends to ~/.claude/defender-feedback.jsonl (and best-effort POSTs to a collector when configured); the daemon does not read it back. README updated to match.
- defender README: clarify what defender-feedback.mjs actually does (appends to ~/.claude/defender-feedback.jsonl, best-effort POSTs to collector when configured) — it does NOT modify the running daemon's classifier state, as cubic and copilot both flagged - root README: drop the non-existent `/plugin list @marketplace` command and point users at the interactive `/plugin` Discover tab Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
0 issues found across 2 files (changes from recent commits).
Auto-approved: This PR restructures plugin metadata and file layout (renaming marketplace, splitting a bundled plugin into 7 independent ones) without touching any business logic, runtime code, or critical configurations; the actual skill content and defender scripts are preserved via git mv, and the manifest was
Re-trigger cubic
Summary
stackone-marketplace→stackone-agent-plugins(so/plugin marketplace add stackonehq/agent-pluginsand/plugin install <name>@stackone-agent-pluginsuse a name that matches the repo).stackoneplugin into 7 independent plugins — one per skill — modelled on stackone-claude-marketplace. Users can now install just the skill they need instead of pulling all 7.plugins/security/stackone-defender/. Other 6 plugins are skill-only.Layout
Each plugin has its own
.claude-plugin/plugin.json+README.md. Allgit mvwas used so history is preserved.Behavioural notes
${CLAUDE_PLUGIN_ROOT}/scripts/scan-tool-result.mjsis unchanged —CLAUDE_PLUGIN_ROOTresolves per-plugin, so movingscripts/inside the defender plugin folder needed no edits tohooks.jsonor the scripts themselves.node_modulesvianpm install --prefix pluginRoot, reading deps fromplugins/security/stackone-defender/package.json. The rootpackage.jsonis removed because no other plugin needs it.release-please-config.jsonnow tracks per-pluginplugin.jsonversions plus the marketplace metadata.Validation
Ran locally:
CI's
Validate Plugin Manifestworkflow will run the same check on this PR.Test plan
Validate Plugin Manifestworkflow passes/plugin marketplace add stackonehq/agent-pluginsresolves under the new name/plugin install stackone-defender@stackone-agent-pluginstriggers the npm self-install and the PostToolUse hook fires/plugin install stackone-platform@stackone-agent-plugins(skill-only) installs and the skill is visible🤖 Generated with Claude Code