fix: restructure into per-plugin directories with trogonstack- prefix - #9

Merged
yordis merged 1 commit into
mainfrom
fix-plugins-2
Feb 22, 2026
Merged

fix: restructure into per-plugin directories with trogonstack- prefix#9
yordis merged 1 commit into
mainfrom
fix-plugins-2

Conversation

@yordis

Copy link
Copy Markdown
Member

Summary

  • Restructured flat skills/ directory into plugins/ with each plugin as its own directory (trogonstack-diataxis, trogonstack-gh, trogonstack-nats)
  • Added .claude-plugin/plugin.json to each plugin with version 0.0.1
  • Updated marketplace.json to use per-plugin source paths and standard schema

Test plan

  • Verify claude plugin install works with the new structure
  • Confirm skills are discoverable under each plugin

@cursor

cursorBot commented Feb 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Packaging/release metadata changes can break plugin installation/discovery or automated releases if paths/tags don’t match expectations, but no runtime/business logic is modified.

Overview
Updates .claude-plugin/marketplace.json to follow the marketplace schema, add a top-level description, and rename plugins to the trogonstack-* prefix while pointing each entry at its own plugins/... source directory (and adding a category).

Reworks release automation to be per-plugin: release-please config now defines separate package components (with include-component-in-tag and tag-separator: "@"), the manifest tracks versions per plugin path, and the repo-level CHANGELOG.md is removed. Adds per-plugin .claude-plugin/plugin.json files (version 0.0.1) under each plugin directory.

Written by Cursor Bugbot for commit d750d36. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitaiBot commented Feb 22, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 6 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

Restructures Claude plugin packaging: adds marketplace schema and description, standardizes plugin names with "trogonstack-" prefixes and plugin-specific source paths, removes per-plugin skills and legacy metadata, adds three per-plugin manifests, and updates release-please configuration and manifest. CHANGELOG contents were removed.

Changes

Cohort / File(s)Summary
Marketplace config
.claude-plugin/marketplace.json
Added top-level $schema and description; removed metadata; renamed plugin names to trogonstack-..., changed each source to ./plugins/trogonstack-..., removed skills arrays, added category: "development".
Plugin manifests
plugins/trogonstack-diataxis/.claude-plugin/plugin.json, plugins/trogonstack-gh/.claude-plugin/plugin.json, plugins/trogonstack-nats/.claude-plugin/plugin.json
Added three new per-plugin Claude manifest files with name, description, version 0.0.1, and author metadata.
Release configuration
.github/release-please-config.json, .github/release-please-manifest.json
Switched from single-root release manifest to explicit per-plugin package entries, added extra-files jsonpath extraction for plugin versions, adjusted tagging (tag-separator) and release-type settings.
Changelog
CHANGELOG.md
Removed existing changelog entries (file contents deleted).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 In files and paths I hop with glee,

Names aligned—trogonstack-you-and-me,
Manifests sprout in tidy rows,
Schema guides where each one goes,
A tiny rabbit cheers the tree. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description check✅ PassedThe description directly relates to the changeset, providing a clear summary of the restructuring, file additions, and configuration updates made in the pull request.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check✅ PassedThe title accurately describes the main structural changes: moving plugins into per-plugin directories and adding the trogonstack- prefix to plugin names.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-plugins-2

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.

@coderabbitaicoderabbitaiBot 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.

🧹 Nitpick comments (2)
.claude-plugin/marketplace.json (2)

1-29: Consider adding a top-level version field.

Anthropic's own marketplace.json includes a top-level "version": "1.0.0" alongside name, description, and owner. The TrogonStack marketplace omits this field. While optional, adding it enables consistent versioning and easier cache-busting if Claude Code clients ever use it.

✨ Proposed addition
 {
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "trogonstack",
+ "version": "0.0.1",
"description": "Plugins by TrogonStack for Claude Code",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a top-level
"version" field to the marketplace manifest so it includes explicit versioning
alongside the existing name/description/owner entries; update the JSON object
that contains "name": "trogonstack" to include "version": "1.0.0" (or your
chosen semver) immediately after the name or description to maintain consistency
with Anthropic's marketplace.json and enable cache-busting/versioning for the
plugins listed under "plugins".

1-29: Add manifest validation to CI.

A validate-manifests script that runs claude plugin validate on both marketplace.json and all plugin.json files, run as a GitHub Actions step, ensures invalid manifests are never merged. This catches structural regressions early without any manual testing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a CI manifest
validation step by adding a new npm script named "validate-manifests" that runs
"claude plugin validate" against the root .claude-plugin/marketplace.json and
every plugins/*/plugin.json, and then reference that script in the GitHub
Actions workflow (e.g., add a step that runs npm run validate-manifests). Ensure
the script globs all plugin.json files (plugins/*/plugin.json) and exits
non-zero on validation failures so the workflow fails; update the workflow file
to run the script early in PR and push CI jobs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude-plugin/marketplace.json:
- Around line 1-29: Add a top-level "version" field to the marketplace manifest
so it includes explicit versioning alongside the existing name/description/owner
entries; update the JSON object that contains "name": "trogonstack" to include
"version": "1.0.0" (or your chosen semver) immediately after the name or
description to maintain consistency with Anthropic's marketplace.json and enable
cache-busting/versioning for the plugins listed under "plugins".
- Around line 1-29: Add a CI manifest validation step by adding a new npm script
named "validate-manifests" that runs "claude plugin validate" against the root
.claude-plugin/marketplace.json and every plugins/*/plugin.json, and then
reference that script in the GitHub Actions workflow (e.g., add a step that runs
npm run validate-manifests). Ensure the script globs all plugin.json files
(plugins/*/plugin.json) and exits non-zero on validation failures so the
workflow fails; update the workflow file to run the script early in PR and push
CI jobs.

@yordis
yordisforce-pushed the fix-plugins-2 branch 2 times, most recently from 91d7913 to f0eaff4CompareFebruary 22, 2026 22:27

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Comment thread.github/release-please-config.json
@yordisyordis changed the title fix(plugin): restructure into per-plugin directories with trogonstack- prefixfix: restructure into per-plugin directories with trogonstack- prefixFeb 22, 2026
…- prefix
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit 1074076 into mainFeb 22, 2026
4 checks passed
@yordis
yordis deleted the fix-plugins-2 branch February 22, 2026 22:37
Sign up for freeto 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

