{
  "markdown": "# port-skill\n\n## Description\n\nPort any coding-agent skill to all supported platforms in one pass. Give it a skill directory written for Claude Code, Codex, Antigravity, or Gemini CLI and it generates the missing platform files in-place, updates the README with per-platform install instructions, and documents any features that can't be bridged. Native users of every platform get a first-class experience — no manual reformatting, no guesswork.\n\n## Highlights\n\n- **Four-platform output** — generates Codex manifests, Antigravity-compatible SKILL.md files, Gemini CLI extension files, and per-platform README sections from a single source skill\n- **In-place editing** — modifies the target skill directory directly; no intermediate output directory\n- **Gap documentation** — surfaces Claude Code-specific features (auto-triggers, plugin namespacing, subagent dispatch) that have no equivalent on other platforms, in both the ported files and the README\n- **Legacy support** — detects old-style Claude Code slash command files (`.claude/commands/*.md`) and ports them as skills with a clear explanation\n- **Reverse porting** — reads `.codex-plugin/plugin.json` or `gemini-extension.json` and reconstructs a Claude Code `SKILL.md` if the source is a Codex or Gemini CLI skill\n- **Dry-run mode** — preview what files would be created and what gaps would be documented before writing anything\n- **Self-checking validation** — re-reads all ported files after writing and verifies they meet each platform's requirements\n- **Compatibility matrix** — every ported skill gets a README table showing which features work on which platform\n\n## Installation\n\n### From the mackayi marketplace (recommended)\n\n```\n/plugin marketplace add keithmackay/mackayi\n/plugin install port-skill@mackayi\n```\n\n### Claude Code\n\n```bash\ncp -r /path/to/port-skill/ ~/.claude/skills/port-skill/\n```\n\nOr symlink (recommended for development):\n```bash\nln -s /path/to/port-skill/ ~/.claude/skills/port-skill\n```\n\nThen invoke with: `/port-skill`\n\n### Codex\n\nAdd an entry to your marketplace config:\n\n**`~/.agents/plugins/marketplace.json`** (create if absent):\n```json\n{\n  \"name\": \"personal\",\n  \"interface\": { \"displayName\": \"Personal Plugins\" },\n  \"plugins\": [\n    {\n      \"name\": \"port-skill\",\n      \"source\": { \"source\": \"local\", \"path\": \"/path/to/port-skill/\" },\n      \"policy\": { \"installation\": \"AVAILABLE\", \"authentication\": \"ON_INSTALL\" },\n      \"category\": \"Productivity\"\n    }\n  ]\n}\n```\n\n### Antigravity\n\n**Global install** (all workspaces):\n```bash\ncp -r /path/to/port-skill/ ~/.gemini/antigravity/skills/port-skill/\n```\n\n**Workspace install** (current project only):\n```bash\ncp -r /path/to/port-skill/ .agents/skills/port-skill/\n```\n\nSkills are auto-discovered. You can also say \"use the port-skill skill\" to activate it explicitly.\n\n### Gemini CLI\n\n```bash\ngemini extensions install https://github.com/keithmackay/port-skill\n```\n\nTo update:\n```bash\ngemini extensions update port-skill\n```\n\n## Usage\n\n```\n/port-skill <path-to-skill-directory> [--dry-run]\n```\n\nExamples:\n```\n/port-skill ~/.claude/skills/git-release/\n/port-skill ./my-plugins/code-reviewer/\n/port-skill ~/.claude/commands/my-old-command.md\n/port-skill ~/.claude/skills/my-skill/ --dry-run\n```\n\nThe porter will:\n1. Read the skill at the given path and detect its source platform\n2. Generate the files needed for all other platforms (in-place)\n3. Update the skill's `README.md` with per-platform install instructions and a compatibility matrix\n4. Document any features that can't be ported in both the ported files and the README\n5. Validate all ported files before reporting completion\n\nPass `--dry-run` to preview what would be created without writing any files.\n\n## Validation\n\nAfter writing all ported files, the porter re-reads each one and verifies it meets the target platform's requirements before reporting completion:\n\n| Check | Platforms |\n|-------|-----------|\n| `plugin.json` is valid JSON with required fields (`name`, `version`, `description`, `skills`) | Codex |\n| `SKILL.md` has YAML frontmatter with `name` and `description` | Codex, Gemini CLI |\n| Claude Code-specific frontmatter fields are stripped (`metadata`, `retrieval`, `tags`) | Antigravity, Gemini CLI |\n| `gemini-extension.json` is valid JSON with required fields (`name`, `description`, `version`, `contextFileName`) | Gemini CLI |\n| `GEMINI.md` contains at least one `@` include pointing to an existing file | Gemini CLI |\n| README has `## Installation`, `## Compatibility`, and `## References` sections | All platforms |\n\nAny validation failure is fixed before the run is declared complete.\n\n## Compatibility\n\n| Feature | Claude Code | Codex | Antigravity | Gemini CLI |\n|---------|:-----------:|:-----:|:-----------:|:----------:|\n| Core skill | ✅ | ✅ | ✅ | ✅ |\n| Auto-trigger (`bashPatterns`) | ✅ | ❌ | ❌ | ❌ |\n| Auto-trigger (`pathPatterns`) | ✅ | ❌ | ❌ | ❌ |\n| Auto-trigger (`promptSignals`) | ✅ | ❌ | ❌ | ❌ |\n| Sub-documents (`operations/`) | ✅ | ✅ | ✅ | ✅ |\n| Scripts (`scripts/`) | ✅ | ✅ | ✅ | ✅ |\n| Plugin namespacing (`plugin:skill`) | ✅ | ❌ | ❌ | ❌ |\n| `retrieval.aliases` | ✅ | ❌ | ❌ | ❌ |\n| `tags` field | ✅ | ❌ | ❌ | ❌ |\n| Subagent dispatch | ✅ | ✅ | ✅ | ❌ |\n| Legacy slash command input | ✅ | ✅ | ✅ | ✅ |\n| Dry-run mode | ✅ | ✅ | ✅ | ✅ |\n\nLegend: ✅ Supported · ❌ Not supported\n\n## References\n\n- **Claude Code Skills:** https://code.claude.com/docs/en/skills\n- **Claude Code Complete Guide (PDF):** https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf\n- **Codex Plugins:** https://developers.openai.com/codex/plugins/build\n- **Antigravity Skills:** https://antigravity.google/docs/skills\n- **Gemini CLI Extensions:** https://github.com/google-gemini/gemini-cli/blob/main/docs/extension.md\n- **Agent Skills open standard:** https://agentskills.io/home\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for release history.\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 5919,
  "sha": "2096cc6fdc64443de9f4de63df94fc03bd79dcc94d581713e5bf3bfe702b4624",
  "repo_slug": "keithmackay/port-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_keithmackay_port_skill_afe1e8ed/readme"
}