Compile an Anthropic-style skill — a directory with a SKILL.md and optional references/ — into a deterministic, runnable workflow via the rote CLI.

Apache-2.0Auto-check: notesBackend & APIs

Install Compile

skills CLI
$ npx skills add ccplugins/awesome-claude-code-plugins --skill compile -a claude-code

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

GitHub CLI
$ gh skill install ccplugins/awesome-claude-code-plugins compile --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/ccplugins/awesome-claude-code-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/rote/skills/compile .claude/skills/compile && 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
compile
GitHub stars
967
Token cost
~1.3k tokens
SKILL.md length
630 words
Files
1
Skills in repo
68
Repo updated
First seen
Licence
Apache-2.0

At a glance

Compile an Anthropic-style skill — a directory with a SKILL.md and optional references/ — into a deterministic, runnable workflow via the rote CLI.

  • Works in 5 steps: Identify the source skill → Pick a runtime target → Resolve the CLI (uv) → …
  • The user says compile this skill
  • SKILL.md covers 1. Identify the source skill, 2. Pick a runtime target, 3. Resolve the CLI (uv) and 4. Run the compilation, plus 1 more section
  • Calls uvx, curl and sh; reaches astral.sh and github.com; needs ANTHROPIC_API_KEY and ANTHROPIC_AUTH_TOKEN

What it does

Compile is an agent skill from ccplugins/awesome-claude-code-plugins. Compile an Anthropic-style skill — a directory with a SKILL.md and optional references/ — into a deterministic, runnable workflow via the rote CLI. Use when the user says "compile this skill", "graduate this skill" (the retired name for the same operation), "make this skill deterministic", "make this skill faster/cheaper", "turn this skill into a workflow", "turn this skill into code", "harden this skill for production", or complains that a skill is slow, expensive, or unreliable as a background job. Output: a…

Its SKILL.md is about 1.3k 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 LLM evaluation. It works with Cloudflare and Python. The repository describes itself as: Awesome Claude Code plugins — a curated list of slash commands, subagents, MCP servers, and hooks for Claude Code. The licence is Apache-2.0.

When your agent uses it

  • The user says compile this skill
  • Graduate this skill (the retired name for the same operation)
  • Make this skill deterministic
  • Make this skill faster/cheaper

Example prompts

  • “compile this skill”
  • “graduate this skill”
  • “make this skill deterministic”
  • “/compile”

Requirements

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

Workflow steps

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

  1. Identify the source skill
  2. Pick a runtime target
  3. Resolve the CLI (uv)
  4. Run the compilation
  5. Report the result

What it can do on your machine

Read from SKILL.md and the folder at commit 5bd4f16. 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
    • curl
    • sh
    • uv
    • claude

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • astral.sh
    • github.com

    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

Compile loads about 1.3k tokens when it runs. Until then it costs about 164 tokens; SKILL.md has 630 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePipes a well-known installer script into a shellSKILL.md:60
    curl -LsSf https://astral.sh/uv/install.sh | sh

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 ccplugins/awesome-claude-code-plugins at commit 5bd4f16, republished under its Apache-2.0 licence (© ccplugins). 630 words, ~1,342 tokens.