@yordis
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix: restructure into per-plugin directories with trogonstack- prefix - #9

Merged
yordis merged 1 commit into
mainfrom
fix-plugins-2
Feb 22, 2026
Merged

fix: restructure into per-plugin directories with trogonstack- prefix#9
yordis merged 1 commit into
mainfrom
fix-plugins-2

Conversation

@yordis

Copy link
Copy Markdown
Member

Summary

  • Restructured flat skills/ directory into plugins/ with each plugin as its own directory (trogonstack-diataxis, trogonstack-gh, trogonstack-nats)
  • Added .claude-plugin/plugin.json to each plugin with version 0.0.1
  • Updated marketplace.json to use per-plugin source paths and standard schema

Test plan

  • Verify claude plugin install works with the new structure
  • Confirm skills are discoverable under each plugin

@cursor

cursorBot commented Feb 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Packaging/release metadata changes can break plugin installation/discovery or automated releases if paths/tags don’t match expectations, but no runtime/business logic is modified.

Overview
Updates .claude-plugin/marketplace.json to follow the marketplace schema, add a top-level description, and rename plugins to the trogonstack-* prefix while pointing each entry at its own plugins/... source directory (and adding a category).

Reworks release automation to be per-plugin: release-please config now defines separate package components (with include-component-in-tag and tag-separator: "@"), the manifest tracks versions per plugin path, and the repo-level CHANGELOG.md is removed. Adds per-plugin .claude-plugin/plugin.json files (version 0.0.1) under each plugin directory.

Written by Cursor Bugbot for commit d750d36. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitaiBot commented Feb 22, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 6 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

Restructures Claude plugin packaging: adds marketplace schema and description, standardizes plugin names with "trogonstack-" prefixes and plugin-specific source paths, removes per-plugin skills and legacy metadata, adds three per-plugin manifests, and updates release-please configuration and manifest. CHANGELOG contents were removed.

Changes

Cohort / File(s)Summary
Marketplace config
.claude-plugin/marketplace.json
Added top-level $schema and description; removed metadata; renamed plugin names to trogonstack-..., changed each source to ./plugins/trogonstack-..., removed skills arrays, added category: "development".
Plugin manifests
plugins/trogonstack-diataxis/.claude-plugin/plugin.json, plugins/trogonstack-gh/.claude-plugin/plugin.json, plugins/trogonstack-nats/.claude-plugin/plugin.json
Added three new per-plugin Claude manifest files with name, description, version 0.0.1, and author metadata.
Release configuration
.github/release-please-config.json, .github/release-please-manifest.json
Switched from single-root release manifest to explicit per-plugin package entries, added extra-files jsonpath extraction for plugin versions, adjusted tagging (tag-separator) and release-type settings.
Changelog
CHANGELOG.md
Removed existing changelog entries (file contents deleted).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 In files and paths I hop with glee,

Names aligned—trogonstack-you-and-me,
Manifests sprout in tidy rows,
Schema guides where each one goes,
A tiny rabbit cheers the tree. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description check✅ PassedThe description directly relates to the changeset, providing a clear summary of the restructuring, file additions, and configuration updates made in the pull request.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check✅ PassedThe title accurately describes the main structural changes: moving plugins into per-plugin directories and adding the trogonstack- prefix to plugin names.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-plugins-2

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.

@coderabbitaicoderabbitaiBot 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.

🧹 Nitpick comments (2)
.claude-plugin/marketplace.json (2)

1-29: Consider adding a top-level version field.

Anthropic's own marketplace.json includes a top-level "version": "1.0.0" alongside name, description, and owner. The TrogonStack marketplace omits this field. While optional, adding it enables consistent versioning and easier cache-busting if Claude Code clients ever use it.

✨ Proposed addition
 {
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "trogonstack",
+ "version": "0.0.1",
"description": "Plugins by TrogonStack for Claude Code",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a top-level
"version" field to the marketplace manifest so it includes explicit versioning
alongside the existing name/description/owner entries; update the JSON object
that contains "name": "trogonstack" to include "version": "1.0.0" (or your
chosen semver) immediately after the name or description to maintain consistency
with Anthropic's marketplace.json and enable cache-busting/versioning for the
plugins listed under "plugins".

1-29: Add manifest validation to CI.

A validate-manifests script that runs claude plugin validate on both marketplace.json and all plugin.json files, run as a GitHub Actions step, ensures invalid manifests are never merged. This catches structural regressions early without any manual testing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a CI manifest
validation step by adding a new npm script named "validate-manifests" that runs
"claude plugin validate" against the root .claude-plugin/marketplace.json and
every plugins/*/plugin.json, and then reference that script in the GitHub
Actions workflow (e.g., add a step that runs npm run validate-manifests). Ensure
the script globs all plugin.json files (plugins/*/plugin.json) and exits
non-zero on validation failures so the workflow fails; update the workflow file
to run the script early in PR and push CI jobs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude-plugin/marketplace.json:
- Around line 1-29: Add a top-level "version" field to the marketplace manifest
so it includes explicit versioning alongside the existing name/description/owner
entries; update the JSON object that contains "name": "trogonstack" to include
"version": "1.0.0" (or your chosen semver) immediately after the name or
description to maintain consistency with Anthropic's marketplace.json and enable
cache-busting/versioning for the plugins listed under "plugins".
- Around line 1-29: Add a CI manifest validation step by adding a new npm script
named "validate-manifests" that runs "claude plugin validate" against the root
.claude-plugin/marketplace.json and every plugins/*/plugin.json, and then
reference that script in the GitHub Actions workflow (e.g., add a step that runs
npm run validate-manifests). Ensure the script globs all plugin.json files
(plugins/*/plugin.json) and exits non-zero on validation failures so the
workflow fails; update the workflow file to run the script early in PR and push
CI jobs.

@yordis
yordisforce-pushed the fix-plugins-2 branch 2 times, most recently from 91d7913 to f0eaff4CompareFebruary 22, 2026 22:27

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Comment thread.github/release-please-config.json
@yordisyordis changed the title fix(plugin): restructure into per-plugin directories with trogonstack- prefixfix: restructure into per-plugin directories with trogonstack- prefixFeb 22, 2026
…- prefix
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit 1074076 into mainFeb 22, 2026
4 checks passed
@yordis
yordis deleted the fix-plugins-2 branch February 22, 2026 22:37
Sign up for freeto 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

