converter
Cross-platform skill converter. Parse AgentOps skills into a universal bundle format, then convert to target platforms (Codex, Cursor). Triggers: convert, converter, convert skill, export skill, cross-platform.
Best use case
converter is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Cross-platform skill converter. Parse AgentOps skills into a universal bundle format, then convert to target platforms (Codex, Cursor). Triggers: convert, converter, convert skill, export skill, cross-platform.
Teams using converter should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/converter/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How converter Compares
| Feature / Agent | converter | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Cross-platform skill converter. Parse AgentOps skills into a universal bundle format, then convert to target platforms (Codex, Cursor). Triggers: convert, converter, convert skill, export skill, cross-platform.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# $converter -- Cross-Platform Skill Converter Parse AgentOps skills into a universal SkillBundle format, then convert to target agent platforms. ## Quick Start ```bash $converter skills/council codex # Convert council skill to Codex format $converter skills/vibe cursor # Convert vibe skill to Cursor format $converter --all codex # Convert all skills to Codex ``` ## Pipeline The converter runs a three-stage pipeline: ``` parse --> convert --> write ``` ### Stage 1: Parse Read the source skill directory and produce a SkillBundle: - Extract YAML frontmatter from SKILL.md (between `---` markers) - Collect the markdown body (everything after the closing `---`) - Enumerate all files in `references/` and `scripts/` - Assemble into a SkillBundle (see `references/skill-bundle-schema.md`) ### Stage 2: Convert Transform the SkillBundle into the target platform's format: | Target | Output Format | Status | |--------|---------------|--------| | `codex` | Codex SKILL.md + prompt.md | Implemented | | `cursor` | Cursor .mdc rule + optional mcp.json | Implemented | The Codex adapter produces a `SKILL.md` with YAML frontmatter (`name`, `description`) plus rewritten body content and a `prompt.md` (Codex prompt referencing the skill). Default mode is **modular**: reference docs, scripts, and resources are copied as files and `SKILL.md` includes a local resource index instead of inlining everything. Optional **inline** mode preserves the older behavior by appending inlined references and script code blocks. Codex output rewrites known slash-skill references (for example `$plan`) to dollar-skill syntax (`$plan`), replaces Claude-specific paths/labels (including `~/.codex/`, `$HOME/.codex/`, and `/.codex/` path variants), normalizes common mixed-runtime terms (for example `Codex sub-agents`, `codex-sub-agents`, and `Codex session/runtime`) to Codex-native phrasing, and rewrites Claude-only primitive labels to runtime-neutral wording. It preserves current flat `ao` CLI commands from the source skill rather than reintroducing deprecated namespace forms. It also deduplicates repeated "In Codex" runtime headings after rewrite while preserving section content. It preserves non-generated resource files/directories from the source skill (for example `templates/`, `assets/`, `schemas/`, `examples/`, `agents/`) and enforces passthrough parity (missing copied resources fail conversion). Descriptions are truncated to 1024 chars at a word boundary if needed. The Cursor adapter produces a `<name>.mdc` rule file with YAML frontmatter (`description`, `globs`, `alwaysApply: false`) and body content. References are inlined into the body, scripts are included as code blocks. Output is budget-fitted to 100KB max -- references are omitted largest-first if the total exceeds the limit. If the skill references MCP servers, a `mcp.json` stub is also generated. ### Stage 3: Write Write the converted output to disk. - **Default output directory:** `.agents/converter/<target>/<skill-name>/` - **Write semantics:** Clean-write. The target directory is deleted before writing. No merge with existing content. ## CLI Usage ```bash # Convert a single skill bash skills/converter/scripts/convert.sh <skill-dir> <target> [output-dir] bash skills/converter/scripts/convert.sh --codex-layout inline <skill-dir> codex [output-dir] # Convert all skills bash skills/converter/scripts/convert.sh --all <target> [output-dir] ``` ### Arguments | Argument | Required | Description | |----------|----------|-------------| | `skill-dir` | Yes (or `--all`) | Path to skill directory (e.g. `skills/council`) | | `target` | Yes | Target platform: `codex`, `cursor`, or `test` | | `output-dir` | No | Override output location. Default: `.agents/converter/<target>/<skill-name>/` | | `--all` | No | Convert all skills in `skills/` directory | | `--codex-layout` | No | Codex-only layout mode: `modular` (default) or `inline` (legacy inlined refs/scripts) | ## Supported Targets - **codex** -- Convert to OpenAI Codex format (`SKILL.md` + `prompt.md`) with codex-native rewrites (slash-to-dollar skills, `.claude` path variants to `.codex`, mixed-runtime term normalization to Codex phrasing, Claude primitive label neutralization, duplicate runtime-heading cleanup, and flat `ao` CLI preservation). Default is modular output with copied resources and a `SKILL.md` local-resource index; pass `--codex-layout inline` for legacy inlined refs/scripts. Converter enforces passthrough parity so missing copied resources fail fast. Output: `<dir>/SKILL.md`, `<dir>/prompt.md`, and copied resources. - **cursor** -- Convert to Cursor rules format (`.mdc` rule file + optional `mcp.json`). Output: `<dir>/<name>.mdc` and optionally `<dir>/mcp.json`. - **test** -- Emit the raw SkillBundle as structured markdown. Useful for debugging the parse stage. ## Extending To add a new target platform: 1. Add a conversion function to `scripts/convert.sh` (pattern: `convert_<target>`) 2. Update the target table above 3. Add reference docs to `references/` if the target format needs documentation ## Examples ### Converting a single skill to Codex format **User says:** `$converter skills/council codex` **What happens:** 1. The converter parses `skills/council/SKILL.md` frontmatter, markdown body, and any `references/` and `scripts/` files into a SkillBundle. 2. The Codex adapter transforms the bundle into a `SKILL.md` (body + inlined references + scripts as code blocks) and a `prompt.md` (Codex prompt referencing the skill). 3. Output is written to `.agents/converter/codex/council/`. **Result:** A Codex-compatible skill package ready to use with OpenAI Codex CLI. ### Batch-converting all skills to Cursor rules **User says:** `$converter --all cursor` **What happens:** 1. The converter scans every directory under `skills/` and parses each into a SkillBundle. 2. The Cursor adapter transforms each bundle into a `.mdc` rule file with YAML frontmatter and body content, budget-fitted to 100KB max. Skills referencing MCP servers also get a `mcp.json` stub. 3. Each skill's output is written to `.agents/converter/cursor/<skill-name>/`. **Result:** All skills are available as Cursor rules, ready to drop into a `.cursor/rules/` directory. ## Troubleshooting | Problem | Cause | Solution | |---------|-------|----------| | `parse error: no frontmatter found` | SKILL.md is missing the `---` delimited YAML frontmatter block | Add frontmatter with at least `name:` and `description:` fields, or run `$heal-skill --fix` on the skill first | | Cursor `.mdc` output is missing references | Total bundle size exceeded the 100KB budget limit | The converter omits references largest-first to fit the budget. Split large reference files or move non-essential content to external docs | | Output directory already has old files | Previous conversion artifacts remain | This is expected -- the converter clean-writes by deleting the target directory before writing. If old files persist, manually delete `.agents/converter/<target>/<skill>/` | | `--all` skips a skill directory | The directory has no `SKILL.md` file | Ensure each skill directory contains a valid `SKILL.md`. Run `$heal-skill` to detect empty directories | | Codex `prompt.md` description is truncated | The skill description exceeds 1024 characters | This is by design. The converter truncates at a word boundary to fit Codex limits. Shorten the description in SKILL.md frontmatter if the truncation point is awkward | | Conversion fails with passthrough parity check | A resource entry from source skill wasn't copied to output | Ensure source entries are readable and copyable (including nested files). Re-run conversion; failure is intentional to prevent drift between `skills/` and converted output | ## References - `references/skill-bundle-schema.md` -- SkillBundle interchange format specification ## Reference Documents - [references/skill-bundle-schema.md](references/skill-bundle-schema.md) ## Local Resources ### references/ - [references/skill-bundle-schema.md](references/skill-bundle-schema.md) ### scripts/ - `scripts/convert.sh` - `scripts/validate.sh`
Related Skills
vibe
Comprehensive code validation. Runs complexity analysis then multi-model council. Answer: Is this code ready to ship? Triggers: "vibe", "validate code", "check code", "review code", "code quality", "is this ready".
validation
Full validation phase orchestrator. Vibe + post-mortem + retro + forge. Reviews implementation quality, extracts learnings, feeds the knowledge flywheel. Triggers: "validation", "validate", "validate work", "review and learn", "validation phase", "post-implementation review".
update
Reinstall all AgentOps skills globally from the latest source. Triggers: "update skills", "reinstall skills", "sync skills".
trace
Trace design decisions and concepts through session history, handoffs, and git. Triggers: "trace decision", "how did we decide", "where did this come from", "design provenance", "decision history".
test
Test generation, coverage analysis, and TDD workflow. Triggers: "test", "generate tests", "test coverage", "write tests", "tdd", "add tests", "test strategy", "missing tests", "coverage gaps".
status
Single-screen dashboard showing current work, recent validations, flywheel health, and suggested next action. Triggers: "status", "dashboard", "what am I working on", "where was I".
standards
Language-specific coding standards and validation rules. Provides Python, Go, Rust, TypeScript, Shell, YAML, JSON, and Markdown standards. Auto-loaded by $vibe, $implement, $doc, $bug-hunt, $complexity based on file types.
shared
Shared reference documents for multi-agent skills (not directly invocable)
security
Continuous repository security scanning and release gating. Triggers: "security scan", "security audit", "pre-release security", "run scanners", "check vulnerabilities".
security-suite
Composable security suite for binary and prompt-surface assurance, static analysis, dynamic tracing, repo-native redteam scans, contract capture, baseline drift, and policy gating. Triggers: "binary security", "reverse engineer binary", "black-box binary test", "behavioral trace", "baseline diff", "prompt redteam", "security suite".
scenario
Author and manage holdout scenarios for behavioral validation. Scenarios are stored in .agents/holdout/ where implementing agents cannot see them. Triggers: "$scenario", "holdout", "behavioral scenario", "create scenario", "list scenarios".
scaffold
Project scaffolding, component generation, and boilerplate setup. Triggers: "scaffold", "new project", "init project", "create project", "generate component", "setup project", "starter", "boilerplate".