Initialize a Project
Create a new directory and initialize a Colin project:colin.toml- Project configurationmodels/- Directory for your source documents
Create a Source Document
Start with a simple document that will be referenced by the skill:models/environments.md
Create a Skill
Now create a skill that references the environments document:models/deploy/SKILL.md
ref('environments') call does two things:
- Registers that
SKILL.mddepends onenvironments.md - Returns the compiled content
Compile
Run the compiler:environments.md first.
Add LLM Processing
The| llm_extract() filter pulls specific information using an LLM:
models/deploy/SKILL.md
✓ llm: entry shows an LLM call completed. On subsequent runs with the same input, you’ll see » indicating the result was served from cache.
Output to Claude Code
Configure Colin to write directly to Claude Code’s skills folder:colin.toml
colin run again. The skill now appears in ~/.claude/skills/ and is available in all Claude Code sessions.
Incremental Builds
Editenvironments.md and run colin run again. Colin detects the change and recompiles SKILL.md because it depends on environments.md. Documents that haven’t changed skip compilation.
What’s Next?
You’ve learned the basics:- Initialize a project with
colin init - Create documents with frontmatter
- Reference other documents with
ref() - Transform content with
| llm_extract() - Output skills to Claude Code