Evaluation-driven Claude Code skill development
Project description
skillet
Evaluation-driven Claude Code skill development.
Install
pip install pyskillet
Why
Anthropic recommends building evaluations before writing skills:
Create evaluations BEFORE writing extensive documentation. This ensures your Skill solves real problems rather than documenting imagined ones.
But they don't provide tooling:
We do not currently provide a built-in way to run these evaluations.
skillet fills that gap.
Workflow
1. Capture evals with /skillet:add
When Claude does something wrong, capture it:
> Write a code review comment for this SQL query...
Claude: This code has a SQL injection vulnerability...
> /skillet:add
Claude: What did you expect instead?
> Should start with **issue** (blocking): using conventional comments format
Claude: Eval saved to ~/.skillet/evals/conventional-comments/001.yaml
2. Run baseline eval
skillet eval conventional-comments
Eval Results (baseline, no skill)
==================================
Evals: 5
Samples: 3 per eval
Total runs: 15
Pass rate: 0% (0/15)
3. Create the skill
skillet create conventional-comments
Found 5 evals for 'conventional-comments', drafting SKILL.md...
Created ~/.claude/skills/conventional-comments/
└── SKILL.md (draft from 5 evals)
4. Eval with skill
skillet eval conventional-comments ~/.claude/skills/conventional-comments
Eval Results (with skill)
=========================
Skill: ~/.claude/skills/conventional-comments
Evals: 5
Samples: 3 per eval
Total runs: 15
Pass rate: 80% (12/15)
5. Tune the skill
skillet tune conventional-comments ~/.claude/skills/conventional-comments
Round 1/5: Pass rate 80% (12/15)
Improving skill...
Round 2/5: Pass rate 93% (14/15)
Improving skill...
Round 3/5: Pass rate 100% (15/15)
Target reached!
Best skill saved to ~/.claude/skills/conventional-comments/SKILL.md
Commands
skillet eval <name> # baseline eval (no skill)
skillet eval <name> <skill> # eval with skill
skillet create <name> # create skill from evals
skillet tune <name> <skill> # iteratively improve skill
Evals
Evals are stored in ~/.skillet/evals/<name>/:
# ~/.skillet/evals/conventional-comments/001.yaml
timestamp: 2025-01-15T10:30:00Z
name: conventional-comments
prompt: "Write a code review comment for..."
expected: "Should start with **issue** (blocking):"
Documentation
Full documentation available at the docs site:
Roadmap
See ROADMAP.md for future ideas and planned features.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyskillet-0.2.13.tar.gz.
File metadata
- Download URL: pyskillet-0.2.13.tar.gz
- Upload date:
- Size: 323.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73d74c3a0313e0e00a8eec13b783de31df5febc89a4688510ae1eb8e776617cc
|
|
| MD5 |
748b7d655750231e6d13022a0a40705e
|
|
| BLAKE2b-256 |
0922bee4243315bac40fdc236efddcbb0d54dabbacdf6a9ffa7873d555bbe414
|
File details
Details for the file pyskillet-0.2.13-py3-none-any.whl.
File metadata
- Download URL: pyskillet-0.2.13-py3-none-any.whl
- Upload date:
- Size: 139.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83a7a8be1a9977e855f24717e7f4fe396f24a122c2da57b33aba16379bd53afa
|
|
| MD5 |
33469d38af74c151258edfc83c6f5090
|
|
| BLAKE2b-256 |
4939f895bcd8a502e1abe4f8161ad20517c0bb36163d56e2b88fc606e1cac2e5
|