feat(skills): add MiniMax-AI/cli as default skill tap#1726
feat(skills): add MiniMax-AI/cli as default skill tap#1726arnestrickmann merged 1 commit intogeneralaction:mainfrom
Conversation
|
Someone is attempting to deploy a commit to the General Action Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
📝 WalkthroughWalkthroughA new MiniMax CLI catalog skill entry with id Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/main/services/SkillsService.ts (1)
132-155:⚠️ Potential issue | 🟠 MajorFallback-to-bundled is unintentionally bypassed after adding
mmx-cli.Because
allSkills.push(...)at Line 132 runs before the fallback check,skills.lengthat Line 152 is never0. If both remote catalogs fail, this path now skips fallback and can persist a catalog with onlymmx-cli.💡 Proposed fix
const allSkills: CatalogSkill[] = []; if (openaiSkills.status === 'fulfilled') { allSkills.push(...openaiSkills.value); } if (anthropicSkills.status === 'fulfilled') { allSkills.push(...anthropicSkills.value); } + const remoteSkillsCount = allSkills.length; + + // If both remote sources produced nothing, fall back to cached/bundled catalog + if (remoteSkillsCount === 0) { + log.warn('Failed to fetch any remote catalogs, using bundled'); + return this.getCatalogIndex(); + } + allSkills.push({ id: 'mmx-cli', displayName: 'MiniMax CLI', description: 'Generate text, images, video, speech, and music via MiniMax AI platform', source: 'skills-sh', iconUrl: 'https://github.com/MiniMax-AI.png?size=80', brandColor: '#171717', defaultPrompt: 'Use MiniMax to generate content (text, image, video, speech, or music).', frontmatter: { name: 'mmx-cli', description: 'Generate text, images, video, speech, and music via MiniMax AI platform', }, installed: false, owner: 'MiniMax-AI', repo: 'cli', }); const skills = deduplicateById(allSkills); - - // If both failed, fall back to bundled - if (skills.length === 0) { - log.warn('Failed to fetch any remote catalogs, using bundled'); - return this.getCatalogIndex(); - }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/main/services/SkillsService.ts` around lines 132 - 155, The bundled "mmx-cli" entry is added to allSkills before the fallback check, so deduplicateById(skills) will never be empty and the fallback to getCatalogIndex() is bypassed; in SkillsService.ts, modify the logic so that the allSkills.push({... 'mmx-cli' ...}) happens only after you compute skills = deduplicateById(allSkills) and perform the fallback check (or alternatively, add 'mmx-cli' only when skills.length > 0), ensuring the existing check that calls this.getCatalogIndex() when skills.length === 0 still works; update references to allSkills, deduplicateById, and getCatalogIndex accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@src/main/services/SkillsService.ts`:
- Around line 132-155: The bundled "mmx-cli" entry is added to allSkills before
the fallback check, so deduplicateById(skills) will never be empty and the
fallback to getCatalogIndex() is bypassed; in SkillsService.ts, modify the logic
so that the allSkills.push({... 'mmx-cli' ...}) happens only after you compute
skills = deduplicateById(allSkills) and perform the fallback check (or
alternatively, add 'mmx-cli' only when skills.length > 0), ensuring the existing
check that calls this.getCatalogIndex() when skills.length === 0 still works;
update references to allSkills, deduplicateById, and getCatalogIndex
accordingly.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: a20abf01-a7a9-49d4-860b-ec44583dbaa9
📒 Files selected for processing (2)
src/main/services/SkillsService.tssrc/main/services/skills/bundled-catalog.json
|
@octo-patch, thanks for the PR and your contribution. Great addition. I've already heard great things about the Minimax CLI - have to give it a spin inside of Emdash. |
Summary
MiniMax-AI/cli(skill/path) to the bundled catalog (bundled-catalog.json) andrefreshCatalog()inSkillsService.tsso the mmx-cli skill is discoverable out of the box2 files changed, 31 insertions.
What is mmx-cli?
mmx-cli is a CLI tool for the MiniMax AI platform, providing:
The SKILL.md follows the agentskills.io standard.
Test plan
refreshCatalog())MiniMax-AI/clivia the GitHub Trees API and synced to all detected agentsSummary by CodeRabbit