Skills that teach coding agents to use OpenSysML
— the sysml binary (CLI, REPL, checking, documents, conversion, migration), the
sysml-grpc service, sysml-lsp, the Jupyter kernel, the WebAssembly builds — and every
client library (Go, Python, Node/TypeScript, Java, Rust, Julia, MATLAB/Octave).
Each skill is a directory under skills/ with a SKILL.md in the
Agent Skills format, so Claude Code, Codex, Cursor, OpenCode,
Devin and other compatible agents can discover them. The content is written against the
OpenSysML documentation and verified against built binaries; version-specific numbers name
the release they were checked with.
Clone this repository and point your agent at skills/, or copy the directories you need
into the location your tool reads (for example .claude/skills/, .agents/skills/,
.cursor/skills/ or ~/.config/opencode/skills/). Skills reference each other by name
(opensysml-install, opensysml-cli, …), so keep the set together where practical.
| Skill | Use when |
|---|---|
| opensysml-install | Installing sysml, sysml-lsp, sysml-grpc; release verification; solver setup; how clients provision binaries |
| opensysml-cli | Non-interactive sysml: validate, evaluate, instantiate, run behaviors, -json, exit statuses, CI gates |
| opensysml-repl | Interactive sysml session and % commands; stepping actions and state machines |
| opensysml-sysml-authoring | Writing .sysml/.kerml the tool accepts; imports, defaults vs fixed values, requirement usages, common diagnostics |
| opensysml-checking | Constraints, requirements, satisfaction, calculations, analyses, sweeps; holds / violated / undecided |
| opensysml-analysis-engines | -engines, -engine auto|name|all, standings, -check-* bounds, external engine manifests |
| opensysml-service | Running sysml-grpc: ports, health, Connect JSON/protobuf, capabilities, the RPC surface |
| opensysml-lsp | sysml-lsp and editor wiring (VS Code extension, OpenCode, generic LSP clients) |
| opensysml-jupyter | The Jupyter kernel: install, cells, rich output, notebook reuse |
| opensysml-wasm | WASI and js/wasm builds, what runs in-process and what needs a native service |
| opensysml-documents | Rendering views and diagrams, generating Markdown/HTML/PDF documents |
| opensysml-convert-rdf | Turtle and API-JSON conversion and round-tripping |
| opensysml-migrate-v1 | Migrating SysML v1 (XMI/UML/MagicDraw) models and reading the migration report |
| opensysml-troubleshooting | Environment variables, budgets, stale services, exit statuses, diagnosing failures |
| Skill | Package |
|---|---|
| opensysml-go | github.com/Open-MBEE/OpenSysML/client/opensysml — in-process New() or Dial() |
| opensysml-python | opensysml on PyPI |
| opensysml-node | @openmbee/opensysml (Node, browser, WASM) |
| opensysml-java | org.openmbee:opensysml (JDK 17+) |
| opensysml-rust | opensysml on crates.io |
| opensysml-julia | OpenSysML (client/julia) |
| opensysml-matlab | +opensysml (client/matlab, MATLAB and Octave) |
- One directory per skill;
namein the frontmatter must equal the directory name. - Keep
SKILL.mdfocused and under ~500 lines; put long material inreferences/and helper scripts inscripts/inside the skill. - Verify every command and API name against the OpenSysML source, documentation or a built binary before documenting it, and prefer the vocabulary the tool itself prints.
- Run the checks before opening a pull request:
python3 scripts/validate-skills.py # frontmatter, naming, size limits
python3 scripts/check-links.py # relative links resolveThe same checks run in CI (.github/workflows/validate.yml).
Apache-2.0, matching OpenSysML. See LICENSE.