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`).

Ir a la instalación

Datos de origen

Repositorio
MiniMax-AI/MiniMax-Code-Plugins
Última actividad en el origen
25 de agosto de 2026 a las 02:52
Idioma detectado de SKILL.md
inglés
Estrellas
11
Forks
10

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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`
Ver en GitHub