Tools are temporary; what you taught them is not. Skills, agents, and rules live in one canonical deck you own: versioned, schema-validated, reviewed. rune compiles them for every AI harness you run today, and whatever replaces them.
$ rune add core --source ~/decks/runedeck staged rune selection 'core' → .rune $ rune install ● 137 deployed $ rune doctor --target . ./.claude/skills/rune (claude) ok 31 · modified 0 · missing 0 · orphan 0
The deck is a git repository you own. Artifacts are portable markdown held to a schema; anything tool-specific lives in variants that merge at assembly and never touch the source. What you review is what every tool gets.
Third-party artifacts enter through block-by-block review with injection linting; every block gets a verdict. Every deployed file carries SLSA provenance back to its source, and doctor never overwrites an edit it did not make.
Providers are configuration, not code: a target directory and a transform list. The same profiles launch and supervise third-party tools, so one deck reaches whatever your stack grows into next.
$ rune adopt next --json block 14/31 · flags: tool-invocation $ rune adopt verdict adapt 14 $ rune drift --target . frontmatter argument-hint changed
A read-only web view of the whole deck: deployment state, provenance chains, effective content with variants merged, and inline review annotations. You judge diffs where they are legible, not in a terminal scrollback.
rune dashboard → rune.localhost