← All skills
pstack-statechart
95 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By dmae97/omk (GitHub) · coding · 152 stars · scanned at commit 5c4be20
Draw how any system moves between states, such as a product flow, a protocol, or a service, as a Mermaid statechart from a TLA+ model. Each bug is a numbered path with blue borders to a state that breaks a rule. Use for /skill:pstack-statechart, to show a bug as a path through states, or to turn an agreed chart into a TLA+ skeleton.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
The author does not mention this. Expected for a coding skill.
Found in 17 places.
Show 14 more
- packages/coding-agent/resources/pstack/skills/statechart/scripts/statechart.mjs, line 3
import { spawn, spawnSync } from "node:child_process"; - packages/coding-agent/resources/pstack/skills/statechart/scripts/statechart.mjs, line 114
const r = spawnSync(process.execPath, [path.join(here, name), ...scriptArgs], { - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 3
import { spawn, spawnSync } from "node:child_process"; - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 55
const r = spawnSync(process.execPath, [join(at, script), ...args], { - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 999
const r = spawnSync(process.execPath, [join(scripts, "tlc-to-chart.mjs"), ...input], { - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 1804
const r = spawnSync( - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 2008
: spawnSync("mise", ["--version"]).error - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 2809
spawnSync("fc-list", [pattern, "file"], { encoding: "utf8" }).stdout?.match(/^(.+): $/m)?.[1]; - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 2879
const run = spawnSync( - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 6027
if (spawnSync(unshare[0], [...unshare.slice(1), "true"]).status !== 0) return null; - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 6031
const cc = spawnSync("cc", ["-shared", "-fPIC", "-o", so, join(dir, "hide.c"), "-ldl"]); - packages/coding-agent/resources/pstack/skills/statechart/scripts/test/statechart.test.mjs, line 6166
const cc = spawnSync("cc", ["-shared", "-fPIC", "-o", so, join(dir, "rename.c"), "-ldl"]); - packages/coding-agent/resources/pstack/skills/statechart/scripts/tlc-tools.mjs, line 1
import { spawnSync } from "node:child_process"; - packages/coding-agent/resources/pstack/skills/statechart/scripts/tlc-tools.mjs, line 26
const run = (...args) => spawnSync("mise", args, { cwd: empty, env, encoding: "utf8" });
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'pstack-statechart' ] || [ -L ~/.agents/skills/'pstack-statechart' ]; then echo 'A skill folder named pstack-statechart already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/dmae97/omk' "$d" && git -C "$d" checkout --quiet '5c4be20607f90682073ed76cb689d150061f1451' -- 'packages/coding-agent/resources/pstack/skills/statechart' && mkdir -p ~/.agents/skills && cp -R "$d"/'packages/coding-agent/resources/pstack/skills/statechart' ~/.agents/skills/'pstack-statechart' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'pstack-statechart' ~/.claude/skills/'pstack-statechart' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for dmae97/omk shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/dmae97/omk/)
Score history
| Date | Version | Score |
|---|
| 2026-11-10 | 5c4be20 | 95 |