Download SKILL.mdSave it as .claude/skills/compile/SKILL.md (or your agent's skills folder).
name
compile
description
Compile an Anthropic-style skill — a directory with a SKILL.md and optional references/ — into a deterministic, runnable workflow via the rote CLI. Use when the user says "compile this skill", "graduate this skill" (the retired name for the same operation), "make this skill deterministic", "make this skill faster/cheaper", "turn this skill into a workflow", "turn this skill into code", "harden this skill for production", or complains that a skill is slow, expensive, or unreliable as a background job. Output: a pipeline.yaml IR, extracted code modules, typed LLM-judge signatures, and runtime code for Temporal, Cloudflare Workflows, or DBOS.

Compile a skill

You orchestrate the rote CLI. It runs an LLM compiler agent over a source skill and emits a deterministic pipeline. Your job: resolve the inputs, run the CLI, then interpret the output for the user. You never classify nodes or write pipeline.yaml yourself — the CLI's agent does.

1. Identify the source skill

The source is a directory containing a SKILL.md (optionally 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; never guess-and-go. If the directory has no SKILL.md, stop and ask.

2. Pick a runtime target

Ask the user which runtime, with these tradeoffs (one line each):

RuntimeChoose whenEmits
dbosNo infra to run — durability lives in SQLite/Postgres, runs anywhere Python runsPython
cloudflareYou want serverless, fully managed execution on Cloudflare WorkersTypeScript
temporalYou already operate (or want) a Temporal clusterPython

If the user has no opinion and no existing infra, use dbos — it is the CLI's default and the only target with zero standing infrastructure (you can omit --runtime entirely in that case).

3. Resolve the CLI (uv)

The CLI ships on PyPI as the rote-cli package and is run via uvx — no virtualenv, no pip, nothing to install beyond uv itself. The package's executable is named rote, so every invocation is uvx --from rote-cli rote <args>. Do not run uvx rote-cli ... — uvx looks for an executable named after the package and the published wheel doesn't ship one.

  1. Check uv: uv --version. If missing, tell the user to install it with one command, then re-check:

    sh
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Confirm the CLI resolves:

    sh
    uvx --from rote-cli rote --version
  3. Only if the user needs unreleased features (or PyPI is unreachable), substitute the GitHub source — same CLI, different origin:

    sh
    uvx --from git+https://github.com/trevhud/rote rote --version

Do not clone the repo or build a venv; uvx handles isolation.

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

4. Run the compilation

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

Pick an out-dir the user will find, e.g. ./compiled/<skill-name> next to the source skill. Ensure it does not clobber existing work.

Set expectations before launching — this is not a quick command:

  • It spawns claude -p as a subprocess. The driver deliberately scrubs ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN from the child environment so the run bills against the user's Claude subscription, not per-token API charges. Do not "fix" auth by exporting an API key; if the user explicitly wants API billing, pass --agent api instead.
  • A realistic skill takes ~13 minutes wall clock and 30-40 agent turns (Sonnet, ~$0.70 on subscription). Small skills are faster.
  • Therefore run it in the background and tell the user you did. Poll the process and check in 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.

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 what each kind means here:

    KindCountMeaning
    pure_functionndeterministic code, LLM removed
    external_callndirect API call with retry/timeout
    llm_judgentyped LLM signature (kept, but bounded)
    agent_loopnstill agentic (genuinely exploratory)
    hitl_gatendurable human approval point
  2. Codified fraction — nodes that no longer need an LLM, mandatory nodes, and what each HITL gate blocks on.

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

  4. Next steps — the extracted/* modules are scaffolds that raise NotImplementedError; the user fills in real API client code, then deploys the runtime output. Once deployed, rote register + rote serve expose the pipeline as an MCP tool so Claude can trigger runs — the serve skill in this plugin walks through that.

© ccplugins, 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 plugins/rote/skills/compile of ccplugins/awesome-claude-code-plugins.

Open the folder on GitHubat commit 5bd4f16

Compare with similar skills

Compile 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.

Compile compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Compile this skillccplugins/awesome-claude-code-plugins967—~1.3kAutomated safety check: NotesApache-2.0
Trigger.dev Configurationpapermark/papermark9.2k—~1.2kAutomated safety check: PassCustom licence
K8e Sandboxxiaods/k8e499—~6kAutomated safety check: PassApache-2.0
Cloudflare Email Servicehodgef/apiker1273 repos~2kAutomated safety check: PassMIT
Temporal Developertemporalio/skill-temporal-developer230—~2.5kAutomated safety check: PassMIT
FbaZhongye1/KnowAgenticRAG143—~758Automated safety check: PassNone

Similar skills

  • Trigger.dev Configuration

    papermark/papermark

    Configures Trigger.dev projects through trigger.config.ts, with build extensions for Prisma, Playwright, Puppeteer, FFmpeg, Python and system packages.

    9.2k GitHub stars~1.2k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • 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…

    499 GitHub stars~6k tokensUpdated 8 days ago
    Backend & APIsAuto-check passed
  • Send and receive transactional emails with Cloudflare Email Service (Email Sending + Email Routing).

    127 GitHub starsUsed in 3 repos~2k tokens
    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 today
    Backend & APIsAuto-check passed
  • Fba

    Zhongye1/KnowAgenticRAG

    FastAPI Best Architecture (fba) project development guide. An agent skill from Zhongye1/KnowAgenticRAG.

    143 GitHub stars~758 tokensUpdated 7 days ago
    Backend & APIsAuto-check passed
  • Dv Admin

    microsoft/Dataverse-skills

    Official

    Environment-level Dataverse administration — bulk delete, retention/archival, organization settings, OrgDB settings, recycle bin, audit, and the 37 allowlisted PPAC toggles.

    241 GitHub stars~5.1k tokensUpdated yesterday
    Backend & APIsAuto-check passed

More from ccplugins/awesome-claude-code-plugins

All 68 skills in this repo
  • AI Meeting

    ccplugins/awesome-claude-code-plugins

    Run structured AI meetings for plans, product ideas, technical designs, business decisions, feature proposals, and strategy choices.

    967 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check: notes
  • Fastapi App

    ccplugins/awesome-claude-code-plugins

    Bootstrap a new FastAPI backend with async SQLAlchemy 2.0, asyncpg, Alembic, Pydantic v2, and no deprecated APIs.

    967 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check: notes
  • Flutter App

    ccplugins/awesome-claude-code-plugins

    Bootstrap a new Flutter mobile app with clean architecture, Riverpod, FVM-pinned SDK, current packages, and no deprecated APIs.

    967 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check: notes
  • Nextjs App

    ccplugins/awesome-claude-code-plugins

    Bootstrap a new Next.js (App Router, TypeScript) web app with current packages and no deprecated APIs.

    967 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check: notes
  • Dev Report

    ccplugins/awesome-claude-code-plugins

    Write up a coding session for a non-technical stakeholder — the context, what was built, and the engineering reasoning behind it — the way a senior engineer briefs a product manager who does not…

    967 GitHub stars~3.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Difesa Attacchi

    ccplugins/awesome-claude-code-plugins

    Aggiunge a un sito/app un agente di difesa che rileva e blocca richieste malevole (SQL injection, XSS, path traversal, brute force, bot) con rate limiting, blocklist IP e modalità lockdown che…

    967 GitHub stars~781 tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Compile

What does Compile do?

Compile an Anthropic-style skill — a directory with a SKILL.md and optional references/ — into a deterministic, runnable workflow via the rote CLI. Compile is an agent skill from ccplugins/awesome-claude-code-plugins.md and optional references/ — into a deterministic, runnable workflow via the rote CLI.

When should I use Compile?

Compile fits situations like: the user says compile this skill; graduate this skill (the retired name for the same operation); make this skill deterministic; make this skill faster/cheaper.

How do I install Compile in Claude Code?

Run `npx skills add ccplugins/awesome-claude-code-plugins --skill compile -a claude-code`. Or copy the skill folder (plugins/rote/skills/compile in ccplugins/awesome-claude-code-plugins) into .claude/skills/compile in your project. Claude Code loads it when a task matches its description.

How do I install Compile in Codex?

Run `npx skills add ccplugins/awesome-claude-code-plugins --skill compile -a codex`. Or copy the skill folder (plugins/rote/skills/compile in ccplugins/awesome-claude-code-plugins) into .agents/skills/compile in your project. Codex loads it when a task matches its description.

Can I use Compile 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 ccplugins/awesome-claude-code-plugins --skill compile -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/compile, .gemini/skills/compile, .github/skills/compile and .opencode/skills/compile in your project.

What does Compile need to run?

Going by SKILL.md and its folder, Compile needs the command-line tools its instructions call (uvx, curl, sh, uv and claude) 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 Compile access the network?

SKILL.md names 2 domains. In commands or code: astral.sh and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Compile safe to install?

Our automated static check of SKILL.md found notes only (pipes a well-known installer script into a shell), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Compile use?

Compile is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Compile use?

About 1.3k tokens (SKILL.md is roughly 5.4k 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 Compile?

Skills that share tags, products or a category with Compile: Trigger.dev Configuration (papermark/papermark, 9.2k stars), K8e Sandbox (xiaods/k8e, 499 stars), Cloudflare Email Service (hodgef/apiker, 127 stars) and Temporal Developer (temporalio/skill-temporal-developer, 230 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Compile?

ccplugins (a GitHub organization) maintains it in ccplugins/awesome-claude-code-plugins, which has 967 GitHub stars. The repository holds 68 skills in this directory. The repository was last updated on August 12, 2026.

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