Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
0f98ab4
Add rubric tightening & condition-linked uplift design spec
discreteds Apr 26, 2026
d7c445e
Address Codex adversarial review findings in rubric spec
discreteds Apr 26, 2026
9d0397b
Add rubric tightening implementation plan
discreteds Apr 26, 2026
41cbf04
Add canonical platform lookup tables (9 tables)
discreteds Apr 26, 2026
e10476f
feat: rewrite rubric framework with structured conditions and hybrid …
discreteds Apr 26, 2026
a230d37
feat: replace Claude Code prose rubric with structured YAML conditions
discreteds Apr 26, 2026
55978c5
feat: replace Cursor prose rubric with structured YAML conditions
discreteds Apr 26, 2026
2c6639c
feat: replace Gemini CLI prose rubric with structured YAML conditions
discreteds Apr 26, 2026
c738134
feat: replace Codex prose rubric with structured YAML conditions
discreteds Apr 26, 2026
9ac185e
feat: add Antigravity platform rubric (new platform)
discreteds Apr 26, 2026
5837e3a
feat: add OpenClaw platform rubric (new platform)
discreteds Apr 26, 2026
8b6fa13
feat: add Antigravity and OpenClaw templates
discreteds Apr 26, 2026
d6ef80d
chore: remove OpenCode and Copilot CLI platform files
discreteds Apr 26, 2026
c70fbea
feat: annotate templates with fixes: condition ID references
discreteds Apr 26, 2026
7e07529
feat: rewrite assessment skill for condition-driven scoring
discreteds Apr 26, 2026
07b36c6
feat: rewrite uplift skill with condition-linked fixes annotations
discreteds Apr 26, 2026
6875802
chore: complete platform set cleanup across patterns, templates, and …
discreteds Apr 26, 2026
9b8fbed
Add skill merge design spec
discreteds Apr 26, 2026
2ff7630
Address Codex adversarial review of skill merge spec
discreteds Apr 26, 2026
67722a3
Use rubric template field as predefined mapping, drop JIT index
discreteds Apr 26, 2026
13a2aa2
Restructure Phase 0 with structured UI and shape-informed uplift target
discreteds Apr 26, 2026
40dad20
Fix Phase 5 semantics: template action types and category scoping
discreteds Apr 26, 2026
34255e1
Add skill merge implementation plan
discreteds Apr 26, 2026
5493add
feat: populate template field on fixable conditions in all 6 rubrics
discreteds Apr 26, 2026
8f5616f
feat: add consolidated inventory pattern
discreteds Apr 26, 2026
5ac3270
feat: create merged plugin-portability skill
discreteds Apr 26, 2026
46da5c3
feat: complete skill merge — add references, update bootstrap, remove…
discreteds Apr 26, 2026
2f9fcba
chore: update stale skill name references in pattern docs
discreteds Apr 26, 2026
6d5a190
chore: bump version to 0.1.1
discreteds Apr 26, 2026
4884429
fix: update context files for merged skill and new platform set
discreteds Apr 26, 2026
ec5a955
fix: update supporting docs and templates for new platform set
discreteds Apr 26, 2026
d42175e
fix: update README and INSTALL for merged skill and new platforms
discreteds Apr 26, 2026
ce1a82b
fix: update manifest descriptions for new platform set
discreteds Apr 26, 2026
ebd5bb2
fix: update docs and examples for merged skill and new platform set
discreteds Apr 26, 2026
735d4b2
fix: resolve markdown lint errors (line length, double blank lines)
discreteds Apr 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
"plugins": [
{
"name": "skill-portability",
"description": "Uplift any Claude plugin to full multi-platform portability: Cursor, Gemini CLI, OpenCode, and AGENTS.md support",
"version": "0.1.0",
"description": "Assess or uplift any plugin for multi-platform portability: Claude Code, Cursor, Gemini CLI, Codex, Antigravity, and OpenClaw",
"version": "0.1.1",
"source": "./",
"author": {
"name": "Nathaniel Ramm",
Expand Down
4 changes: 2 additions & 2 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "skill-portability",
"description": "Make any plugin fully portable across all platforms. Accepts Claude, Cursor, Gemini, OpenCode, or bare SKILL.md repos as input. Emits every missing platform artifact.",
"version": "0.1.0",
"description": "Make any plugin fully portable across all platforms. Accepts Claude Code, Cursor, Gemini, Codex, Antigravity, OpenClaw, or bare SKILL.md repos as input. Emits every missing platform artifact.",
"version": "0.1.1",
"author": {
"name": "Nathaniel Ramm",
"email": "nathaniel.ramm@discretedatascience.com"
Expand Down
4 changes: 2 additions & 2 deletions .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "skill-portability",
"description": "Make any plugin fully portable across all platforms. Accepts Claude, Cursor, Gemini, OpenCode, or bare SKILL.md repos as input. Emits every missing platform artifact.",
"version": "0.1.0",
"description": "Make any plugin fully portable across all platforms. Accepts Claude Code, Cursor, Gemini, Codex, Antigravity, OpenClaw, or bare SKILL.md repos as input. Emits every missing platform artifact.",
"version": "0.1.1",
"skills": "./skills/",
"hooks": "./hooks/"
}
2 changes: 1 addition & 1 deletion .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
{
"name": "skill-portability",
"source": "./",
"description": "Uplift any plugin to full multi-platform portability: Claude Code, Cursor, Gemini CLI, OpenCode, Copilot CLI, and Codex support"
"description": "Assess or uplift any plugin for multi-platform portability: Claude Code, Cursor, Gemini CLI, Codex, Antigravity, and OpenClaw"
}
]
}
4 changes: 2 additions & 2 deletions .cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "skill-portability",
"description": "Make any plugin fully portable across all platforms. Accepts Claude, Cursor, Gemini, OpenCode, or bare SKILL.md repos as input. Emits every missing platform artifact.",
"version": "0.1.0",
"description": "Make any plugin fully portable across all platforms. Accepts Claude Code, Cursor, Gemini, Codex, Antigravity, OpenClaw, or bare SKILL.md repos as input. Emits every missing platform artifact.",
"version": "0.1.1",
"author": {
"name": "Nathaniel Ramm",
"email": "nathaniel.ramm@discretedatascience.com"
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ assignees: ''
- [ ] Claude Code
- [ ] Cursor
- [ ] Gemini CLI
- [ ] OpenCode
- [ ] Copilot CLI
- [ ] Codex
- [ ] Antigravity
- [ ] OpenClaw

## Plugin Version

Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ assignees: ''
- [ ] Claude Code
- [ ] Cursor
- [ ] Gemini CLI
- [ ] OpenCode
- [ ] Copilot CLI
- [ ] Codex
- [ ] Antigravity
- [ ] OpenClaw
- [ ] All platforms

## Alternatives Considered
Expand Down
4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
- [ ] Claude Code
- [ ] Cursor
- [ ] Gemini CLI
- [ ] OpenCode
- [ ] Copilot CLI
- [ ] Codex
- [ ] Antigravity
- [ ] OpenClaw
- [ ] None (docs/CI only)

## Testing Done
Expand Down
4 changes: 2 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Skill Portability

Make any plugin fully portable across all platforms. Accepts Claude, Cursor, Gemini, OpenCode, or bare SKILL.md repos as input. Emits every missing platform artifact.
Make any plugin fully portable across all platforms. Accepts Claude Code, Cursor, Gemini, Codex, Antigravity, OpenClaw, or bare SKILL.md repos as input. Emits every missing platform artifact.

## Skills

Expand All @@ -19,4 +19,4 @@ Skills use Claude Code tool names. Copilot CLI equivalents:
- `Skill` → `skill`
- `Task` / `Agent` → subagent dispatch

See each skill's `references/copilot-tools.md` for detailed mapping.
See `lib/references/` for platform-specific tool mapping tables.
4 changes: 1 addition & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,6 @@ jobs:
check_json .claude-plugin/marketplace.json
check_json .cursor-plugin/plugin.json
check_file GEMINI.md
check_file .opencode/plugins/skill-portability.js
check_file .github/copilot-instructions.md
check_file AGENTS.md

echo ""
Expand All @@ -86,7 +84,7 @@ jobs:
echo ""
echo "=== Per-Skill Sidecars ==="
for skill_dir in skills/*/; do
for sidecar in codex-tools.md copilot-tools.md gemini-tools.md; do
for sidecar in codex-tools.md gemini-tools.md; do
check_file "${skill_dir}references/${sidecar}"
done
done
Expand Down
7 changes: 3 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Skill Portability

Make any plugin fully portable across all platforms. Accepts Claude, Cursor, Gemini, OpenCode, or bare SKILL.md repos as input. Emits every missing platform artifact.
Make any plugin fully portable across all platforms. Accepts Claude Code, Cursor, Gemini, Codex, Antigravity, OpenClaw, or bare SKILL.md repos as input. Emits every missing platform artifact.

## Project Context

Expand All @@ -10,8 +10,7 @@ Skill Portability is a Claude Code plugin that provides skills and commands for

This plugin provides the following skills. Read the SKILL.md files listed to understand how to invoke each skill:

- skills/uplifting-a-plugin/SKILL.md
- skills/assessing-plugin-portability/SKILL.md
- skills/plugin-portability/SKILL.md

## Tool Name Mapping

Expand All @@ -26,4 +25,4 @@ Skills use Claude Code tool names. Platform equivalents:
- `Skill` → your platform's skill-invoke tool
- `Task` → your platform's subagent-dispatch tool (if supported)

See `lib/references/` for platform-specific tool mapping tables (copilot-tools.md, codex-tools.md, gemini-tools.md).
See `lib/references/` for platform-specific tool mapping tables (codex-tools.md, gemini-tools.md).
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,35 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.1] - 2026-04-26

### Changed

- **Merged skills:** `assessing-plugin-portability` and `uplifting-a-plugin` consolidated into single `plugin-portability` skill with Phase 0 intent detection via AskUserQuestion
- **Platform set:** Replaced OpenCode and Copilot CLI with Antigravity (Google) and OpenClaw
- **Rubric system:** Replaced prose-based scoring with structured YAML conditions — each condition has stable ID, type (checkable/judgement), critical flag, and pseudocode check
- **Scoring formula:** Hybrid AND/OR — critical flags gate score levels, optional flags earn within. Percentage-based bands with N/A handling
- **Condition-linked uplift:** Every generation action carries `# fixes:` annotation linking to rubric condition IDs. Template field in rubric conditions maps directly to artifacts
- **Two-layer uplift strategy:** Shape-based target (skill-first/full-portable/curated-note) confirmed by user, per-platform depth (incremental/full) auto-derived from scores

### Added

- `lib/references/platform-mappings.md` — 9 canonical lookup tables (model mapping, tool names, hook events, path variables, field stripping, manifest fields, hook format, skill dirs, agent formats)
- `lib/patterns/inventory.md` — consolidated inventory pattern merging assessment and uplift Phase 2
- 6 platform YAML rubrics with 160 total conditions across claude-code, cursor, gemini-cli, codex, antigravity, openclaw
- Antigravity platform support (Google VS Code fork, OpenVSX, `.agents/skills/`)
- OpenClaw platform support (TypeScript gateway, plugin SDK hooks, ClawHub)
- Template action types: create (new files) and merge (update existing via `?merge` suffix)
- `ALLOWED_CATEGORIES` table enforcing shape-based artifact scoping

### Removed

- `skills/assessing-plugin-portability/` — folded into `plugin-portability`
- `skills/uplifting-a-plugin/` — folded into `plugin-portability`
- OpenCode platform support
- Copilot CLI platform support
- Prose-based platform rubrics (`.md` replaced by `.yaml`)

## [0.1.0] - 2026-04-24

### Added
Expand All @@ -20,4 +49,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Ecosystem landscape documentation and competitive analysis
- Install documentation for all 6 platforms

[0.1.1]: https://github.com/hiivmind/skill-portability/releases/tag/v0.1.1
[0.1.0]: https://github.com/hiivmind/skill-portability/releases/tag/v0.1.0
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Skill Portability

Make any plugin fully portable across all platforms. Accepts Claude, Cursor, Gemini, OpenCode, or bare SKILL.md repos as input. Emits every missing platform artifact.
Make any plugin fully portable across all platforms. Accepts Claude Code, Cursor, Gemini, Codex, Antigravity, OpenClaw, or bare SKILL.md repos as input. Emits every missing platform artifact.

This plugin is loaded via Claude Code's plugin system. Skills are invoked via the `Skill` tool.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ This project follows the [Contributor Covenant](CODE_OF_CONDUCT.md). Please read
2. Add a manifest template in `lib/templates/manifests/`
3. Add install doc templates in `lib/templates/install-docs/`
4. Add a platform detection pattern in `lib/patterns/platforms/`
5. Update the uplift skill (`skills/uplifting-a-plugin/SKILL.md`) to handle the new platform
5. Update the portability skill (`skills/plugin-portability/SKILL.md`) to handle the new platform
6. Update the assessment rubric (`docs/assessment-rubric.md`) with scoring criteria

## Authoring Skills
Expand All @@ -37,7 +37,7 @@ allowed-tools: Read, Write, Edit
---
```

See existing skills in `skills/` for examples. Each skill should also have a `references/` subdirectory containing platform-specific tool mappings (`codex-tools.md`, `copilot-tools.md`, `gemini-tools.md`).
See existing skills in `skills/` for examples. Each skill should also have a `references/` subdirectory containing platform-specific tool mappings (`codex-tools.md`, `gemini-tools.md`, `antigravity-tools.md`, `openclaw-tools.md`).

## Pull Request Process

Expand Down
8 changes: 3 additions & 5 deletions GEMINI.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
# Skill Portability

Make any plugin fully portable across all platforms. Accepts Claude, Cursor, Gemini, OpenCode, or bare SKILL.md repos as input. Emits every missing platform artifact.
Make any plugin fully portable across all platforms. Accepts Claude Code, Cursor, Gemini, Codex, Antigravity, OpenClaw, or bare SKILL.md repos as input. Emits every missing platform artifact.

## Skills

@./skills/using-skill-portability/SKILL.md
@./skills/using-skill-portability/references/gemini-tools.md
@./skills/uplifting-a-plugin/SKILL.md
@./skills/uplifting-a-plugin/references/gemini-tools.md
@./skills/assessing-plugin-portability/SKILL.md
@./skills/assessing-plugin-portability/references/gemini-tools.md
@./skills/plugin-portability/SKILL.md
@./skills/plugin-portability/references/gemini-tools.md
Loading
Loading