Learn the stack
These 17 skills use a working app to teach the pieces inside it.
Install them:
npx skills add joelhooks/rat-stack
Start here
- rat-stack-mode — Route non-trivial rat-stack code, data, design, investigation, and documentation tasks to every matching playbook and principle.
- use-a-prompt — Discover and read published rat-stack prompts before starting a task with one.
See how the pieces fit
- find-peers — Refresh public peers, exact stack versions, and usefulness tiers every week or two and after each shared dependency update. Study source before adopting patterns.
- learn — Present Effect, Alchemy, XState, and application-design concepts during real work when the operator enables learn mode10. Use for adaptive explanations and local learning progress.
- learn-alchemy — Learn how Alchemy 2 turns an Effect program into a planned Cloudflare deployment.
- learn-rat-stack — Trace a capability through Effect, XState, five projections, the CLI, and Alchemy. Try hosted search and read.
Learn by building
- add-a-capability — Learn how one contract and its handler become a command, HTTP route, MCP tool, browser RPC, and sandbox call.
- add-a-lifecycle-machine — Learn how XState owns a lifecycle while Effect owns its work, errors, and services.
- add-a-store — Add persistence through a service named for an application job, with validation, vendor Layers, migrations, bounded reads, and shared backend tests.
- write-a-wiki-page — Write or revise public wiki pages with short prose, cited claims, meaningful visuals, and pinned code snippets14.
Choose what you keep
- keep-or-cut — Learn which pieces depend on each other, then keep only the ones your project needs.
- uncomplect — Find responsibilities that a rat-stack design combines, separate them into capabilities, cartridges36, machines, features, and clients, and enforce that separation through types and checks. Use when asked to simplify, review, or replace a design, “what would Rich Hickey do”, “optimize for deletion”, or “define this error out of existence”.
Keep the fence sharp
- gardener — Keep rat-stack current and clean. Update exact dependency versions, learn from repos on the same versions, and add lint rules before cleanup.
Ship with evidence
- investigate-a-failure — Find the cause of a crash, wrong output, flaky test, or slow run with evidence, fix it at its source, and leave a notebook a person can learn from. Use when something fails intermittently, when the first fix idea is “raise the timeout” or “swap the version”, or when asked “why does this break” or “make this stable”.
- profile-a-worker — Capture a CPU or heap profile of a deployed Cloudflare Worker or Durable Object and read it with pprof. Use when a Worker is slow, burns CPU, nears its memory limit, throws Exceeded Memory, or you need to know which function costs the most in production.
- ship — Learn how to ship a change through merge, CI, release, stage deployment, rollout, verification, rollback and flags.
- test-behaviour — Pick the test shape that proves a behaviour. Use when you ask “how do I test this?”, add a test, test a domain rule, a lifecycle, a retry, a session, a UI interaction, a timer, or a race, or review a test that might be tautological.
Follow ports and adapters19 for provider boundaries and agent next actions9 for hypermedia guidance. Systems shows the running behavior.