Compile a proven agent skill (a SKILL.md plus references) into a deterministic pipeline that runs without an LLM in the loop, then serve it back to Claude as an MCP tool.

Apache-2.0Auto-check passedBackend & APIs

Install Rote

skills CLI
$ npx skills add davila7/claude-code-templates --skill rote -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davila7/claude-code-templates rote --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davila7/claude-code-templates.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-tool/components/skills/workflow-automation/rote .claude/skills/rote && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rote
GitHub stars
32k
Token cost
~1.9k tokens
SKILL.md length
960 words
Files
1
Skills in repo
478
Repo updated
First seen
Licence
Apache-2.0

At a glance

Compile a proven agent skill (a SKILL.md plus references) into a deterministic pipeline that runs without an LLM in the loop, then serve it back to Claude as an MCP tool.

  • Works in 6 steps: Identify the source skill → Pick a runtime target → Resolve the CLI → …
  • Compile this skill
  • SKILL.md covers When this applies, 1. Identify the source skill, 2. Pick a runtime target and 3. Resolve the CLI, plus 4 more sections
  • Calls uvx, pip and uv; needs ANTHROPIC_API_KEY and ANTHROPIC_AUTH_TOKEN

What it does

Rote is an agent skill from davila7/claude-code-templates. Compile a proven agent skill (a SKILL.md plus references) into a deterministic pipeline that runs without an LLM in the loop, then serve it back to Claude as an MCP tool. Use when: rote, compile this skill, turn this skill into a workflow, make this skill deterministic, make this skill cheaper or faster, harden this skill for production, run this skill as a background job.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Background jobs and MCP servers. It works with Python and TypeScript. The repository describes itself as: CLI tool for configuring and monitoring Claude Code. The licence is Apache-2.0.

When your agent uses it

  • Compile this skill
  • Turn this skill into a workflow
  • Make this skill deterministic
  • Make this skill cheaper

Example prompts

  • “/rote”

Requirements

  • Python 3
  • A credential in ANTHROPIC_API_KEY
  • A credential in ANTHROPIC_AUTH_TOKEN

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Identify the source skill
  2. Pick a runtime target
  3. Resolve the CLI
  4. Run the compilation
  5. Report the result
  6. Serve compiled pipelines back to Claude

What it can do on your machine

Read from SKILL.md and the folder at commit 46b4d8b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uvx
    • pip
    • uv
    • claude
    • wrangler
    • brew
    • pipx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.astral.sh
    • github.com
    • pypi.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ANTHROPIC_API_KEY
    • ANTHROPIC_AUTH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rote loads about 1.9k tokens when it runs. Until then it costs about 95 tokens; SKILL.md has 960 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~95
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from davila7/claude-code-templates at commit 46b4d8b, republished under its Apache-2.0 licence (© davila7). 960 words, ~1,938 tokens.

