Enforce clean separation between core openskills-runtime and optional WASM build plugins so plugin compilation does not break runtime consumers or language bindings.
Installs into .claude/skills of the current project.
Are you the author of Openskills Plugin Separation?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/geeksfino-openskills-plugin-separation)
---
name: openskills-plugin-separation
description: Enforce clean separation between core openskills-runtime and optional WASM build plugins so plugin compilation does not break runtime consumers or language bindings.
---
# 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