@yordis
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: restructure into per-plugin directories with trogonstack- prefix - #9

Merged
yordis merged 1 commit into
mainfrom
fix-plugins-2
Feb 22, 2026
Merged

fix: restructure into per-plugin directories with trogonstack- prefix#9
yordis merged 1 commit into
mainfrom
fix-plugins-2

Conversation

@yordis

Copy link
Copy Markdown
Member

Summary

  • Restructured flat skills/ directory into plugins/ with each plugin as its own directory (trogonstack-diataxis, trogonstack-gh, trogonstack-nats)
  • Added .claude-plugin/plugin.json to each plugin with version 0.0.1
  • Updated marketplace.json to use per-plugin source paths and standard schema

Test plan

  • Verify claude plugin install works with the new structure
  • Confirm skills are discoverable under each plugin

@cursor

cursorBot commented Feb 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Packaging/release metadata changes can break plugin installation/discovery or automated releases if paths/tags don’t match expectations, but no runtime/business logic is modified.

Overview
Updates .claude-plugin/marketplace.json to follow the marketplace schema, add a top-level description, and rename plugins to the trogonstack-* prefix while pointing each entry at its own plugins/... source directory (and adding a category).

Reworks release automation to be per-plugin: release-please config now defines separate package components (with include-component-in-tag and tag-separator: "@"), the manifest tracks versions per plugin path, and the repo-level CHANGELOG.md is removed. Adds per-plugin .claude-plugin/plugin.json files (version 0.0.1) under each plugin directory.

Written by Cursor Bugbot for commit d750d36. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitaiBot commented Feb 22, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 6 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

Restructures Claude plugin packaging: adds marketplace schema and description, standardizes plugin names with "trogonstack-" prefixes and plugin-specific source paths, removes per-plugin skills and legacy metadata, adds three per-plugin manifests, and updates release-please configuration and manifest. CHANGELOG contents were removed.

Changes

Cohort / File(s)Summary
Marketplace config
.claude-plugin/marketplace.json
Added top-level $schema and description; removed metadata; renamed plugin names to trogonstack-..., changed each source to ./plugins/trogonstack-..., removed skills arrays, added category: "development".
Plugin manifests
plugins/trogonstack-diataxis/.claude-plugin/plugin.json, plugins/trogonstack-gh/.claude-plugin/plugin.json, plugins/trogonstack-nats/.claude-plugin/plugin.json
Added three new per-plugin Claude manifest files with name, description, version 0.0.1, and author metadata.
Release configuration
.github/release-please-config.json, .github/release-please-manifest.json
Switched from single-root release manifest to explicit per-plugin package entries, added extra-files jsonpath extraction for plugin versions, adjusted tagging (tag-separator) and release-type settings.
Changelog
CHANGELOG.md
Removed existing changelog entries (file contents deleted).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 In files and paths I hop with glee,

Names aligned—trogonstack-you-and-me,
Manifests sprout in tidy rows,
Schema guides where each one goes,
A tiny rabbit cheers the tree. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description check✅ PassedThe description directly relates to the changeset, providing a clear summary of the restructuring, file additions, and configuration updates made in the pull request.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check✅ PassedThe title accurately describes the main structural changes: moving plugins into per-plugin directories and adding the trogonstack- prefix to plugin names.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-plugins-2

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.

@coderabbitaicoderabbitaiBot 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.

🧹 Nitpick comments (2)
.claude-plugin/marketplace.json (2)

1-29: Consider adding a top-level version field.

Anthropic's own marketplace.json includes a top-level "version": "1.0.0" alongside name, description, and owner. The TrogonStack marketplace omits this field. While optional, adding it enables consistent versioning and easier cache-busting if Claude Code clients ever use it.

✨ Proposed addition
 {
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "trogonstack",
+ "version": "0.0.1",
"description": "Plugins by TrogonStack for Claude Code",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a top-level
"version" field to the marketplace manifest so it includes explicit versioning
alongside the existing name/description/owner entries; update the JSON object
that contains "name": "trogonstack" to include "version": "1.0.0" (or your
chosen semver) immediately after the name or description to maintain consistency
with Anthropic's marketplace.json and enable cache-busting/versioning for the
plugins listed under "plugins".

1-29: Add manifest validation to CI.

A validate-manifests script that runs claude plugin validate on both marketplace.json and all plugin.json files, run as a GitHub Actions step, ensures invalid manifests are never merged. This catches structural regressions early without any manual testing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a CI manifest
validation step by adding a new npm script named "validate-manifests" that runs
"claude plugin validate" against the root .claude-plugin/marketplace.json and
every plugins/*/plugin.json, and then reference that script in the GitHub
Actions workflow (e.g., add a step that runs npm run validate-manifests). Ensure
the script globs all plugin.json files (plugins/*/plugin.json) and exits
non-zero on validation failures so the workflow fails; update the workflow file
to run the script early in PR and push CI jobs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude-plugin/marketplace.json:
- Around line 1-29: Add a top-level "version" field to the marketplace manifest
so it includes explicit versioning alongside the existing name/description/owner
entries; update the JSON object that contains "name": "trogonstack" to include
"version": "1.0.0" (or your chosen semver) immediately after the name or
description to maintain consistency with Anthropic's marketplace.json and enable
cache-busting/versioning for the plugins listed under "plugins".
- Around line 1-29: Add a CI manifest validation step by adding a new npm script
named "validate-manifests" that runs "claude plugin validate" against the root
.claude-plugin/marketplace.json and every plugins/*/plugin.json, and then
reference that script in the GitHub Actions workflow (e.g., add a step that runs
npm run validate-manifests). Ensure the script globs all plugin.json files
(plugins/*/plugin.json) and exits non-zero on validation failures so the
workflow fails; update the workflow file to run the script early in PR and push
CI jobs.

@yordis
yordisforce-pushed the fix-plugins-2 branch 2 times, most recently from 91d7913 to f0eaff4CompareFebruary 22, 2026 22:27

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Comment thread.github/release-please-config.json
@yordisyordis changed the title fix(plugin): restructure into per-plugin directories with trogonstack- prefixfix: restructure into per-plugin directories with trogonstack- prefixFeb 22, 2026
…- prefix
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit 1074076 into mainFeb 22, 2026
4 checks passed
@yordis
yordis deleted the fix-plugins-2 branch February 22, 2026 22:37
Sign up for freeto 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

