skillet
Evaluation-driven Claude Code skill development.
Three levels of documentation:
- This README — the concise overview, mirroring the structure below
docs/— full markdown documentation, shipped with the package- skillet.run — the rendered docs site, 1:1 with
docs/
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.
Quick Start
Capture failures with /skillet:add in Claude Code, then run the loop:
skillet eval my-skill # baseline
skillet create my-skill # generate skill from evals
skillet eval my-skill ~/.claude/skills/my-skill # eval with skill
skillet tune my-skill ~/.claude/skills/my-skill # iteratively improve
Overview
Skillet captures failures, runs systematic evaluations, and iterates on skills with quantitative feedback. → docs/index.md
Getting Started
End-to-end walkthrough from your first capture to a tuned skill. → docs/getting-started.md
Concepts
Skills vs Agents
Skillet evaluates skills (instructions that shape behavior), not agents (the underlying capability). → docs/concepts/skills-vs-agents.md
Capability vs Regression
The same eval format serves two purposes: capability (pass@k, exploratory) during development, regression (pass^k, strict) in CI. → docs/concepts/capability-vs-regression.md
Balanced Problem Sets
A good eval suite needs negative cases — prompts where the skill should not trigger — to catch overtriggering. → docs/concepts/balanced-problem-sets.md
Guides
Capture with /skillet:add
Use /skillet:add in Claude Code to record failures as YAML eval files. → docs/guides/capture-with-slash-command.md
Linting
skillet lint <path> checks a SKILL.md against 14 rules covering naming, frontmatter, body length, and recommended fields. → docs/guides/linting.md
Contributing
Development setup, testing strategy, code style, and PR conventions. → docs/guides/contributing.md
Reference
CLI
skillet ships with eval, create, tune, lint, and generate-evals. → docs/reference/cli.md
Eval Format
YAML schema for eval files: required name/prompt/expected, optional domain/setup/teardown. → docs/reference/eval-format.md
Python API
Programmatic interface: evaluate(), tune(), create_skill(), generate_evals(), lint_skill(). → docs/reference/python-api.md
Metadata
Release files for pyskillet 0.2.45
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyskillet-0.2.45.tar.gz | 514.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyskillet-0.2.45-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 750.1 kB
Release files / pyskillet-0.2.45.tar.gz
| Download URL | pyskillet-0.2.45.tar.gz |
|---|---|
| Size | 514.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfbe623c19085f891991d4d00763aa5b927a76f15d799349a0ab25512011941e
|
|
BLAKE2b-256 checksum How to use checksums |
863712f0f6968ad30e30f7f121054078566430c454eb4a359d2f8002bf6bf799
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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}
|
Release files / pyskillet-0.2.45-py3-none-any.whl
| Download URL | pyskillet-0.2.45-py3-none-any.whl |
|---|---|
| Size | 235.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
de09e63d62d2b7146ff4214264952d766fdb5521acfeeb03f76389bdb6d77cc5
|
|
BLAKE2b-256 checksum How to use checksums |
74b484e55175928d85e134d371836083739ef55baab5ede59bf1f341a46c1779
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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}
|
Security for pyskillet 0.2.45
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.