Skip to content

runcastle vs. raw Claude Code + skills

If you already run Claude Code with a skills workflow — grill the idea, write the spec, cut tickets, implement at the seams, review — then you are not choosing between two tools. runcastle requires Claude Code, and its skill packs are forks of the same skills you are using. The only real question is whether you want that workflow hand-driven in a terminal, or systematized by something that remembers.

The verdict, up front

Stay with raw skills if you work one feature at a time and you are usually at the keyboard while the agent runs. The terminal workflow is free, transparent, and infinitely hackable, and for a single thread of work it has almost no overhead worth removing. Nothing on this page argues otherwise.

Reach for runcastle when the bottleneck stops being the agent's output and starts being you — when you have three features you would like moving at once, when you keep re-explaining last week's decisions to a fresh session, or when you want tickets burning inside a container while you are asleep. That is a scheduling and memory problem, and no amount of skill authoring fixes it, because skills live inside one session and the problem is between sessions.

Not a rival: runcastle runs on top of Claude Code

This needs saying plainly, because the URL of this page implies a fight that does not exist. runcastle does not replace Claude Code, does not reimplement it, and does not route your prompts anywhere else. It launches Claude Code. Interactive phases open a real Claude Code terminal with context pre-injected; unattended phases run Claude Code headless inside a container. Claude Code — and a paid Claude plan — is a hard prerequisite. If you uninstall it, runcastle does nothing at all.

The methodology is borrowed too, and credited. Five of runcastle's six skill pack skills — ideate, spec, tickets, qa, and converge — are adapted forks of Matt Pocock's skills, each carrying a provenance header naming its upstream source. The upstream repository is MIT-licensed and its licence is reproduced in full in runcastle's NOTICE.md. Only waypoint is original work. runcastle forks rather than depends, so upstream changes cannot break a running install and the forks can diverge toward runcastle's machine-readable contracts — but the ideas are Matt's, and the grilling rule that a spec and its tickets must come out of one unbroken context window is his, load-bearing, and kept.

What the raw workflow actually is

Claude Code skills are a SKILL.md file with instructions. They live in ~/.claude/skills/ for personal use, in a repo's .claude/skills/ to share with a team, or inside a plugin. You invoke one with /skill-name, or the model reaches for it when it looks relevant, and the body only loads when it is used. Claude Code watches the directories, so editing a skill takes effect in the session you are already in.

Matt's pack installs as a plugin — claude plugins install mattpocock-skills, or npx skills@latest add mattpocock/skills for other agents — and you run /setup-matt-pocock-skills once per repo. From there the shape is /grill-me (or /grill-with-docs) to force alignment before any code, /to-spec to freeze the conversation into a spec, /to-tickets to cut it into tracer-bullet tickets that declare their blocking edges, /implement driving /tdd at the pre-agreed seams, and /code-review before you commit. /wayfinder sits above it for multi-session work and /handoff exists precisely because sessions end.

It is a genuinely good system. It costs nothing beyond your Claude plan, every rule is a markdown file you can read and rewrite, and it works in any repo on any machine with no server, no container runtime, and no port to remember.

Stay with raw skills if…

What falls over without structure

The failure modes below are not criticisms of the skills. They are the things a skill cannot reach, because a skill is instructions inside one conversation and these all happen outside one.

Parallel features become bookkeeping. Two features means two branches, two worktrees, two terminals, and a mental note about which one was waiting on you. Four means you have quietly become a scheduler. Nothing breaks — you just spend your attention on tab management instead of on the work.

Context dies with the session. The grilling was the expensive part, and it lives in a context window that ends. /handoff and a maintained CONTEXT.md are real answers to this, and they work — as long as you remember to run them, every time, on every feature. The discipline is the product, and discipline degrades on a Friday.

Nothing stands between the spec and the merge. A skill is advice the model can decline. There is no check that a spec exists before tickets get cut, and nothing stops a branch reaching main without a test drive. Most of the time you are fine. The one time you are not is the time you skipped the step because you were sure.

The same feature, both ways

Take a real one: add rate limiting to the public API. Both workflows start identically, because they are the same skills.

Step Raw Claude Code + skills runcastle
Align /grill-me in a terminal you opened, in your working tree. Create the feature; a real Claude Code terminal opens with the brief, the phase rules, and the forked ideate skill already injected, in a docs-only worktree.
Spec & tickets /to-spec, then /to-tickets in the same window. You decide where the spec file lives. Same skills, same unbroken window. The spec lands as markdown in your repo under docs/features/<slug>/; tickets emit in a machine-readable schema the app can act on.
Approve You read the tickets in the transcript and keep going. The pipeline stops at a gate and shows a ticket review card. Click one: burn.
Build /implement per ticket, in your terminal, in your working tree. You are present for each one, and your tree is the build surface. Every unblocked ticket goes to a sandboxed agent in a container, committing to the feature branch in dependency order. Close the tab.
Review /code-review, then run the app yourself, then merge by hand. Findings feed fix cycles inside the burner; only hard blockers reach you. runcastle sets your own work aside, starts the finished branch on its own port, and puts your work back after. Click two: merge.
Next week You re-read the spec file and re-explain the rest to a fresh session. The feature session, its decisions, and its run history are still there and still queryable.

Notice what the right-hand column does not claim: better prompts, better code, a smarter agent. Same engine, same methodology. What changes is that the steps are enforced rather than remembered, the build happens somewhere that is not your working tree, and the whole thing survives you closing the laptop.

What runcastle actually adds

If you are weighing other Claude Code front-ends rather than the terminal itself, the comparison index covers the category, including T3 Code and Conductor.

So do you need it?

Honestly: not yet, if the terminal is keeping up. The skills workflow is the good version of AI-assisted engineering and runcastle's entire claim is that it is worth systematizing — which is a compliment to it, not a replacement for it. Use the raw skills until you notice yourself doing the scheduler's job, losing decisions between sessions, or wishing a ticket could build itself while you did something else. Those three complaints are the whole reason runcastle exists, and if you do not have them, you do not need it.

If you do: bun add -g runcastle, then runcastle doctor. It runs on the Claude Code you already have, with the skills you already trust.