@yordis
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: restructure into per-plugin directories with trogonstack- prefix - #9

Merged
yordis merged 1 commit into
mainfrom
fix-plugins-2
Feb 22, 2026
Merged

fix: restructure into per-plugin directories with trogonstack- prefix#9
yordis merged 1 commit into
mainfrom
fix-plugins-2

Conversation

@yordis

Copy link
Copy Markdown
Member

Summary

  • Restructured flat skills/ directory into plugins/ with each plugin as its own directory (trogonstack-diataxis, trogonstack-gh, trogonstack-nats)
  • Added .claude-plugin/plugin.json to each plugin with version 0.0.1
  • Updated marketplace.json to use per-plugin source paths and standard schema

Test plan

  • Verify claude plugin install works with the new structure
  • Confirm skills are discoverable under each plugin

@cursor

cursorBot commented Feb 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Packaging/release metadata changes can break plugin installation/discovery or automated releases if paths/tags don’t match expectations, but no runtime/business logic is modified.

Overview
Updates .claude-plugin/marketplace.json to follow the marketplace schema, add a top-level description, and rename plugins to the trogonstack-* prefix while pointing each entry at its own plugins/... source directory (and adding a category).

Reworks release automation to be per-plugin: release-please config now defines separate package components (with include-component-in-tag and tag-separator: "@"), the manifest tracks versions per plugin path, and the repo-level CHANGELOG.md is removed. Adds per-plugin .claude-plugin/plugin.json files (version 0.0.1) under each plugin directory.

Written by Cursor Bugbot for commit d750d36. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitaiBot commented Feb 22, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 6 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

Restructures Claude plugin packaging: adds marketplace schema and description, standardizes plugin names with "trogonstack-" prefixes and plugin-specific source paths, removes per-plugin skills and legacy metadata, adds three per-plugin manifests, and updates release-please configuration and manifest. CHANGELOG contents were removed.

Changes

Cohort / File(s)Summary
Marketplace config
.claude-plugin/marketplace.json
Added top-level $schema and description; removed metadata; renamed plugin names to trogonstack-..., changed each source to ./plugins/trogonstack-..., removed skills arrays, added category: "development".
Plugin manifests
plugins/trogonstack-diataxis/.claude-plugin/plugin.json, plugins/trogonstack-gh/.claude-plugin/plugin.json, plugins/trogonstack-nats/.claude-plugin/plugin.json
Added three new per-plugin Claude manifest files with name, description, version 0.0.1, and author metadata.
Release configuration
.github/release-please-config.json, .github/release-please-manifest.json
Switched from single-root release manifest to explicit per-plugin package entries, added extra-files jsonpath extraction for plugin versions, adjusted tagging (tag-separator) and release-type settings.
Changelog
CHANGELOG.md
Removed existing changelog entries (file contents deleted).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 In files and paths I hop with glee,

Names aligned—trogonstack-you-and-me,
Manifests sprout in tidy rows,
Schema guides where each one goes,
A tiny rabbit cheers the tree. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description check✅ PassedThe description directly relates to the changeset, providing a clear summary of the restructuring, file additions, and configuration updates made in the pull request.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check✅ PassedThe title accurately describes the main structural changes: moving plugins into per-plugin directories and adding the trogonstack- prefix to plugin names.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-plugins-2

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.

@coderabbitaicoderabbitaiBot 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.

🧹 Nitpick comments (2)
.claude-plugin/marketplace.json (2)

1-29: Consider adding a top-level version field.

Anthropic's own marketplace.json includes a top-level "version": "1.0.0" alongside name, description, and owner. The TrogonStack marketplace omits this field. While optional, adding it enables consistent versioning and easier cache-busting if Claude Code clients ever use it.

✨ Proposed addition
 {
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "trogonstack",
+ "version": "0.0.1",
"description": "Plugins by TrogonStack for Claude Code",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a top-level
"version" field to the marketplace manifest so it includes explicit versioning
alongside the existing name/description/owner entries; update the JSON object
that contains "name": "trogonstack" to include "version": "1.0.0" (or your
chosen semver) immediately after the name or description to maintain consistency
with Anthropic's marketplace.json and enable cache-busting/versioning for the
plugins listed under "plugins".

1-29: Add manifest validation to CI.

A validate-manifests script that runs claude plugin validate on both marketplace.json and all plugin.json files, run as a GitHub Actions step, ensures invalid manifests are never merged. This catches structural regressions early without any manual testing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a CI manifest
validation step by adding a new npm script named "validate-manifests" that runs
"claude plugin validate" against the root .claude-plugin/marketplace.json and
every plugins/*/plugin.json, and then reference that script in the GitHub
Actions workflow (e.g., add a step that runs npm run validate-manifests). Ensure
the script globs all plugin.json files (plugins/*/plugin.json) and exits
non-zero on validation failures so the workflow fails; update the workflow file
to run the script early in PR and push CI jobs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude-plugin/marketplace.json:
- Around line 1-29: Add a top-level "version" field to the marketplace manifest
so it includes explicit versioning alongside the existing name/description/owner
entries; update the JSON object that contains "name": "trogonstack" to include
"version": "1.0.0" (or your chosen semver) immediately after the name or
description to maintain consistency with Anthropic's marketplace.json and enable
cache-busting/versioning for the plugins listed under "plugins".
- Around line 1-29: Add a CI manifest validation step by adding a new npm script
named "validate-manifests" that runs "claude plugin validate" against the root
.claude-plugin/marketplace.json and every plugins/*/plugin.json, and then
reference that script in the GitHub Actions workflow (e.g., add a step that runs
npm run validate-manifests). Ensure the script globs all plugin.json files
(plugins/*/plugin.json) and exits non-zero on validation failures so the
workflow fails; update the workflow file to run the script early in PR and push
CI jobs.

@yordis
yordisforce-pushed the fix-plugins-2 branch 2 times, most recently from 91d7913 to f0eaff4CompareFebruary 22, 2026 22:27

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Comment thread.github/release-please-config.json
@yordisyordis changed the title fix(plugin): restructure into per-plugin directories with trogonstack- prefixfix: restructure into per-plugin directories with trogonstack- prefixFeb 22, 2026
…- prefix
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit 1074076 into mainFeb 22, 2026
4 checks passed
@yordis
yordis deleted the fix-plugins-2 branch February 22, 2026 22:37
Sign up for freeto 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

@yordis
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix: restructure into per-plugin directories with trogonstack- prefix - #9

