Skip to main content
ClaudeWave
Skill58 repo starsupdated 3d ago

openskills-plugin-separation

Enforce clean separation between core openskills-runtime and optional WASM build plugins so plugin compilation does not break runtime consumers or language bindings.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/Geeksfino/openskills /tmp/openskills-plugin-separation && cp -r /tmp/openskills-plugin-separation/.cursor/skills/openskills-plugin-separation ~/.claude/skills/openskills-plugin-separation
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# OpenSkills Plugin Separation

Use this skill when changing plugin features, build-tool wiring, or runtime dependency topology.

## Objective

Keep core runtime usable without plugin toolchains, especially for bindings and non-build execution paths.

## Key Files

- `runtime/Cargo.toml`
- `runtime/src/lib.rs`
- `runtime/src/bin/openskills-runtime.rs`
- `runtime/src/build/**`
- `bindings/ts/Cargo.toml`
- `bindings/python/Cargo.toml`

## Separation Rules

1. Build plugins must be gated behind explicit features.
2. Core runtime defaults should not force plugin toolchains.
3. Bindings should opt out of plugin-heavy default features when appropriate.
4. Public exports for build functions must be feature-gated.
5. CLI build commands must degrade gracefully when build features are disabled.

## Validation Checklist

- `cargo check -p openskills-runtime` passes with default features.
- Bindings compile without pulling plugin-specific dependencies unintentionally.
- Runtime tests that do not require plugin build paths continue to pass.

## Output Format

- Feature graph summary
- Leakage findings (if any)
- Minimal patch plan
- Post-change verification commands