Skip to content

Split skill-set plugin into 5 independent plugins - #3

Merged
ether-moon merged 2 commits into
mainfrom
split-plugin-into-separate-plugins
Nov 11, 2025
Merged

Split skill-set plugin into 5 independent plugins#3
ether-moon merged 2 commits into
mainfrom
split-plugin-into-separate-plugins

Conversation

@ether-moon

@ether-moon ether-moon commented Nov 11, 2025

Copy link
Copy Markdown
Owner

Summary

Split the monolithic skill-set plugin into 5 independent plugins that can be installed separately. Each plugin is now self-contained with its own plugin.json configuration.

Created Plugins

  1. browser-automation - Playwright browser automation with templates
  2. consulting-peer-llms - Peer LLM reviews (Gemini, Codex)
  3. managing-git-workflow - Git workflow automation (commit, push, PR commands)
  4. understanding-code-context - Code exploration with Serena/Context7
  5. coderabbit-feedback - CodeRabbit review processing with Linear integration

Changes

  • ✅ Created flat plugin structure (removed nested skills/ directory)
  • ✅ Generated plugin.json for each plugin
  • ✅ Updated marketplace.json to register all 5 plugins
  • ✅ Updated README.md with individual plugin installation instructions
  • ✅ Removed old skill-set/ directory
  • ✅ Added design document: docs/plans/2025-11-11-plugin-separation-design.md

Installation

Users can now install plugins individually:

/plugin install browser-automation
/plugin install managing-git-workflow
# etc...
Or install all at once:

/plugin install browser-automation consulting-peer-llms managing-git-workflow understanding-code-context coderabbit-feedback

Benefits

  • User flexibility - Install only needed plugins
  • Clearer purpose - Each plugin has focused responsibility
  • Easier maintenance - Changes isolated to specific plugins
  • Better discovery - Users can find specific functionality easily
  • Version independence - Plugins can evolve separately

Summary by CodeRabbit

  • New Features

    • Restructured monolithic plugin into five independent, installable plugins: browser-automation, consulting-peer-llms, managing-git-workflow, understanding-code-context, and coderabbit-feedback.
    • Enabled individual plugin installation or bulk installation options for flexible setup.
  • Documentation

    • Updated README with plugin-based architecture and new installation instructions.
    • Added design documentation outlining plugin separation strategy.

Document the design for splitting skill-set plugin into 5 independent plugins:
- browser-automation
- consulting-peer-llms
- managing-git-workflow
- understanding-code-context
- coderabbit-feedback

Key decisions:
- Complete independence (no shared dependencies)
- Flat structure (no nested skills/ directory)
- Monorepo management
- Command grouping by functionality
Created 5 separate plugins from the monolithic skill-set plugin:
- browser-automation: Playwright automation with templates
- consulting-peer-llms: Peer LLM reviews (Gemini, Codex)
- managing-git-workflow: Git workflow automation (commit, push, PR)
- understanding-code-context: Code exploration with Serena/Context7
- coderabbit-feedback: CodeRabbit review processing with Linear

Changes:
- Created flat plugin structure (removed nested skills/ directory)
- Generated plugin.json for each plugin
- Updated marketplace.json to register all 5 plugins
- Updated README.md with individual plugin installation instructions
- Removed old skill-set/ directory

Each plugin is now independently installable and fully self-contained.
@coderabbitai

coderabbitai Bot commented Nov 11, 2025

Copy link
Copy Markdown

Walkthrough

The PR refactors a monolithic skill-set plugin into five independent, modular plugins within a monorepo structure. Updates include new plugin manifests, a consolidated marketplace configuration, and comprehensive README documentation reflecting the plugin-centric architecture.

Changes

Cohort / File(s) Summary
Plugin Manifests
.claude-plugin/marketplace.json, browser-automation/.claude-plugin/plugin.json, consulting-peer-llms/.claude-plugin/plugin.json, managing-git-workflow/.claude-plugin/plugin.json, understanding-code-context/.claude-plugin/plugin.json, coderabbit-feedback/.claude-plugin/plugin.json
Replaced single skill-set entry with five new plugin entries in marketplace; added four new plugin.json manifests for browser-automation, consulting-peer-llms, managing-git-workflow, and understanding-code-context; updated coderabbit-feedback plugin.json with revised name and description.
Documentation
README.md
Restructured from monolithic description to plugin-centric format; updated installation section to show individual and bulk plugin installs; renamed "Available Skills" to "Available Plugins"; updated command namespaces from /skill-set:* to individual plugin namespaces (e.g., /managing-git-workflow:commit).
Design Document
docs/plans/2025-11-11-plugin-separation-design.md
Added comprehensive design document detailing plugin separation strategy, repository structure, individual plugin layouts, migration plan, design decisions, and testing plan for the five new plugins.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Plugin manifests: Five JSON files with similar structure; verify metadata consistency (names, descriptions, versions, authors)
  • README changes: Substantial rewording across sections; check for accuracy of new command namespaces and installation instructions
  • Design document: Lengthy architectural reference; scan for alignment with actual implementation in other files