Merged
yordis merged 1 commit into
mainfrom
fix-plugins-2
Feb 22, 2026
Merged

fix: restructure into per-plugin directories with trogonstack- prefix#9
yordis merged 1 commit into
mainfrom
fix-plugins-2

Conversation

@yordis

Copy link
Copy Markdown
Member

Summary

  • Restructured flat skills/ directory into plugins/ with each plugin as its own directory (trogonstack-diataxis, trogonstack-gh, trogonstack-nats)
  • Added .claude-plugin/plugin.json to each plugin with version 0.0.1
  • Updated marketplace.json to use per-plugin source paths and standard schema

Test plan

  • Verify claude plugin install works with the new structure
  • Confirm skills are discoverable under each plugin

@cursor

cursorBot commented Feb 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Packaging/release metadata changes can break plugin installation/discovery or automated releases if paths/tags don’t match expectations, but no runtime/business logic is modified.

Overview
Updates .claude-plugin/marketplace.json to follow the marketplace schema, add a top-level description, and rename plugins to the trogonstack-* prefix while pointing each entry at its own plugins/... source directory (and adding a category).

Reworks release automation to be per-plugin: release-please config now defines separate package components (with include-component-in-tag and tag-separator: "@"), the manifest tracks versions per plugin path, and the repo-level CHANGELOG.md is removed. Adds per-plugin .claude-plugin/plugin.json files (version 0.0.1) under each plugin directory.

Written by Cursor Bugbot for commit d750d36. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitaiBot commented Feb 22, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 6 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

Restructures Claude plugin packaging: adds marketplace schema and description, standardizes plugin names with "trogonstack-" prefixes and plugin-specific source paths, removes per-plugin skills and legacy metadata, adds three per-plugin manifests, and updates release-please configuration and manifest. CHANGELOG contents were removed.

Changes

Cohort / File(s)Summary
Marketplace config
.claude-plugin/marketplace.json
Added top-level $schema and description; removed metadata; renamed plugin names to trogonstack-..., changed each source to ./plugins/trogonstack-..., removed skills arrays, added category: "development".
Plugin manifests
plugins/trogonstack-diataxis/.claude-plugin/plugin.json, plugins/trogonstack-gh/.claude-plugin/plugin.json, plugins/trogonstack-nats/.claude-plugin/plugin.json
Added three new per-plugin Claude manifest files with name, description, version 0.0.1, and author metadata.
Release configuration
.github/release-please-config.json, .github/release-please-manifest.json
Switched from single-root release manifest to explicit per-plugin package entries, added extra-files jsonpath extraction for plugin versions, adjusted tagging (tag-separator) and release-type settings.
Changelog
CHANGELOG.md
Removed existing changelog entries (file contents deleted).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 In files and paths I hop with glee,

Names aligned—trogonstack-you-and-me,
Manifests sprout in tidy rows,
Schema guides where each one goes,
A tiny rabbit cheers the tree. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description check✅ PassedThe description directly relates to the changeset, providing a clear summary of the restructuring, file additions, and configuration updates made in the pull request.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check✅ PassedThe title accurately describes the main structural changes: moving plugins into per-plugin directories and adding the trogonstack- prefix to plugin names.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-plugins-2

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.

@coderabbitaicoderabbitaiBot 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.

🧹 Nitpick comments (2)
.claude-plugin/marketplace.json (2)

1-29: Consider adding a top-level version field.

Anthropic's own marketplace.json includes a top-level "version": "1.0.0" alongside name, description, and owner. The TrogonStack marketplace omits this field. While optional, adding it enables consistent versioning and easier cache-busting if Claude Code clients ever use it.

✨ Proposed addition
 {
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "trogonstack",
+ "version": "0.0.1",
"description": "Plugins by TrogonStack for Claude Code",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a top-level
"version" field to the marketplace manifest so it includes explicit versioning
alongside the existing name/description/owner entries; update the JSON object
that contains "name": "trogonstack" to include "version": "1.0.0" (or your
chosen semver) immediately after the name or description to maintain consistency
with Anthropic's marketplace.json and enable cache-busting/versioning for the
plugins listed under "plugins".

1-29: Add manifest validation to CI.

A validate-manifests script that runs claude plugin validate on both marketplace.json and all plugin.json files, run as a GitHub Actions step, ensures invalid manifests are never merged. This catches structural regressions early without any manual testing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a CI manifest
validation step by adding a new npm script named "validate-manifests" that runs
"claude plugin validate" against the root .claude-plugin/marketplace.json and
every plugins/*/plugin.json, and then reference that script in the GitHub
Actions workflow (e.g., add a step that runs npm run validate-manifests). Ensure
the script globs all plugin.json files (plugins/*/plugin.json) and exits
non-zero on validation failures so the workflow fails; update the workflow file
to run the script early in PR and push CI jobs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude-plugin/marketplace.json:
- Around line 1-29: Add a top-level "version" field to the marketplace manifest
so it includes explicit versioning alongside the existing name/description/owner
entries; update the JSON object that contains "name": "trogonstack" to include
"version": "1.0.0" (or your chosen semver) immediately after the name or
description to maintain consistency with Anthropic's marketplace.json and enable
cache-busting/versioning for the plugins listed under "plugins".
- Around line 1-29: Add a CI manifest validation step by adding a new npm script
named "validate-manifests" that runs "claude plugin validate" against the root
.claude-plugin/marketplace.json and every plugins/*/plugin.json, and then
reference that script in the GitHub Actions workflow (e.g., add a step that runs
npm run validate-manifests). Ensure the script globs all plugin.json files
(plugins/*/plugin.json) and exits non-zero on validation failures so the
workflow fails; update the workflow file to run the script early in PR and push
CI jobs.

@yordis
yordisforce-pushed the fix-plugins-2 branch 2 times, most recently from 91d7913 to f0eaff4CompareFebruary 22, 2026 22:27

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Comment thread.github/release-please-config.json
@yordisyordis changed the title fix(plugin): restructure into per-plugin directories with trogonstack- prefixfix: restructure into per-plugin directories with trogonstack- prefixFeb 22, 2026
…- prefix
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit 1074076 into mainFeb 22, 2026
4 checks passed
@yordis
yordis deleted the fix-plugins-2 branch February 22, 2026 22:37
Sign up for freeto 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

@yordis
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: restructure into per-plugin directories with trogonstack- prefix - #9

