Skip to main content

skill-bridge

Convert an openclaw (or similar) skill folder into a mavis/mcode-compatible skill via the bundled stdio MCP server `skill-bridge`. Use when the user wants to migrate a skill from openclaw, reuse a skill from another framework, or port a hand-written skill that does not follow the mavis schema. Do NOT use to create a brand-new skill from scratch (use `skill-creator` instead), or to lint/refine an existing mavis skill (use `skill-refiner`).

Zur Installation springen

Quellinformationen

Repository
MiniMax-AI/MiniMax-Code-Plugins
Letzte Quellaktivität
25. August 2026 um 02:52
Erkannte Sprache von SKILL.md
Englisch
Sterne
11
Forks
10

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
skill-bridge
description
Convert an openclaw (or similar) skill folder into a mavis/mcode-compatible skill via the bundled stdio MCP server `skill-bridge`. Use when the user wants to migrate a skill from openclaw, reuse a skill from another framework, or port a hand-written skill that does not follow the mavis schema. Do NOT use to create a brand-new skill from scratch (use `skill-creator` instead), or to lint/refine an existing mavis skill (use `skill-refiner`).
descriptions
{"zh-Hans":"通过内置的 stdio MCP server `skill-bridge`,把 openclaw(或类似框架)\n的 skill 转换为 mavis/mcode 兼容的 skill。需要迁移/移植/复用 skill 时使用。\n"}
displayNames
{"zh-Hans":"Skill 移植桥"}
metadata
{"openclaw_compat":true,"auto-invoke":""}
# skill-bridge Bring a non-mavis skill into the mavis world. The skill itself is the **thin LLM-facing layer**; the heavy lifting lives in the stdio MCP server declared in `mcp.json` at the plugin root. The MCP server exposes four tools, named after the original v0.1 CLI subcommands: | Tool | Purpose | | --- | --- | | `detect(source)` | Identify UTF-8 vs GBK; restore mojibake if needed. | | `analyze(source)` | Full report: frontmatter, body, hardcoded paths, external commands. | | `classify(source)` | One of `pure` (translatable), `pure-wrapped-fix`, `wrapped-*`, or `abandon`. | | `convert(source, target_dir, force?, run_lint?)` | Run the full pipeline; write to `target_dir`. Lint runs unless `run_lint=false`. | `source` accepts either an absolute path to a `SKILL.md` file or to a directory containing one. `target_dir` is an absolute path that will be created or replaced atomically. ## When to use this skill - The user has an `openclaw` workspace (or any non-mavis skill bundle) and wants to use those skills inside mavis. - The user found a skill on GitHub written in a different agent framework and wants to reuse it. - The user wrote a `SKILL.md` themselves years ago and wants to bring it up to mavis's current schema. Do **not** use this skill for: - Creating a new skill from scratch → `skill-creator` - Fixing or refining an existing mavis skill → `skill-refiner` - Listing what skills are available → read `<available_skills>` from the system prompt ## Inputs to collect - **Source path**: an absolute path to either a `SKILL.md` file or to a folder containing one. If the user gave a relative path, resolve it against the user's cwd before calling the tool. - **Output path**: an absolute path for the converted skill. Default: a folder whose basename matches the kebab-case name. If the user names a scope: - user → `<homedir>/.minimax/skills/<name>/` - agent → `<homedir>/.minimax/agents/mavis/skills/<name>/` - project → `<repo>/.minimax/skills/<name>/` - **Force overwrite (optional)**: only confirm with the user if the target already exists. The server is safe to re-run; `force` is informational. ## Procedure 1. **Detect** the source. Call `detect(source)` and inspect `encoding`. - If `encoding === "unknown"`, warn the user before continuing. - If `encoding === "gbk"` and `replaced === true`, tell the user the source was GBK and we restored it. 2. **Analyze** the full report. Call `analyze(source)` and check `hardcodedPaths` and `externalCommands`. - Non-empty `externalCommands` → the skill is likely `wrapped-*` (v0.2 only emits `pure`; stop and tell the user). 3. **Classify**. Call `classify(source)`. In v0.2, proceed only if `tier === "pure"`. 4. **Convert**. Call `convert(source, target_dir)`. - If the tool returns `ok: false` with `tier: "abandon"` or `tier: "wrapped"`, stop and explain why. - If `ok: true`, read `target_dir/conversion-report.md` and surface the `warnings` array to the user verbatim. - Skim `target_dir/SKILL.md`. If anything looks wrong (missing section, garbled encoding, broken path), tell the user **before** claiming success. 5. **Lint feedback**. The `convert` response already includes the `lint` object (`ok`, `code`, `stdout`, `stderr`). If `ok === false`, surface the lint output and do not claim the conversion is done. 6. **Tell the user** what was written, what to review, and how to use the new skill. Suggest `skill({name: "<converted-name>"})` to verify it loads. ## Output contract - A directory at `target_dir` containing at minimum: - `SKILL.md` — mavis-schema-compliant - `conversion-report.md` — what was changed - optionally `references/<topic>.md` if the body was split The server replaces `target_dir` atomically: at every observable point in time the directory is either the OLD content or the NEW content, never empty or half-written. Re-running with the same `target_dir` is always safe. ## Failure handling - `tier: abandon` from `classify` → do not write; explain the reason to the user. - `tier: wrapped` in v0.2 → tell the user the server only supports `pure` right now; v0.3 will add `wrapped`. - `lint.ok === false` → do not claim success; show the `lint.stdout` and `lint.stderr` verbatim. - `encoding === "unknown"` → ask the user to confirm the source is genuinely UTF-8 before writing. - Target already exists → atomic replace happens by default; only ask the user if you want to confirm before overwriting. ## Examples **Input**: `/path/to/openclaw/skills/task-tracker` **Good path**: 1. `detect(...)` → `utf-8`, no replacement. 2. `classify(...)` → `pure / pure-wrapped-fix` (one hardcoded path group). 3. `convert(source, target_dir)` → `ok: true`, two warnings about path parameterization. 4. Confirm `lint.ok === true`, surface the two warnings to the user. **Bad path**: copy the `SKILL.md` to `<homedir>/.minimax/agents/mavis/skills/<name>/` directly. The user's previous attempt at this failed because (a) the path is not in the mavis scan list and (b) GBK content was not detected. ## Additional resources - `references/compatibility-matrix.md` — known openclaw skills and their tier - `references/path-patterns.md` — the hardcoded path patterns we replace - The MCP server itself: see `mcp.json` + `server.mjs` in the plugin root - The plan that produced this skill: see the plugin's `README.md`
Auf GitHub ansehen