Download SKILL.mdSave it as .claude/skills/rote/SKILL.md (or your agent's skills folder).
name
rote
description
Compile a proven agent skill (a SKILL.md plus references) into a deterministic pipeline that runs without an LLM in the loop, then serve it back to Claude as an MCP tool. Use when: rote, compile this skill, turn this skill into a workflow, make this skill deterministic, make this skill cheaper or faster, harden this skill for production, run this skill as a background job.
license
Apache-2.0
metadata.author
trevhud
metadata.version
0.12.1
metadata.homepage
https://github.com/trevhud/rote

rote: compile a skill into a deterministic pipeline

You orchestrate the rote CLI. It runs an LLM compiler agent over a source skill once, and emits a pipeline that runs forever after without an agent loop. Your job is to resolve the inputs, run the CLI, and interpret the output. You never classify nodes or write pipeline.yaml yourself; the CLI's compiler agent does that.

When this applies

Use it on a skill the user has already run many times and wants to run many more, unattended. Exploratory or one-off work should stay an agent loop: flexibility is the point there, and there is nothing proven to compile yet. Say so and stop if that is what you are looking at.

1. Identify the source skill

The source is a directory containing a SKILL.md, optionally with a references/ folder. The user names it, or you infer it from context: a skill just discussed, a path in the conversation, .claude/skills/* or skills/* in the project.

Confirm the resolved absolute path with the user before running. Compilation costs real time and tokens, so never guess and go. If the directory has no SKILL.md, stop and ask.

2. Pick a runtime target

Runtime--runtimeLanguageChoose when
DBOS (default)dbosPythonNo orchestrator to deploy. SQLite for dev, Postgres for prod
TemporaltemporalPythonYou already operate a Temporal cluster
Plain PythonpythonPythonMax legibility, stdlib only. Refuses pipelines with HITL gates
Cloudflare WorkflowscloudflareTypeScriptServerless, managed, wrangler deploy-ready
DBOS (TypeScript)dbos-tsTypeScriptZero orchestrator on the TS side. Postgres only
InngestinngestTypeScriptMounting into an existing Node or Next.js app

If the user has no opinion and no existing infrastructure, use dbos. It is the default and the only Python target with zero standing infrastructure, so you can omit --runtime entirely.

3. Resolve the CLI

The CLI ships on PyPI as rote-cli and its executable is named rote. With uvx that means every invocation is uvx --from 'rote-cli>=0.12.1' rote <args>. Do not run uvx rote-cli ...; uvx looks for an executable named after the package, and the published wheel does not ship one.

sh
uv --version                              # install uv first if missing
uvx --from 'rote-cli>=0.12.1' rote --version        # confirm the CLI resolves

If uv is missing, do not pipe a remote script into a shell. Ask the user to install it through their package manager (brew install uv, pipx install uv, or pip install uv) or to follow the official guide at https://docs.astral.sh/uv/getting-started/installation/ and choose the method they trust.

pip install rote-cli works too if the user prefers a virtualenv.

rote compile runs an LLM agent, so it needs a driver: Claude Code (claude) or Codex (codex) installed and authed, or ANTHROPIC_API_KEY for the in-process api driver. The default claude driver deliberately scrubs ANTHROPIC_API_KEY and ANTHROPIC_AUTH_TOKEN from the child environment so the run bills against the user's Claude subscription rather than per-token API charges. Do not "fix" auth by exporting an API key. If the user explicitly wants API billing, pass --agent api.

4. Run the compilation

sh
uvx --from 'rote-cli>=0.12.1' rote compile <skill-dir> --runtime <runtime> --out <out-dir>

Pick an out-dir the user will find, such as ./compiled/<skill-name> next to the source skill, and make sure it does not clobber existing work.

Set expectations before launching. This is not a quick command: a realistic skill takes roughly 13 minutes of wall clock and 30 to 40 agent turns on Sonnet. Run it in the background, tell the user you did, and poll rather than blocking the session.

If the run exits nonzero, check whether <out-dir>/compiled/pipeline.yaml exists anyway. The CLI recovers completed work from transient subprocess failures and says so in its output. Surface stderr to the user either way.

Show full SKILL.md (372 more words)Show less

5. Report the result

Read <out-dir>/compiled/pipeline.yaml and <out-dir>/compiled/compile-report.md, then summarize:

  1. Node-kind table. Count nodes per kind and say what each means here:

    KindMeaning
    pure_functionDeterministic code. The LLM is gone
    external_callDirect API call with retry and timeout
    llm_judgeTyped LLM signature, kept but bounded
    agent_loopStill agentic, because the input is genuinely unbounded
    hitl_gateDurable human approval point
  2. Codified fraction. How many nodes no longer need an LLM, which nodes are mandatory, and what each HITL gate blocks on.

  3. Where things landed. <out-dir>/compiled/ holds the IR, extracted/, signatures/, and the report. <out-dir>/runtime/<runtime>/ holds the deployable code.

  4. Next steps. The extracted/* modules are scaffolds that raise NotImplementedError. The user fills in real client code, then deploys the runtime output.

Be honest in this summary. A pipeline that came out mostly agent_loop means the skill was not as deterministic as it looked, and the user should know that rather than hear a success story.

6. Serve compiled pipelines back to Claude

rote serve is one MCP server exposing every registered pipeline as a callable tool. It triggers deployed workflows; it does not host them. The full flow:

rote compile -> deploy the runtime -> rote register -> rote serve -> call from Claude

Register the pipeline once the runtime side is actually running (a DBOS app in worker mode, a Temporal worker, or a deployed Cloudflare Worker):

sh
uvx --from 'rote-cli>=0.12.1' rote register <out-dir>
uvx --from 'rote-cli>=0.12.1' rote register <out-dir> --runtime temporal
uvx --from 'rote-cli>=0.12.1' rote register <out-dir> --runtime cloudflare --url https://<worker>.workers.dev

This upserts ~/.rote/registry.json. Re-registering updates in place. After recompiling a changed skill, register again: DBOS and Temporal workflow names derive from the pipeline content hash and must stay in sync with the emitted code.

Then add the server:

sh
claude mcp add --scope user rote -- uvx --from 'rote-cli[serve,dbos]>=0.12.1' rote serve

Each registry entry becomes two tools, or three on DBOS: <name> starts a run and returns {workflow_id, status: "started"} immediately, since compiled pipelines run for minutes to days; <name>_status polls a run by workflow_id; and on DBOS <name>_signal resumes a run parked at a HITL gate, so Claude can deliver approvals itself.

Two caveats worth stating proactively. A DBOS run stuck in enqueued means the emitted app process is not running against the registered system database. And while Claude Code picks up newly registered pipelines immediately via the server's list_changed notification, Claude Desktop and claude.ai snapshot tools at connect time, so a pipeline registered mid-session appears there only after a reconnect.

Reference

© davila7, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in cli-tool/components/skills/workflow-automation/rote of davila7/claude-code-templates.

Open the folder on GitHubat commit 46b4d8b

Compare with similar skills

Rote next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rote compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rote this skilldavila7/claude-code-templates32k—~1.9kAutomated safety check: PassApache-2.0
K8e Sandboxxiaods/k8e500—~6kAutomated safety check: PassApache-2.0
Temporal Developertemporalio/skill-temporal-developer230—~2.5kAutomated safety check: PassMIT
Frontmcp Developmentagentfront/frontmcp146—~11kAutomated safety check: PassApache-2.0
Using Message Queuesancoleman/ai-design-components526—~2.9kAutomated safety check: PassMIT
Nevermined PaymentsLeoYeAI/openclaw-master-skills2.2k—~4.5kAutomated safety check: NotesMIT

Similar skills

  • K8e Sandbox

    xiaods/k8e

    Run a goal end to end inside an isolated K8E sandbox pod (gVisor / Kata / Firecracker) instead of on the host: exec bash / Python / Node / TypeScript, install packages, move files in and out, reuse…

    500 GitHub stars~6k tokensUpdated 11 days ago
    Backend & APIsAuto-check passed
  • Temporal Developer

    temporalio/skill-temporal-developer

    Official

    Develop, debug, and manage Temporal applications across Python, TypeScript, Go, Java, .NET, Ruby, and Rust.

    230 GitHub stars~2.5k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Frontmcp Development

    agentfront/frontmcp

    A skill your agent uses when building any FrontMCP server component other than a tool (for tools, use create-tool).

    146 GitHub stars~11k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Using Message Queues

    ancoleman/ai-design-components

    Async communication patterns using message brokers and task queues.

    526 GitHub stars~2.9k tokensUpdated 10 mo ago
    Backend & APIsAuto-check passed
  • Nevermined Payments

    LeoYeAI/openclaw-master-skills

    Integrates Nevermined payment infrastructure into AI agents, MCP servers, Google A2A agents, and REST APIs.

    2.2k GitHub stars~4.5k tokensUpdated 2 mo ago
    Backend & APIsAuto-check: notes
  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed

More from davila7/claude-code-templates

All 478 skills in this repo
  • Perplexity Web Search

    davila7/claude-code-templates

    Runs web-grounded searches through Perplexity's Sonar models over OpenRouter for current events, recent literature and cited facts beyond the model's training cutoff.

    32k GitHub starsUsed in 11 repos~3.5k tokens
    Auto-check: notes
  • Neuropixels Data Analysis

    davila7/claude-code-templates

    Analyzes Neuropixels recordings from SpikeGLX or Open Ephys through preprocessing, drift correction, Kilosort4 spike sorting, quality metrics and curation.

    32k GitHub starsUsed in 9 repos~2.8k tokens
    Auto-check passed
  • Scientific Venue Templates

    davila7/claude-code-templates

    Supplies LaTeX templates and formatting rules for journals, conferences, posters, and grant proposals, then can check a draft against them.

    32k GitHub starsUsed in 9 repos~5.1k tokens
    Auto-check: notes
  • Brand Voice Content Creator

    davila7/claude-code-templates

    Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.

    32k GitHub starsUsed in 3 repos~1.9k tokens
    Auto-check passed
  • CAPA Officer

    davila7/claude-code-templates

    Guides corrective and preventive action (CAPA) work in a quality management system, from initiation and root cause analysis through effectiveness verification.

    32k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Fda Consultant Specialist

    davila7/claude-code-templates

    Senior FDA consultant and specialist for medical device companies including HIPAA compliance and requirement management.

    32k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed

Categories

Questions about Rote

What does Rote do?

Compile a proven agent skill (a SKILL.md plus references) into a deterministic pipeline that runs without an LLM in the loop, then serve it back to Claude as an MCP tool. Rote is an agent skill from davila7/claude-code-templates.md plus references) into a deterministic pipeline that runs without an LLM in the loop, then serve it back to Claude as an MCP tool.

When should I use Rote?

Rote fits situations like: compile this skill; turn this skill into a workflow; make this skill deterministic; make this skill cheaper.

How do I install Rote in Claude Code?

Run `npx skills add davila7/claude-code-templates --skill rote -a claude-code`. Or copy the skill folder (cli-tool/components/skills/workflow-automation/rote in davila7/claude-code-templates) into .claude/skills/rote in your project. Claude Code loads it when a task matches its description.

How do I install Rote in Codex?

Run `npx skills add davila7/claude-code-templates --skill rote -a codex`. Or copy the skill folder (cli-tool/components/skills/workflow-automation/rote in davila7/claude-code-templates) into .agents/skills/rote in your project. Codex loads it when a task matches its description.

Can I use Rote in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davila7/claude-code-templates --skill rote -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rote, .gemini/skills/rote, .github/skills/rote and .opencode/skills/rote in your project.

What does Rote need to run?

Going by SKILL.md and its folder, Rote needs the command-line tools its instructions call (uvx, pip, uv, claude, wrangler and brew) and credentials named ANTHROPIC_API_KEY and ANTHROPIC_AUTH_TOKEN. Our summary lists: Python 3; A credential in ANTHROPIC_API_KEY; A credential in ANTHROPIC_AUTH_TOKEN.

Does Rote access the network?

SKILL.md names 3 domains. As links in the text: docs.astral.sh, github.com and pypi.org. This is read from the text; nothing was executed.

Is Rote safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rote use?

Rote is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rote use?

About 1.9k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Rote?

Skills that share tags, products or a category with Rote: K8e Sandbox (xiaods/k8e, 500 stars), Temporal Developer (temporalio/skill-temporal-developer, 230 stars), Frontmcp Development (agentfront/frontmcp, 146 stars) and Using Message Queues (ancoleman/ai-design-components, 526 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rote?

davila7 (a GitHub user) maintains it in davila7/claude-code-templates, which has 32,483 GitHub stars. The repository holds 478 skills in this directory. The repository was last updated on October 9, 2026.

Source: davila7/claude-code-templates on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.