Merged
yordis merged 1 commit into
mainfrom
fix-plugins-2
Feb 22, 2026
Merged

fix: restructure into per-plugin directories with trogonstack- prefix#9
yordis merged 1 commit into
mainfrom
fix-plugins-2

Conversation

@yordis

Copy link
Copy Markdown
Member

Summary

  • Restructured flat skills/ directory into plugins/ with each plugin as its own directory (trogonstack-diataxis, trogonstack-gh, trogonstack-nats)
  • Added .claude-plugin/plugin.json to each plugin with version 0.0.1
  • Updated marketplace.json to use per-plugin source paths and standard schema

Test plan

  • Verify claude plugin install works with the new structure
  • Confirm skills are discoverable under each plugin

@cursor

cursorBot commented Feb 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Packaging/release metadata changes can break plugin installation/discovery or automated releases if paths/tags don’t match expectations, but no runtime/business logic is modified.

Overview
Updates .claude-plugin/marketplace.json to follow the marketplace schema, add a top-level description, and rename plugins to the trogonstack-* prefix while pointing each entry at its own plugins/... source directory (and adding a category).

Reworks release automation to be per-plugin: release-please config now defines separate package components (with include-component-in-tag and tag-separator: "@"), the manifest tracks versions per plugin path, and the repo-level CHANGELOG.md is removed. Adds per-plugin .claude-plugin/plugin.json files (version 0.0.1) under each plugin directory.

Written by Cursor Bugbot for commit d750d36. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitaiBot commented Feb 22, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 6 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

Restructures Claude plugin packaging: adds marketplace schema and description, standardizes plugin names with "trogonstack-" prefixes and plugin-specific source paths, removes per-plugin skills and legacy metadata, adds three per-plugin manifests, and updates release-please configuration and manifest. CHANGELOG contents were removed.

Changes

Cohort / File(s)Summary
Marketplace config
.claude-plugin/marketplace.json
Added top-level $schema and description; removed metadata; renamed plugin names to trogonstack-..., changed each source to ./plugins/trogonstack-..., removed skills arrays, added category: "development".
Plugin manifests
plugins/trogonstack-diataxis/.claude-plugin/plugin.json, plugins/trogonstack-gh/.claude-plugin/plugin.json, plugins/trogonstack-nats/.claude-plugin/plugin.json
Added three new per-plugin Claude manifest files with name, description, version 0.0.1, and author metadata.
Release configuration
.github/release-please-config.json, .github/release-please-manifest.json
Switched from single-root release manifest to explicit per-plugin package entries, added extra-files jsonpath extraction for plugin versions, adjusted tagging (tag-separator) and release-type settings.
Changelog
CHANGELOG.md
Removed existing changelog entries (file contents deleted).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 In files and paths I hop with glee,

Names aligned—trogonstack-you-and-me,
Manifests sprout in tidy rows,
Schema guides where each one goes,
A tiny rabbit cheers the tree. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description check✅ PassedThe description directly relates to the changeset, providing a clear summary of the restructuring, file additions, and configuration updates made in the pull request.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check✅ PassedThe title accurately describes the main structural changes: moving plugins into per-plugin directories and adding the trogonstack- prefix to plugin names.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-plugins-2

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.

@coderabbitaicoderabbitaiBot 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.

🧹 Nitpick comments (2)
.claude-plugin/marketplace.json (2)

1-29: Consider adding a top-level version field.

Anthropic's own marketplace.json includes a top-level "version": "1.0.0" alongside name, description, and owner. The TrogonStack marketplace omits this field. While optional, adding it enables consistent versioning and easier cache-busting if Claude Code clients ever use it.

✨ Proposed addition
 {
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "trogonstack",
+ "version": "0.0.1",
"description": "Plugins by TrogonStack for Claude Code",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a top-level
"version" field to the marketplace manifest so it includes explicit versioning
alongside the existing name/description/owner entries; update the JSON object
that contains "name": "trogonstack" to include "version": "1.0.0" (or your
chosen semver) immediately after the name or description to maintain consistency
with Anthropic's marketplace.json and enable cache-busting/versioning for the
plugins listed under "plugins".

1-29: Add manifest validation to CI.

A validate-manifests script that runs claude plugin validate on both marketplace.json and all plugin.json files, run as a GitHub Actions step, ensures invalid manifests are never merged. This catches structural regressions early without any manual testing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a CI manifest
validation step by adding a new npm script named "validate-manifests" that runs
"claude plugin validate" against the root .claude-plugin/marketplace.json and
every plugins/*/plugin.json, and then reference that script in the GitHub
Actions workflow (e.g., add a step that runs npm run validate-manifests). Ensure
the script globs all plugin.json files (plugins/*/plugin.json) and exits
non-zero on validation failures so the workflow fails; update the workflow file
to run the script early in PR and push CI jobs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude-plugin/marketplace.json:
- Around line 1-29: Add a top-level "version" field to the marketplace manifest
so it includes explicit versioning alongside the existing name/description/owner
entries; update the JSON object that contains "name": "trogonstack" to include
"version": "1.0.0" (or your chosen semver) immediately after the name or
description to maintain consistency with Anthropic's marketplace.json and enable
cache-busting/versioning for the plugins listed under "plugins".
- Around line 1-29: Add a CI manifest validation step by adding a new npm script
named "validate-manifests" that runs "claude plugin validate" against the root
.claude-plugin/marketplace.json and every plugins/*/plugin.json, and then
reference that script in the GitHub Actions workflow (e.g., add a step that runs
npm run validate-manifests). Ensure the script globs all plugin.json files
(plugins/*/plugin.json) and exits non-zero on validation failures so the
workflow fails; update the workflow file to run the script early in PR and push
CI jobs.

@yordis
yordisforce-pushed the fix-plugins-2 branch 2 times, most recently from 91d7913 to f0eaff4CompareFebruary 22, 2026 22:27

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Comment thread.github/release-please-config.json
@yordisyordis changed the title fix(plugin): restructure into per-plugin directories with trogonstack- prefixfix: restructure into per-plugin directories with trogonstack- prefixFeb 22, 2026
…- prefix
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit 1074076 into mainFeb 22, 2026
4 checks passed
@yordis
yordis deleted the fix-plugins-2 branch February 22, 2026 22:37
Sign up for freeto 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

@yordis
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: restructure into per-plugin directories with trogonstack- prefix - #9

