Skip to content

Make skills package host-agnostic and portable#50

Merged
SebastianElvis merged 1 commit into
mainfrom
SebastianElvis/portable-skills
Apr 18, 2026
Merged

Make skills package host-agnostic and portable#50
SebastianElvis merged 1 commit into
mainfrom
SebastianElvis/portable-skills

Conversation

@SebastianElvis
Copy link
Copy Markdown
Owner

Summary

Reposition Reaper from a Claude-Code-only plugin into a host-agnostic SKILL.md package that runs across 45+ AI coding agents (Cursor, Codex CLI, Cline, Continue, Gemini CLI, Copilot, Windsurf, OpenCode, Warp, Goose, Replit, Claude Code, …).

  • Path Resolution Protocol — standardized preamble in every skill that uses path placeholders, listing per-host install paths (~/.claude/, ~/.cursor/, ~/.agents/, ~/.continue/, ~/.windsurf/, <repo-root>/) and the sibling-skill install assumption
  • Shell-safe placeholders — replaced <placeholder> (which bash interprets as redirection) with {{SKILL_DIR}}-style template tokens
  • /<skill> display convention — applied to all user-facing docs (README, CLAUDE.md, ROADMAP, SKILL.md body text); intentionally NOT applied to YAML name: frontmatter, JSON identifier fields in evals.json, or path-substitution name lists where bare directory names are required by tooling
  • De-Claude-ified CLAUDE.md, README.md, ROADMAP.md, evals.json, codex-consultation.md, and the reaper orchestrator's framing
  • CI workflow with three jobs: required offline structure tests, non-blocking live-API integration tests, and a strict npx skills install-and-discover check that asserts every expected skill, script, and reference file is present after install
  • Hardened structure tests: frontmatter name matches [a-z][a-z0-9-]* and equals the directory name, every {{*SKILL_DIR}} placeholder is defined locally, every skill using placeholders declares a Path Resolution Protocol section, no skill invokes Python via python skills/... relative paths

Verified end-to-end across 4 rounds of Codex audits — Round 4 verdict: fully portable.

Test plan

  • pytest tests/test_skills_structure.py — 17/17 passing locally
  • CI structure-tests job (required) passes
  • CI npx-skills-discovery job (required) — verifies installer round-trip into ~/.agents/skills/
  • CI integration-tests job (non-blocking) — live arXiv/IACR API tests; failures don't gate merge

🤖 Generated with Claude Code

Reposition Reaper as a host-agnostic skills package that works across
45+ AI coding agents (Cursor, Codex CLI, Cline, Continue, Gemini CLI,
Copilot, Windsurf, Claude Code, …) instead of a Claude-Code-only plugin.

- Standardize "Path Resolution Protocol" preamble in every skill that
  uses path placeholders, listing per-host install paths and the
  sibling-skill dependency
- Replace shell-fragile `<placeholder>` syntax with `{{SKILL_DIR}}`-style
  template tokens that survive bash redirection
- Adopt the `/<skill>` typographic convention in user-facing docs;
  preserve bare names in YAML frontmatter, JSON identifiers, and
  path-substitution lists where tooling/paths require them
- Soften Claude-default framing in CLAUDE.md, README.md, ROADMAP.md,
  evals.json, and the reaper orchestrator
- Add CI workflow with three jobs: required offline structure tests,
  non-blocking live-API integration tests, and a strict npx-skills
  install-and-discover check
- Strengthen structure tests: assert frontmatter `name` matches
  `[a-z][a-z0-9-]*` and equals the directory name, every
  `{{*SKILL_DIR}}` placeholder is defined locally, every skill using
  placeholders declares a Path Resolution Protocol section, and no
  skill invokes Python via `python skills/...` relative paths

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@SebastianElvis SebastianElvis merged commit b61c052 into main Apr 18, 2026
3 checks passed
@SebastianElvis SebastianElvis deleted the SebastianElvis/portable-skills branch April 18, 2026 12:18
SebastianElvis added a commit that referenced this pull request Apr 18, 2026
## Summary
- Bump version to 0.3.9 in plugin.json and marketplace.json
- Update pin syntax examples to v0.3.9 in README, CLAUDE.md, and ROADMAP

## Changes since v0.3.8
- Make skills package host-agnostic and portable (#50)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@SebastianElvis SebastianElvis mentioned this pull request Apr 18, 2026
3 tasks
SebastianElvis added a commit that referenced this pull request Apr 18, 2026
## Summary
- Bump version to 0.3.9 in `plugin.json` and `marketplace.json`
- Update pin syntax examples to `v0.3.9` in README, CLAUDE.md, and
ROADMAP

## Changes since v0.3.8
- Make skills package host-agnostic and portable (#50)

## Test plan
- [ ] Version strings match across `plugin.json` and `marketplace.json`
- [ ] Pin syntax examples updated in README / CLAUDE.md / ROADMAP
- [ ] After merge, tag `v0.3.9` on the merge commit with changes-since
summary

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant