feat(plugin): convert project to Claude Code plugin, rename orchestrator to /sdd:run - #20
Merged
Conversation
Add .claude-plugin/plugin.json manifest and marketplace.json for
self-hosted distribution. Update script paths in migrate and
review-migration skills to use ${CLAUDE_SKILL_DIR} for plugin cache
compatibility. Update README with plugin installation instructions
and correct repo URL to h4b-dev org.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename the orchestrator skill from skills/sdd/ to skills/run/ so it becomes /sdd:run in the plugin namespace. Remove install.sh — the project is now plugin-only. Update all references in CLAUDE.md, README.md, test files, and rule globs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Strip settings.json to plugin-supported keys only (permissions and env vars cannot be shipped via plugins) - Add hooks/hooks.json with automatic PreToolUse hook that blocks dangerous git operations (git push --force, git reset --hard, git add ., --no-verify) — active whenever the plugin is enabled - Add CHANGELOG.md for version tracking - Update README with expanded recommended settings section explaining what users need to configure themselves - Update ship SKILL.md to document the hook as automatic vs on-demand Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add paths triggers for agents/, hooks/, .claude-plugin/, and settings.json. Add validate-plugin job that checks plugin.json, marketplace.json, hooks.json, settings.json are valid JSON, verifies required manifest fields, and ensures plugin directory structure follows best practices (components at root, not inside .claude-plugin/). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Converts the project from symlink-based installation to a plugin-only distribution model, aligned with official Claude Code plugin best practices.
What changed
.claude-plugin/plugin.json: Plugin manifest (name:sdd, v1.0.0).claude-plugin/marketplace.json: Self-hosted marketplace cataloghooks/hooks.json: New — automatic PreToolUse hook blocking dangerous git operations (active whenever plugin is enabled)CHANGELOG.md: New — version tracking per best practicesskills/sdd/→skills/run/: Renamed orchestrator so it becomes/sdd:runskills/migrate/SKILL.md: Script paths use${CLAUDE_SKILL_DIR}for plugin cache compatibilityskills/review-migration/SKILL.md: Same script path fixskills/ship/SKILL.md: Hook section updated — now automatic via plugin, no manual config neededsettings.json: Stripped to plugin-supported keys only (permissions/env moved to README as recommended config)install.sh: Removed — plugin-only distributionREADME.md: Plugin install instructions, expanded recommended settings sectionCLAUDE.md: Updated all skill references to plugin namespace.claude/rules/sdd-workflow.md: Updated glob fromskills/sdd/**toskills/run/**tests/: Updated trigger and functional test referencesChange overview
graph TD A[New: .claude-plugin/plugin.json] -->|defines| B[Plugin: sdd] C[New: .claude-plugin/marketplace.json] -->|catalogs| B D[New: hooks/hooks.json] -->|auto-protects| B B -->|discovers| E[skills/run/ — orchestrator] B -->|discovers| F[skills/spec, plan, etc.] B -->|discovers| G[agents/] B -->|discovers| H[.mcp.json] I[Removed: install.sh] -.->|replaced by| BHow to test
claude --plugin-dir /path/to/rob-agent-workflow/sdd:run,/sdd:spec,/sdd:plan, etc.claude plugin validate .— passesbash tests/validate-skills.sh— all 13 skills pass (0 failures)Breaking changes
install.shremoved — users must install as a plugin/spec→/sdd:spec,/sdd→/sdd:runsettings.jsonno longer ships permissions — users must add recommended settings themselves