Merged
yordis merged 1 commit into
mainfrom
fix-plugins-2
Feb 22, 2026
Merged

fix: restructure into per-plugin directories with trogonstack- prefix#9
yordis merged 1 commit into
mainfrom
fix-plugins-2

Conversation

@yordis

Copy link
Copy Markdown
Member

Summary

  • Restructured flat skills/ directory into plugins/ with each plugin as its own directory (trogonstack-diataxis, trogonstack-gh, trogonstack-nats)
  • Added .claude-plugin/plugin.json to each plugin with version 0.0.1
  • Updated marketplace.json to use per-plugin source paths and standard schema

Test plan

  • Verify claude plugin install works with the new structure
  • Confirm skills are discoverable under each plugin

@cursor

cursorBot commented Feb 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Packaging/release metadata changes can break plugin installation/discovery or automated releases if paths/tags don’t match expectations, but no runtime/business logic is modified.

Overview
Updates .claude-plugin/marketplace.json to follow the marketplace schema, add a top-level description, and rename plugins to the trogonstack-* prefix while pointing each entry at its own plugins/... source directory (and adding a category).

Reworks release automation to be per-plugin: release-please config now defines separate package components (with include-component-in-tag and tag-separator: "@"), the manifest tracks versions per plugin path, and the repo-level CHANGELOG.md is removed. Adds per-plugin .claude-plugin/plugin.json files (version 0.0.1) under each plugin directory.

Written by Cursor Bugbot for commit d750d36. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitaiBot commented Feb 22, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 6 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

Restructures Claude plugin packaging: adds marketplace schema and description, standardizes plugin names with "trogonstack-" prefixes and plugin-specific source paths, removes per-plugin skills and legacy metadata, adds three per-plugin manifests, and updates release-please configuration and manifest. CHANGELOG contents were removed.

Changes

Cohort / File(s)Summary
Marketplace config
.claude-plugin/marketplace.json
Added top-level $schema and description; removed metadata; renamed plugin names to trogonstack-..., changed each source to ./plugins/trogonstack-..., removed skills arrays, added category: "development".
Plugin manifests
plugins/trogonstack-diataxis/.claude-plugin/plugin.json, plugins/trogonstack-gh/.claude-plugin/plugin.json, plugins/trogonstack-nats/.claude-plugin/plugin.json
Added three new per-plugin Claude manifest files with name, description, version 0.0.1, and author metadata.
Release configuration
.github/release-please-config.json, .github/release-please-manifest.json
Switched from single-root release manifest to explicit per-plugin package entries, added extra-files jsonpath extraction for plugin versions, adjusted tagging (tag-separator) and release-type settings.
Changelog
CHANGELOG.md
Removed existing changelog entries (file contents deleted).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 In files and paths I hop with glee,

Names aligned—trogonstack-you-and-me,
Manifests sprout in tidy rows,
Schema guides where each one goes,
A tiny rabbit cheers the tree. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description check✅ PassedThe description directly relates to the changeset, providing a clear summary of the restructuring, file additions, and configuration updates made in the pull request.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check✅ PassedThe title accurately describes the main structural changes: moving plugins into per-plugin directories and adding the trogonstack- prefix to plugin names.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-plugins-2

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.

@coderabbitaicoderabbitaiBot 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.

🧹 Nitpick comments (2)
.claude-plugin/marketplace.json (2)

1-29: Consider adding a top-level version field.

Anthropic's own marketplace.json includes a top-level "version": "1.0.0" alongside name, description, and owner. The TrogonStack marketplace omits this field. While optional, adding it enables consistent versioning and easier cache-busting if Claude Code clients ever use it.

✨ Proposed addition
 {
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "trogonstack",
+ "version": "0.0.1",
"description": "Plugins by TrogonStack for Claude Code",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a top-level
"version" field to the marketplace manifest so it includes explicit versioning
alongside the existing name/description/owner entries; update the JSON object
that contains "name": "trogonstack" to include "version": "1.0.0" (or your
chosen semver) immediately after the name or description to maintain consistency
with Anthropic's marketplace.json and enable cache-busting/versioning for the
plugins listed under "plugins".

1-29: Add manifest validation to CI.

A validate-manifests script that runs claude plugin validate on both marketplace.json and all plugin.json files, run as a GitHub Actions step, ensures invalid manifests are never merged. This catches structural regressions early without any manual testing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a CI manifest
validation step by adding a new npm script named "validate-manifests" that runs
"claude plugin validate" against the root .claude-plugin/marketplace.json and
every plugins/*/plugin.json, and then reference that script in the GitHub
Actions workflow (e.g., add a step that runs npm run validate-manifests). Ensure
the script globs all plugin.json files (plugins/*/plugin.json) and exits
non-zero on validation failures so the workflow fails; update the workflow file
to run the script early in PR and push CI jobs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude-plugin/marketplace.json:
- Around line 1-29: Add a top-level "version" field to the marketplace manifest
so it includes explicit versioning alongside the existing name/description/owner
entries; update the JSON object that contains "name": "trogonstack" to include
"version": "1.0.0" (or your chosen semver) immediately after the name or
description to maintain consistency with Anthropic's marketplace.json and enable
cache-busting/versioning for the plugins listed under "plugins".
- Around line 1-29: Add a CI manifest validation step by adding a new npm script
named "validate-manifests" that runs "claude plugin validate" against the root
.claude-plugin/marketplace.json and every plugins/*/plugin.json, and then
reference that script in the GitHub Actions workflow (e.g., add a step that runs
npm run validate-manifests). Ensure the script globs all plugin.json files
(plugins/*/plugin.json) and exits non-zero on validation failures so the
workflow fails; update the workflow file to run the script early in PR and push
CI jobs.

@yordis
yordisforce-pushed the fix-plugins-2 branch 2 times, most recently from 91d7913 to f0eaff4CompareFebruary 22, 2026 22:27

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Comment thread.github/release-please-config.json
@yordisyordis changed the title fix(plugin): restructure into per-plugin directories with trogonstack- prefixfix: restructure into per-plugin directories with trogonstack- prefixFeb 22, 2026
…- prefix
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit 1074076 into mainFeb 22, 2026
4 checks passed
@yordis
yordis deleted the fix-plugins-2 branch February 22, 2026 22:37
Sign up for freeto 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

@yordis
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix: restructure into per-plugin directories with trogonstack- prefix - #9

