Skip to main content

A context engine for the AI era

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colin_py-0.1.2.tar.gz (111.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

colin_py-0.1.2-py3-none-any.whl (152.0 kB view details)

Uploaded Python 3

File details

Details for the file colin_py-0.1.2.tar.gz.

File metadata

  • Download URL: colin_py-0.1.2.tar.gz
  • Upload date:
  • Size: 111.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for colin_py-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5041d4d4eb6cf84328ade1db6c2634b53e295021be6f326d7926bc6824e1c937
MD5 a859f40df00894be8fe2c6da20170ce8
BLAKE2b-256 34289981c93556d459ce6b32f685e8bd353403a6e54dedfe11f6778cfb60818c

See more details on using hashes here.

File details

Details for the file colin_py-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: colin_py-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 152.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for colin_py-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d4633cdd5626a9949b9d9a7bcd7a74e951f50cccc7ce7d92e53d88052e418465
MD5 3249b082983d88b2438a64edef0fc92c
BLAKE2b-256 7281cf013c1c2b572044e8b5cce66e482474f78146b4d37c15ca2ba53e8031ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page