/jco
Transpile Wado Wasm components to JS with jco, then run, debug, and benchmark them on Node. Use for anything that involves jco, Node, or a browser as the host.
Indexed skills
15
Skill groups
1
GitHub stars
116
Forks
2
Transpile Wado Wasm components to JS with jco, then run, debug, and benchmark them on Node. Use for anything that involves jco, Node, or a browser as the host.
Debug the Wado optimizer with the WADO_TRACE, WADO_DUMP_PASS_BEFORE/AFTER, WADO_LIST_PASSES, and WADO_SKIP_PASS env vars. Use whenever a NIR/WIR pass is in question โ wrong code, a WIR pipeline ICE, or just to see what a pass did to the IR. For guest-side slowness see wado-performance.
How to drive the `wado` command โ compile, run, test, serve, format, and publish a Wado program, target a Wasm world, pick an allocator, grant directories, and inspect the compiler with dump and query. Read before invoking the `wado` binary.
Measure Wado's performance or the size of the Wasm it generates, and refresh the benchmark/ and wasm-size/ README files. Use for any benchmarking or size-measurement request, whichever benchmark it names.
Profile the native Rust `wado` binary (compile/serve/run) for host-side bottlenecks โ CPU with a sampling profiler, memory with the span trace's RSS and valgrind DHAT. Use for native CPU or memory profiling, not guest wasm (see wado-performance for that).
Analyze and improve the runtime speed of a Wado program's compiled guest Wasm โ profile hot functions, read the generated WIR for allocations and copies, reason about the WasmGC cost model, and A/B-measure a fix. Use for any guest-side speed question, whatever the program does. For host-side native compiler profiling see profiling-wado-compiler; for wrong code out of an optimizer pass see optimizer-debug.
Task-completion flow: `/code-review` over the branch, answered with `/code-review-response` (which ends with `/distill`), update docs (spec/cheatsheet/compiler/optimizer), then run `mise run on-task-done` (build, clippy-fix, golden + format fixtures, doc-stdlib, format, tests; 70+ min) and commit its generated changes. Invoke ONLY when the user asks for it by name or explicitly asks to run the completion flow โ never on your own initiative, and not because a task looks finished.
The rules for opening a PR you must read before creating or editing any pull request.
The only way to merge origin/main into a branch, conflicts or not. Use it every time main comes in โ a PR reported conflicting or DIRTY, a branch behind origin/main, a CI failure to reproduce on the merged tree. Never run `git merge origin/main` or `git pull origin main` by hand.
Cut the branch down to what the code cannot say: reuse what exists, remove duplication, dead code, and wasted work, turn invariants into asserts, and delete the comments the code already speaks. Run it after answering review feedback too โ a fix written to satisfy a reviewer is the least distilled code on the branch.
Locate and sync the reference specs and runtimes vendored under vendor/ โ the Wasm, WASI P3, and Component Model specs, and the wasm-tools and wasmtime sources. Use whenever an answer should come from one of those sources rather than memory, and whenever vendor/ is missing or stale.
How to answer code review feedback โ a human reviewer, CodeRabbit, or any review bot. Verify the findings, report the classes they are instances of to the user before fixing, then fix the class rather than the sites named. Put design decisions to the user, then run /distill. Invoke when responding to review comments on a pull request, or to the findings of a /code-review run.
Investigate and improve code coverage for the wado-compiler crate. Use for any question about what the tests do and do not reach, dead code included.
Use rust-gdb to inspect variables and step through code without modifying it. Prefer it over print debugging for any investigation into what the compiler is actually doing (lldb is unavailable on Claude Code Web).
Workspace-specific Rust rules that override common habits: panic instead of dummy or no-op fallbacks, no wildcard match arms, dependencies managed in the workspace Cargo.toml, 2024 edition, zero warnings and clippy lints. Read before writing or editing Rust (.rs) code.
The badge links readers to this page. It shows the skilld mark and no counts, and it follows the reader's light or dark GitHub theme.
<a href="https://skilld.dev/gh/wado-lang/wado">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://skilld.dev/b/wado-lang/wado?theme=dark">
<source media="(prefers-color-scheme: light)" srcset="https://skilld.dev/b/wado-lang/wado?theme=light">
<img alt="Skill repository on skilld.dev" src="https://skilld.dev/b/wado-lang/wado?theme=light">
</picture>
</a>