Merged
yordis merged 1 commit into
mainfrom
fix-plugins-2
Feb 22, 2026
Merged

fix: restructure into per-plugin directories with trogonstack- prefix#9
yordis merged 1 commit into
mainfrom
fix-plugins-2

Conversation

@yordis

Copy link
Copy Markdown
Member

Summary

  • Restructured flat skills/ directory into plugins/ with each plugin as its own directory (trogonstack-diataxis, trogonstack-gh, trogonstack-nats)
  • Added .claude-plugin/plugin.json to each plugin with version 0.0.1
  • Updated marketplace.json to use per-plugin source paths and standard schema

Test plan

  • Verify claude plugin install works with the new structure
  • Confirm skills are discoverable under each plugin

@cursor

cursorBot commented Feb 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Packaging/release metadata changes can break plugin installation/discovery or automated releases if paths/tags don’t match expectations, but no runtime/business logic is modified.

Overview
Updates .claude-plugin/marketplace.json to follow the marketplace schema, add a top-level description, and rename plugins to the trogonstack-* prefix while pointing each entry at its own plugins/... source directory (and adding a category).

Reworks release automation to be per-plugin: release-please config now defines separate package components (with include-component-in-tag and tag-separator: "@"), the manifest tracks versions per plugin path, and the repo-level CHANGELOG.md is removed. Adds per-plugin .claude-plugin/plugin.json files (version 0.0.1) under each plugin directory.

Written by Cursor Bugbot for commit d750d36. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitaiBot commented Feb 22, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 6 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

Restructures Claude plugin packaging: adds marketplace schema and description, standardizes plugin names with "trogonstack-" prefixes and plugin-specific source paths, removes per-plugin skills and legacy metadata, adds three per-plugin manifests, and updates release-please configuration and manifest. CHANGELOG contents were removed.

Changes

Cohort / File(s)Summary
Marketplace config
.claude-plugin/marketplace.json
Added top-level $schema and description; removed metadata; renamed plugin names to trogonstack-..., changed each source to ./plugins/trogonstack-..., removed skills arrays, added category: "development".
Plugin manifests
plugins/trogonstack-diataxis/.claude-plugin/plugin.json, plugins/trogonstack-gh/.claude-plugin/plugin.json, plugins/trogonstack-nats/.claude-plugin/plugin.json
Added three new per-plugin Claude manifest files with name, description, version 0.0.1, and author metadata.
Release configuration
.github/release-please-config.json, .github/release-please-manifest.json
Switched from single-root release manifest to explicit per-plugin package entries, added extra-files jsonpath extraction for plugin versions, adjusted tagging (tag-separator) and release-type settings.
Changelog
CHANGELOG.md
Removed existing changelog entries (file contents deleted).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 In files and paths I hop with glee,

Names aligned—trogonstack-you-and-me,
Manifests sprout in tidy rows,
Schema guides where each one goes,
A tiny rabbit cheers the tree. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description check✅ PassedThe description directly relates to the changeset, providing a clear summary of the restructuring, file additions, and configuration updates made in the pull request.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check✅ PassedThe title accurately describes the main structural changes: moving plugins into per-plugin directories and adding the trogonstack- prefix to plugin names.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-plugins-2

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.

@coderabbitaicoderabbitaiBot 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.

🧹 Nitpick comments (2)
.claude-plugin/marketplace.json (2)

1-29: Consider adding a top-level version field.

Anthropic's own marketplace.json includes a top-level "version": "1.0.0" alongside name, description, and owner. The TrogonStack marketplace omits this field. While optional, adding it enables consistent versioning and easier cache-busting if Claude Code clients ever use it.

✨ Proposed addition
 {
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "trogonstack",
+ "version": "0.0.1",
"description": "Plugins by TrogonStack for Claude Code",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a top-level
"version" field to the marketplace manifest so it includes explicit versioning
alongside the existing name/description/owner entries; update the JSON object
that contains "name": "trogonstack" to include "version": "1.0.0" (or your
chosen semver) immediately after the name or description to maintain consistency
with Anthropic's marketplace.json and enable cache-busting/versioning for the
plugins listed under "plugins".

1-29: Add manifest validation to CI.

A validate-manifests script that runs claude plugin validate on both marketplace.json and all plugin.json files, run as a GitHub Actions step, ensures invalid manifests are never merged. This catches structural regressions early without any manual testing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude-plugin/marketplace.json around lines 1 - 29, Add a CI manifest
validation step by adding a new npm script named "validate-manifests" that runs
"claude plugin validate" against the root .claude-plugin/marketplace.json and
every plugins/*/plugin.json, and then reference that script in the GitHub
Actions workflow (e.g., add a step that runs npm run validate-manifests). Ensure
the script globs all plugin.json files (plugins/*/plugin.json) and exits
non-zero on validation failures so the workflow fails; update the workflow file
to run the script early in PR and push CI jobs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude-plugin/marketplace.json:
- Around line 1-29: Add a top-level "version" field to the marketplace manifest
so it includes explicit versioning alongside the existing name/description/owner
entries; update the JSON object that contains "name": "trogonstack" to include
"version": "1.0.0" (or your chosen semver) immediately after the name or
description to maintain consistency with Anthropic's marketplace.json and enable
cache-busting/versioning for the plugins listed under "plugins".
- Around line 1-29: Add a CI manifest validation step by adding a new npm script
named "validate-manifests" that runs "claude plugin validate" against the root
.claude-plugin/marketplace.json and every plugins/*/plugin.json, and then
reference that script in the GitHub Actions workflow (e.g., add a step that runs
npm run validate-manifests). Ensure the script globs all plugin.json files
(plugins/*/plugin.json) and exits non-zero on validation failures so the
workflow fails; update the workflow file to run the script early in PR and push
CI jobs.

@yordis
yordisforce-pushed the fix-plugins-2 branch 2 times, most recently from 91d7913 to f0eaff4CompareFebruary 22, 2026 22:27

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Comment thread.github/release-please-config.json
@yordisyordis changed the title fix(plugin): restructure into per-plugin directories with trogonstack- prefixfix: restructure into per-plugin directories with trogonstack- prefixFeb 22, 2026
…- prefix
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit 1074076 into mainFeb 22, 2026
4 checks passed
@yordis
yordis deleted the fix-plugins-2 branch February 22, 2026 22:37
Sign up for freeto 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

@yordis