Agent Skill System
Structured, self-evolving skill memory for AI agents — with built-in regression tests.
AI agents forget. Teach one to review contracts, and tomorrow it makes the same mistakes — no memory across sessions, no way to catch degradation.
agent-skill-system turns corrected behavior into versioned, testable skill packages. Each skill bundles instructions, accumulated experience, and regression tests into a standalone directory. Next time, the engine matches the task type, loads context, and avoids repeating past errors.
vs Addy Osmani's agent-skills
agent-skills (63K stars) is a catalog of human-written prompt templates for one-shot tasks.
This solves a different problem: persistent, self-evolving skill memory.
- Self-evolving —
.memory.mdauto-logs successes/failures so skills improve with use instead of going stale. - Regression tests — 8 assertion patterns verify no degradation.
- Auto-repair —
refiner.pydiagnoses failures, patches SKILL.md, reruns tests (up to 3 rounds). - Portable — Each skill is a directory.
cp -rto any agent.
Think agent-skills = recipe book. This = chef's notebook that learns.
Quick start
pip install agent-skill-system
agent-skill list # what skills are available?
agent-skill search "contract" # find the right skill
agent-skill load contract-review # print skill + memory context
With LLM backend (for creating/refining skills):
export OPENAI_API_KEY="sk-..."
export LLM_MODEL="gpt-4o"
agent-skill health contract-review # run regression tests
agent-skill register my-new-skill # register a new skill
agent-skill scan # auto-register skills added to skills/
Lifecycle: Create → Evaluate → Refine → Register → Use → Remember
| Stage | Engine | What |
|---|---|---|
| Create | creator.py |
Conversation trace → SKILL.md + test cases |
| Evaluate | test_runner.py |
8 assertion patterns verify the skill |
| Refine | refiner.py |
Diagnose failures → patch → retry (max 3×) |
| Remember | memory.py |
.memory.md accumulates successes/failures |
Skill structure
skills/contract-review/
├── SKILL.md # How to do the task correctly
├── .memory.md # What went right/wrong — auto-accumulated
├── config.json # Trigger keywords, version, metadata
└── tests/ # Regression tests (8 assertion types)
Each skill is a standalone directory — no framework lock-in.
vs other approaches
| Prompt Eng | RAG | Cursor Rules | This | |
|---|---|---|---|---|
| Creates from experience | ❌ | ❌ | ❌ | ✅ |
| Independent memory | ❌ | ❌ | ❌ | ✅ |
| Automated tests | ❌ | ❌ | ❌ | ✅ |
| Self-healing on failure | ❌ | ❌ | ❌ | ✅ |
| Cross-agent portable | Manual | Tied to DB | Tied to editor | ✅ cp |
| Training needed | None | None | None | None |
License
MIT
Release files for agent-skill-system 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_skill_system-1.0.6.tar.gz | 45.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_skill_system-1.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.1 kB
Release files / agent_skill_system-1.0.6.tar.gz
| Download URL | agent_skill_system-1.0.6.tar.gz |
|---|---|
| Size | 45.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ae359d0eaf4f37bf69d913f73408b24b22febe70eeef58a6b3008241d0d9aeb
|
|
BLAKE2b-256 checksum How to use checksums |
8bf321aa1a688f9a05e4144db06483d139afcc3336d090f9bc1ce22886c70522
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|
Release files / agent_skill_system-1.0.6-py3-none-any.whl
| Download URL | agent_skill_system-1.0.6-py3-none-any.whl |
|---|---|
| Size | 56.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9bf8708934d5634c72aa10de4c071c22d7a4558b0a51583743536e96d4cde154
|
|
BLAKE2b-256 checksum How to use checksums |
ccd70139247c3f6acdf9a4c31032aa02ec4133857391b2c60f4e2f8c1802408f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|