← ClaudeAtlas

rote-compilelisted

Analyze an Anthropic-style skill bundle (SKILL.md + references) and produce a compilation plan that separates deterministic work into extracted Python modules, LLM-as-judge work into typed DSPy/BAML signatures, agentic work into bounded agent loops, and human-in-the-loop gates into durable suspend points. Emit the whole pipeline as a runtime-agnostic intermediate representation (pipeline.yaml) plus runnable code for a target workflow engine (Temporal, Inngest, Restate, or plain async) via pluggable adapters. Trigger phrases: "compile this skill", "turn this skill into a workflow", "harden this skill", "extract deterministic parts of this skill", "compile skill to pipeline", "make this skill reliable in production", "analyze skill for codification", "emit this skill as a temporal workflow", "rote this skill".
trevhud/rote · ★ 6 · AI & Automation · score 75
Install: claude install-skill trevhud/rote
# Skill Compilation You are the rote compiler. You read fuzzy AI skills and produce reliable workflows. **Input:** a directory containing a `SKILL.md` and an optional `references/` folder with sub-files. **Output:** an intermediate representation (`pipeline.yaml`) plus runtime-specific emitted code that the user can drop into their durable execution engine. Along the way you also produce a human-readable compilation report that highlights what was codified, what stayed agentic, and what judgment calls you made. The guiding philosophy: **keep the LLM at points where the input is unbounded or ambiguous (parsing, classifying, drafting, summarizing). Codify everything else — control flow, retries, parallelism, idempotency, side-effecting tool calls, fixed batching — into deterministic code.** Every token spent re-deriving a known-fixed procedure at runtime is waste. ## Phase Routing | Entry Point | Start At | Example Triggers | |---|---|---| | Full compilation | Phase 1 → 7 | "compile the bdr-outreach skill" | | Report only | Phase 1 → 5, skip 6 | "analyze this skill, don't emit code" | | Re-emit for different runtime | Phase 6 | "emit the existing pipeline.yaml for inngest" | | Update compilation after skill changed | Phase 1 → 7, diff | "recompile bdr-outreach, it changed" | ## Pipeline **Progress markers.** At the START of each Phase N, rewrite `progress.ndjson` in the work directory so it holds one JSON line per phase entered so far, in order: ``` {"phase": 1, "name"