Sandbox
@PrefectHQ/colin

Context engine for Claude Code skills

Colin compiles template documents that pull from live sources and writes the result as an agent skill. It records source versions in a manifest, skips rebuilds when nothing changed, and reuses cached LLM outputs when inputs stay the same.

121 stars7 forksPythonUpdated 1mo ago
Who it's for

Builders who want Claude Code skills generated from live project sources instead of copied text.

What it delivers

You can keep agent skills fresh and only rebuild them when the upstream sources change.

What it does

Live source references

Templates can pull from GitHub, Linear, Notion, HTTP endpoints, MCP resources, and other documents.

Change-aware rebuilds

Colin stores source versions in a manifest and recompiles only documents whose inputs are stale.

LLM block caching

LLM responses are cached by input hash so unchanged prompts do not run again.

Claude Code output

Project output can be set to `claude-skill`, which writes compiled skills into `~/.claude/skills/`.

Quickstart blueprint

A starter blueprint builds a skill from Colin's own documentation.

How to get it

  1. 1Run
    pip install colin-py
  2. 2The fastest way to get started is with the quickstart blueprint, which builds a skill…
    colin init using-colin -b quickstart
    cd using-colin
    colin run

README

Colin Logo

Colin

A context engine that keeps agent skills fresh.


Colin is a context engine. Write templates that reference live sources—GitHub, Linear, Notion, HTTP endpoints—and other documents. Colin compiles them, tracks dependencies, and rebuilds only what's stale.

---
name: team-status
description: Current state of platform team work
colin:
  cache:
    expires: 1d
---

# Team Status

## In Progress

{% for issue in colin.linear.issues(team='Platform', state='In Progress') %}
- {{ issue.identifier }}: {{ issue.title }} ({{ issue.assignee }})
{% endfor %}

## Summary

{{ ref('team/weekly-notes.md').content | llm_extract('key blockers and priorities') }}

Run colin run. Colin fetches the Linear issues, resolves the reference to your weekly notes, extracts blockers via LLM, and writes the compiled skill. Run it again tomorrow—if nothing changed upstream, nothing rebuilds. The expires: 1d ensures time-sensitive content stays fresh.

Install

pip install colin-py

Documentation

Full documentation at colin.prefect.io.

Quick Start

The fastest way to get started is with the quickstart blueprint, which builds a skill from Colin's own documentation:

colin init using-colin -b quickstart
cd using-colin
colin run

The compiled skill contains the Colin quickstart—pulled live from GitHub. When we update the docs, your agent's knowledge updates too.

Output to Claude Code

Configure Colin to write directly to Claude Code's skills folder:

[project.output]
target = "claude-skill"

Skills appear in ~/.claude/skills/ and become available immediately.

How It Works

When Colin compiles a document, it records what sources were used and their versions—commit SHAs for GitHub files, timestamps for HTTP resources, version identifiers for MCP resources. This information is stored in a manifest alongside the compiled output.

On subsequent runs, Colin checks the manifest against current source versions. Documents whose sources haven't changed skip compilation entirely. When a source does change, Colin recompiles the affected document and any documents that depend on it.

LLM calls are cached separately by input hash. If a document recompiles but the input to an LLM block is unchanged, the cached LLM response is reused.

About the Name

Colin stands for Context Lineage. It's also a nod to Colin the robot from the Hitchhiker's Guide to the Galaxy—a security robot who feels genuinely delighted whenever he's being helpful.


Colin is built with 💙 by Prefect.

Files in the repo

Repository payload15 top-level entries
  • .claude
  • .github
  • dev-docs
  • docs
  • examples
  • src
  • tests
  • .gitignore
  • .pre-commit-config.yaml
  • AGENTS.md
  • CLAUDE.md
  • justfile
  • pyproject.toml
  • README.md
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More tools

JuliusBrussee/
caveman

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

105k
1 add
MemPalace/
mempalace

The best-benchmarked open-source AI memory system. And it's free.

59k
stablyai/
orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

66k

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

132k

Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors

64k
headroomlabs-ai/
headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.

71k