Validates that changes in outl-core preserve the tree CRDT invariants (convergence, idempotency, no-cycle, no-silent-loss). Use PROACTIVELY after any edit in crates/outl-core/src/tree.rs, log.rs, op.rs, or in tree CRDT tests. Rejects PRs that break any invariant.
Reviews project docs (docs/.md, per-crate CLAUDE.md, root CLAUDE.md, .github/copilot-instructions.md, README) after a feature is implemented, and updates or creates whatever is out of sync. Use PROACTIVELY at the end of any PR/feature that changes public API, markdown syntax, TUI shortcut, slash command, sidecar, op…
Ensures that the .md ↔ ops ↔ .md pipeline is stable and that blocks never disappear silently during external matching. Use PROACTIVELY after changes in outl-md (parse, render, sidecar, matching). Runs roundtrip + matching suite and reports divergences.
Compares the Rust implementation in outl-core against the pseudocode in Kleppmann et al. 2022 ("A highly-available move operation for replicated trees"). Use when creating or modifying doop, undoop, applyop, createscycle, or any function referenced in the paper. Points out exact line-by-line divergences.
Proposes (and when authorized, executes) refactoring of Rust files that have grown too large. Use proactively when the file-size-guard.sh hook fires, or when the user asks for an architecture review. Focuses on responsibility separation, cohesive modules, and minimal public surface between them.
Runs after a tool call finishes for Edit and Write tool calls, executing rust-quality.sh, file-size-guard.sh, catalog-sync-guard.sh, doc-sync-guard.sh, markdown-size-guard.sh, semantic-linebreak-guard.sh and section-ref-guard.sh (7 commands). From outlmd/outl.
Copilot instructions for outlmd/outl, covering copilot review instructions — outl, 0. read these first, where the rest of this lives, why a change was made: read the rfc and 1. gate the pr before reviewing code.
Instructions for outlmd/outl: Duplication here is a real hazard: two implementations of the same logic drift apart over time, and the user is the one who hits the divergence.
Claude Code instructions for outlmd/outl, covering claude.md — outl, what this project is, critical invariants (never violate), repo layout and shared logic: outl-actions.