Add installable GenSwarms skills#73
Conversation
📝 WalkthroughWalkthroughAdds Claude Code and Codex plugin marketplace manifests, packages a new ChangesPlugin marketplace and packaging
Estimated code review effort: 2 (Simple) | ~15 minutes Existing docs and skill link updates
Estimated code review effort: 1 (Trivial) | ~10 minutes Estimated code review effortEstimated code review effort: 2 (Simple) | ~15 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@lib/mix/tasks/genswarms/build.ex`:
- Around line 32-35: Update the usage example in the task docs for genswarms
build so the `--push` example makes the registry requirement explicit, since
`push_image/2` only uploads when `DOCKER_REGISTRY` is set. Adjust the example
near `mix genswarms build base --push` to mention that a registry must be
configured, and keep the change limited to the help text/documentation around
the build command.
In `@plugins/genswarms/skills/genswarms-use/SKILL.md`:
- Around line 38-48: Add the missing language tag to the fenced CLI example
block in SKILL.md by updating the code fence around the genswarms commands to
use bash. Keep the block contents unchanged and ensure the markdown example is
identified as a bash snippet so markdownlint passes cleanly.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 788602dd-4a5d-4d8c-9301-852a084bfc37
⛔ Files ignored due to path filters (1)
plugins/genswarms/assets/logo.svgis excluded by!**/*.svg
📒 Files selected for processing (11)
.agents/plugins/marketplace.json.claude-plugin/marketplace.json.claude/skills/genswarms-contribute/SKILL.md.claude/skills/genswarms-use/SKILL.mdREADME.mddocs/blog/posts/2026-06-06-set-up-a-genswarm-with-your-agent.mdlib/mix/tasks/genswarms/build.explugins/genswarms/.claude-plugin/plugin.jsonplugins/genswarms/.codex-plugin/plugin.jsonplugins/genswarms/skills/genswarms-contribute/SKILL.mdplugins/genswarms/skills/genswarms-use/SKILL.md
| mix genswarms build base # Build base image | ||
| mix genswarms build --all # Build all images | ||
| mix genswarms build base --push # Build and push | ||
| mix genswarms build base --tag v1.0 # Custom tag |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Mention the registry prerequisite in the push example.
push_image/2 only uploads when DOCKER_REGISTRY is set, so this example currently reads like --push always publishes an image.
♻️ Proposed fix
- mix genswarms build base --push # Build and push
+ mix genswarms build base --push # Build and push (requires DOCKER_REGISTRY)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| mix genswarms build base # Build base image | |
| mix genswarms build --all # Build all images | |
| mix genswarms build base --push # Build and push | |
| mix genswarms build base --tag v1.0 # Custom tag | |
| mix genswarms build base # Build base image | |
| mix genswarms build --all # Build all images | |
| mix genswarms build base --push # Build and push (requires DOCKER_REGISTRY) | |
| mix genswarms build base --tag v1.0 # Custom tag |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@lib/mix/tasks/genswarms/build.ex` around lines 32 - 35, Update the usage
example in the task docs for genswarms build so the `--push` example makes the
registry requirement explicit, since `push_image/2` only uploads when
`DOCKER_REGISTRY` is set. Adjust the example near `mix genswarms build base
--push` to mention that a registry must be configured, and keep the change
limited to the help text/documentation around the build command.
| ``` | ||
| genswarms start <config> start a swarm as a daemon | ||
| genswarms status [name] lifecycle + agent state | ||
| genswarms task <name> … send a task into the swarm | ||
| genswarms msg <name> … send a message to an agent | ||
| genswarms logs / events stream logs / the event log | ||
| genswarms scale <name> … grow/shrink an agent group live | ||
| genswarms overlay / snapshot inspect/mutate the running swarm's IR | ||
| genswarms stop | restart lifecycle | ||
| genswarms list-skills | build | config | check | init | dashboard(up)/down | env | ||
| ``` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Add a language tag to the CLI example block.
The fenced command block at Line 38 is missing a language tag, which trips markdownlint. Mark it as bash so the docs validate cleanly.
♻️ Proposed fix
-```
+```bash📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ``` | |
| genswarms start <config> start a swarm as a daemon | |
| genswarms status [name] lifecycle + agent state | |
| genswarms task <name> … send a task into the swarm | |
| genswarms msg <name> … send a message to an agent | |
| genswarms logs / events stream logs / the event log | |
| genswarms scale <name> … grow/shrink an agent group live | |
| genswarms overlay / snapshot inspect/mutate the running swarm's IR | |
| genswarms stop | restart lifecycle | |
| genswarms list-skills | build | config | check | init | dashboard(up)/down | env | |
| ``` |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 38-38: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@plugins/genswarms/skills/genswarms-use/SKILL.md` around lines 38 - 48, Add
the missing language tag to the fenced CLI example block in SKILL.md by updating
the code fence around the genswarms commands to use bash. Keep the block
contents unchanged and ensure the markdown example is identified as a bash
snippet so markdownlint passes cleanly.
Source: Linters/SAST tools
Adds Claude Code and Codex plugin metadata so GenSwarms skills can be installed from marketplace entries. Bundles use and contribution skills with hosted documentation links so installed agents do not depend on a local GenSwarms checkout. Updates README and blog setup instructions for the plugin install flow. Also refreshes build help text to match the current image allowlist: base, web, code, data, full, python, node, and devops. Validated with plugin manifest checks, skill frontmatter checks, Codex plugin validation, Claude plugin validation, mix format check, and git diff whitespace checks.
Summary by CodeRabbit
New Features
Documentation
Bug Fixes