Possibly related PRs

Poem

🐰 One plugin grows too large to hop,
So we split it—five stops at the top!
From skill-set's embrace to freedom so sweet,
Each rabbit plugin stands on its own feet! 🌱✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely summarizes the main change: splitting a monolithic plugin into five independent plugins, which matches the core objective and all major changes in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch split-plugin-into-separate-plugins

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (3)
docs/plans/2025-11-11-plugin-separation-design.md (2)

31-31: Add language identifiers to fenced code blocks.

Fenced code blocks should specify their language (e.g., ```json, ```bash) for proper syntax highlighting and linting compliance. This applies to lines 31, 47, 57, 69, 87, and 99.

Example fix for line 31:

-```
+```
 skill-set/  (monorepo root)

Note: Lines 112, 125, 138, 153, 167 contain JSON code blocks that should also use ```json language specifier.

Also applies to: 47-47, 57-57, 69-69, 87-87, 99-99


46-46: Use markdown headings instead of emphasis for section labels.

Lines 46, 56, 68, 86, 98 use bold emphasis (e.g., **browser-automation/**) where proper markdown headings (e.g., ### browser-automation) would be more semantically correct and aid document navigation.

Example fix for line 46:

-**browser-automation/**
+### browser-automation



Also applies to: 56-56, 68-68, 86-86, 98-98

</blockquote></details>
<details>
<summary>README.md (1)</summary><blockquote>

`94-96`: **Add language identifier to code block.**

Line 94's code block should specify a language (e.g., ` ```text ` or ` ```plaintext `) for consistency with markdown linting standards.



```diff
-```
+```text
 Use the [skill-name] skill to [task description]
-```
+```
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 047dc81 and 734c405.

📒 Files selected for processing (8)
  • .claude-plugin/marketplace.json (1 hunks)
  • README.md (2 hunks)
  • browser-automation/.claude-plugin/plugin.json (1 hunks)
  • coderabbit-feedback/.claude-plugin/plugin.json (2 hunks)
  • consulting-peer-llms/.claude-plugin/plugin.json (1 hunks)
  • docs/plans/2025-11-11-plugin-separation-design.md (1 hunks)
  • managing-git-workflow/.claude-plugin/plugin.json (1 hunks)
  • understanding-code-context/.claude-plugin/plugin.json (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
README.md

94-94: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

docs/plans/2025-11-11-plugin-separation-design.md

31-31: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


46-46: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


47-47: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


56-56: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


57-57: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


68-68: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


69-69: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


86-86: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


87-87: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


98-98: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


99-99: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (10)
consulting-peer-llms/.claude-plugin/plugin.json (1)

1-9: LGTM!

The manifest is well-structured and clearly describes the plugin's functionality for parallel LLM reviews.

coderabbit-feedback/.claude-plugin/plugin.json (1)

1-25: LGTM!

The manifest correctly separates this plugin with its own identity, preserving the Linear MCP server configuration and referencing the appropriate commands and agent directories. Structure aligns with the design specification.

understanding-code-context/.claude-plugin/plugin.json (1)

1-9: LGTM!

Clean and focused manifest for a code exploration skill plugin. Description accurately conveys LSP and documentation capabilities.

browser-automation/.claude-plugin/plugin.json (1)

1-9: LGTM!

Well-structured manifest clearly defining browser automation capabilities with Playwright and templates.

.claude-plugin/marketplace.json (1)

7-31: LGTM!

The marketplace successfully aggregates all five independent plugins with consistent metadata. Descriptions align with the plugin manifests and design specification. The consolidated marketplace.json under .claude-plugin/ correctly supports the monorepo distribution model.

managing-git-workflow/.claude-plugin/plugin.json (1)

1-12: LGTM!

Manifest properly separates git workflow commands with the appropriate commands entry point. Structure aligns with the design specification for command-based plugins.

docs/plans/2025-11-11-plugin-separation-design.md (1)

1-282: Comprehensive design document with clear rationale.

The document provides thorough architecture details, concrete examples matching the actual implementation, migration steps, and testing plans. The five-plugin separation rationale is well-articulated, and the design decisions clearly justify the independence model.

README.md (3)

3-27: Clear and comprehensive installation guidance.

The README effectively communicates the shift to a modular plugin architecture with both sequential and parallel installation options. Installation instructions provide immediate clarity for users transitioning from the monolithic plugin model.


29-88: Well-structured plugin documentation with clear use-case guidance.

Each plugin section clearly describes functionality, use cases, and features. The command namespace syntax (/managing-git-workflow:commit) is consistent and intuitive. Command descriptions and feature lists are comprehensive and user-focused.


1-102: Excellent documentation reflecting the plugin separation strategy.

The README successfully reframes the project as a curated collection of independent plugins rather than a monolithic tool. Instructions are clear, plugin purposes are well-articulated, and the namespace-based command syntax provides a clean API for users. The shift from "skills" to "plugins" terminology is appropriately reflected throughout.

@ether-moon
ether-moon merged commit 03630ea into main Nov 11, 2025
1 check 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.

1 participant