Skip to main content

skillet

CI License Python

Evaluation-driven Claude Code skill development.

Three levels of documentation:

  1. This README — the concise overview, mirroring the structure below
  2. docs/ — full markdown documentation, shipped with the package
  3. 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)

Source distribution for pyskillet 0.2.45
File Size Uploaded Provenance
pyskillet-0.2.45.tar.gz 514.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pyskillet 0.2.45
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.2.45 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page