Install
openclaw skills install @openlark/skill-portPorts/adapts OpenClaw skills to other agent platforms (Claude Code, Codex, Cursor, Hermes, opencode, generic Agent Skills).
openclaw skills install @openlark/skill-portConvert an OpenClaw skill into one that works correctly on other agent platforms. Rewrites platform coupling points: tool-name references, system files (AGENTS.md→CLAUDE.md), output directives (MEDIA:, [embed], etc.), platform-specific tools (cron, sessions_, memory_), and paths, and normalizes frontmatter. Use when the user wants to port/adapt/convert an OpenClaw skill. Trigger words: port skill, adapt skill, convert skill.
An OpenClaw skill's structure is already compatible with the Agent Skills standard (SKILL.md + frontmatter + references//scripts//assets/), and every platform reads <dir>/skills/<name>/SKILL.md directly. The real adaptation work lies in the platform coupling inside the content, not the structure. Pure knowledge/content skills need almost zero changes; only skills that reference platform tools or OpenClaw-specific features require substantive rewriting.
MEDIA:/cron/sessions_*) → copy directly + normalize frontmatter.port_skill.py for mechanical replacement, then handle remaining items manually per the report.--dry-run first to preview, confirm, then actually write files.claude-code / codex / cursor / hermes / opencode / generic. See platforms.md for directory locations, instruction files, and frontmatter pitfalls.AGENTS.md→CLAUDE.md), MEDIA:/[embed/[[reply_*, cron/sessions_*/memory_*, and ~/.openclaw/workspace paths. See openclaw-specifics.md.python3 scripts/port_skill.py --source ~/.openclaw/workspace/skills/<name> --target <platform> --out ./ported --dry-run
--dry-run; use --target all to do all platforms at once. See example.md for a complete example.cron, cross-session messages, attachment directives).SKILL.md is valid.scripts/port_skill.py performs deterministic conversion: tool names → system files/paths → frontmatter normalization → outputs a "needs manual handling" report.
Arguments: --target claude-code|codex|cursor|hermes|opencode|generic|all, --dry-run (preview), --strip-output-directives (automatically remove MEDIA:/[embed/[[reply_*]]/[[audio_as_voice]]), --fix-name (fix a name that doesn't match the directory name), --validate, --json.
Replacement precision: short English words (read/write/exec/image…) are replaced only inside backticks; non-English words (sessions_*/memory_*/web_fetch…) are replaced as bare words; AGENTS.md is rewritten to CLAUDE.md only for Claude Code. See tool-mappings.md for the full mapping.
| File | Content | When to read |
|---|---|---|
| tool-mappings.md | Full tool/file/path mapping | When performing replacements, writing scripts |
| openclaw-specifics.md | Classification and handling of platform-specific features | When inventorying coupling points |
| platforms.md | Per-platform directory/instructions/frontmatter/pitfalls | When confirming the target platform |
| example.md | Complete before/after comparison example | First time getting started |