Skill distillation for AI agents.
Generate, evaluate, and refine SKILL.md files using teacher-student model distillation.
Thulpoff captures domain expertise from capable "teacher" models and encodes it into structured skill files that enhance smaller "student" models. It implements the upskill paradigm in Rust — generation, evaluation, and iterative refinement of SKILL.md files compatible with Claude Code, thulp, or any agent supporting the skill format.
Built by DIRMACS.
cargo install thulpoff-cli# Or as a library
[dependencies]
thulpoff-core = "0.1"
thulpoff-engine = "0.1"
thulpoff-provider = "0.1"Small models can match large models on specific tasks — if given the right instructions. But writing those instructions is manual and brittle. Thulpoff automates the loop:
- Teacher demonstrates — a capable model solves a task
- Skill extraction — solution patterns are distilled into SKILL.md
- Test generation — test cases validate the skill works
- Student evaluation — smaller models are scored with the skill
- Refinement — failures feed back to improve the skill
No manual prompt engineering. The teacher teaches, the student learns, the skill improves.
| Crate | What | Tests |
|---|---|---|
| thulpoff-core | Types, traits, LlmProvider, CompletionRequest/Response | 8 |
| thulpoff-provider | AnthropicProvider (Claude API), NimProvider (NVIDIA NIM) | 8 |
| thulpoff-engine | GenerationEngine, EvaluationEngine, RefinementEngine | 14 |
| thulpoff-cli | generate, eval, refine, list commands | 6 |
thulpoff generate \
"Write an optimized sorting algorithm" \
--model claude-opus-4-6 \
--provider anthropic \
--output ./skills/thulpoff eval \
./skills/optimized-sorting/SKILL.md \
--model mistralai/mistral-small-24b-instruct-2501 \
--provider nimthulpoff refine \
./skills/optimized-sorting/SKILL.md \
--model claude-opus-4-6 \
--provider anthropicthulpoff list --dir ./skills/| Provider | Models | Auth |
|---|---|---|
anthropic |
Claude Opus, Sonnet, Haiku | ANTHROPIC_API_KEY |
nim |
Mistral, Llama, Nemotron via NVIDIA NIM | NVIDIA_API_KEY |
thulpoff/
crates/
thulpoff-core/ # types, traits, LlmProvider interface
thulpoff-provider/ # Anthropic + NIM provider implementations
thulpoff-engine/ # generation, evaluation, refinement engines
thulpoff-cli/ # clap CLI with provider selection
docs/ # architecture, CLI reference, types, roadmap
reference/ # upskill Python reference (temporary)
cargo build --workspace
cargo test --workspace
cargo clippy --workspace -- -D warnings| Project | What |
|---|---|
| thulp | Execution context engineering — tool discovery, validation, workflows |
| ares | Agentic retrieval-enhanced server |
| pawan | CLI coding agent |
| eruka | Context intelligence engine |
- HuggingFace upskill — the original Python implementation
- Claude Code Skills — the SKILL.md format
- We Got Claude to Build CUDA Kernels — the approach demonstrated
MIT OR Apache-2.0