Skip to content

feat(skills): add MiniMax-AI/cli as default skill tap#1726

Merged
arnestrickmann merged 1 commit intogeneralaction:mainfrom
octo-patch:feat/tap-minimax-cli
Apr 15, 2026
Merged

feat(skills): add MiniMax-AI/cli as default skill tap#1726
arnestrickmann merged 1 commit intogeneralaction:mainfrom
octo-patch:feat/tap-minimax-cli

Conversation

@octo-patch
Copy link
Copy Markdown

@octo-patch octo-patch commented Apr 15, 2026

Summary

  • Add MiniMax-AI/cli (skill/ path) to the bundled catalog (bundled-catalog.json) and refreshCatalog() in SkillsService.ts so the mmx-cli skill is discoverable out of the box
  • Users can install via the Skills panel in Emdash — the SKILL.md is fetched directly from MiniMax-AI/cli using the existing GitHub Trees API fallback
  • Skill updates are fully decoupled: MiniMax maintains the upstream SKILL.md, no changes needed in this project

2 files changed, 31 insertions.

What is mmx-cli?

mmx-cli is a CLI tool for the MiniMax AI platform, providing:

  • Text generation (MiniMax-M2.7 model)
  • Image generation (image-01)
  • Video generation (Hailuo-2.3)
  • Speech synthesis (speech-2.8-hd, 300+ voices)
  • Music generation (music-2.6, with lyrics, cover, and instrumental)
  • Web search

The SKILL.md follows the agentskills.io standard.

Test plan

  • Open the Skills panel in Emdash — mmx-cli appears in the catalog before any refresh
  • Click "Refresh catalog" — mmx-cli remains visible (added to refreshCatalog())
  • Click "Install" on mmx-cli — SKILL.md is fetched from MiniMax-AI/cli via the GitHub Trees API and synced to all detected agents

Summary by CodeRabbit

  • New Features
    • Added MiniMax CLI as a new available skill, enabling text, image, video, speech, and music generation through the MiniMax AI platform.

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 15, 2026

Someone is attempting to deploy a commit to the General Action Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 15, 2026

📝 Walkthrough

Walkthrough

A new MiniMax CLI catalog skill entry with id mmx-cli was added to the bundled catalog JSON and integrated into the SkillsService's refreshCatalog() method, enabling content generation across text, images, video, speech, and music capabilities through the MiniMax AI platform.

Changes

Cohort / File(s) Summary
MiniMax CLI Skill Integration
src/main/services/SkillsService.ts, src/main/services/skills/bundled-catalog.json
Added new mmx-cli catalog skill entry with metadata (icon, brand color, default prompt, frontmatter) to both the bundled catalog and the refreshCatalog() method's consolidated skills list, enabling MiniMax AI platform integration for multi-modal content generation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰✨ A whisker-twitch of joy! The MiniMax CLI hops into our catalog with flair,
Generating text, images, videos, and melodies through the AI-powered air.
One new entry, two files unified—the bundled skills grow,
From MiniMax's own repository, a creative overtlow! 🎨🎵

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(skills): add MiniMax-AI/cli as default skill tap' clearly and specifically describes the main change—adding the MiniMax-AI/cli skill to the bundled catalog as a default skill tap—which aligns with both file modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

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 | 🟠 Major

Fallback-to-bundled is unintentionally bypassed after adding mmx-cli.

Because allSkills.push(...) at Line 132 runs before the fallback check, skills.length at Line 152 is never 0. If both remote catalogs fail, this path now skips fallback and can persist a catalog with only mmx-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

📥 Commits

Reviewing files that changed from the base of the PR and between 4f84815 and 6e2acb1.

📒 Files selected for processing (2)
  • src/main/services/SkillsService.ts
  • src/main/services/skills/bundled-catalog.json

@arnestrickmann
Copy link
Copy Markdown
Contributor

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

@arnestrickmann arnestrickmann merged commit 3bfd9ef into generalaction:main Apr 15, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants