·5 min·Release

Release v2.0.0: Leaner Skills, Sharper Routing, Stronger Discipline

Phase 1-4 skill optimization is complete. Engine size down 58%, pack top-50 down 62%, every description now trigger-only, and a new type system that tells the orchestrator how to use each skill. Breaking change: legacy skillos frontmatter removed.

Today we are shipping Leopoldo v2.0.0, the largest skill corpus overhaul since the system launched. The changes are invisible to day-to-day users but measurable everywhere: smaller context footprint, faster agent selection, stronger discipline on quality-critical skills.

What Changed

Four phases, sixteen waves, 635 skills touched.

Phase 1: Slim

Engine skills are loaded on every session. Pack skills load when a domain is active. Heavier means slower, so we cut aggressively while preserving rules, disclaimers, and anti-patterns.

Result: engine words down 58% (24K -> 10K), top 50 pack skills down 62% (145K -> 55K). Median skill is now under the 1000-word target.

Phase 2: Split

Thirteen oversize madre skills were split. Smaller ones went into two flat sub-skills (B-split). Larger ones became pure routers with detailed daughter skills (C-split). Madre names stayed the same so agents, mapping.yaml, and the backend pack_map continue to route correctly.

Example: compliance-engine became a router dispatching to mifid-compliance, aml-kyc-compliance, gdpr-financial, and aifmd-ucits-compliance.

Phase 3: Descriptions

Every description now starts with a trigger verb: Use when, Use for, Use at, Use before. No more capability lists. No more workflow summaries. The orchestrator reads descriptions to select skills, so trigger-only descriptions mean sharper routing with less noise.

Before: Comprehensive toolkit for drafting contracts with 12 templates. After: Use when drafting commercial contracts from scratch (sale of goods, services, distribution, supply).

Phase 4: Formalization

This is the structural one.

A type field now lives on every skill: technique, pattern, reference, or discipline. Discipline skills (gates, verification, postmortem) require a Rationalizations STOP table, a five-to-eight row list of excuses an agent might use to skip the rule, paired with the corrective response.

Seven engine discipline skills got these tables: phase-gate, doc-gate, workflow-discipline, skill-postmortem, research-before-scaffold, dependency-checker, coverage-analyzer. The pattern is borrowed from Anthropic's Superpowers verification-gate methodology.

We also removed the legacy skillos YAML block from 388 files (breaking change), fixed 162 em dashes in descriptions, added six more engine skills to the Cowork ENGINE_SKILL_SUMMARIES for packaging compatibility, and created a path-scoped authoring rule at .claude/rules/skill-authoring.md that enforces the token budget going forward.

The Numbers

MetricBeforeAfterChange
Engine total words24.00010.000-58%
Top 50 pack words145.00055.000-62%
Use-when descriptions11%100%+89pp
Skills with type field0635+635
Legacy skillos blocks3880-388

What Breaks

One thing: the skillos YAML block is gone. If you wrote tooling that reads skillos.requires.hard, skillos.provides, or skillos.triggers, it needs updating. The canonical metadata is now name, description, and type. Everything else (version, author, license) lives under metadata.

For end users on Claude Code or Cowork, nothing breaks. Run /leopoldo update and the new versions arrive cleanly.

What Comes Next

Phase 5 is the long tail: 319 pack skills still exceed the 1000-word budget. They are not broken, just verbose. We will slim them in small batches over the coming weeks, maintaining strict rule and disclaimer preservation.

There is also a new studio skill, version-coherence, that audits the three version sources (LEOPOLDO_VERSION, git tag, state.json) and produces coherent release plans. It is how we validated this release and how future releases will be validated.

Why This Matters

Skills are the substance of Leopoldo. The orchestrator is the conductor, the agents are the performers, but the skills are the score. A leaner, more disciplined score means the conductor reads faster, the performers stay in tune, and the audience gets a cleaner performance.

Full changelog on GitHub at leopoldo-ai/leopoldo.ai, tagged v2.0.0.

Frequently Asked Questions

What changed in Leopoldo v2.0.0?
The entire skill corpus was optimized across 4 phases. Engine skills are 58% smaller, pack skills (top 50) are 62% smaller, every description now follows a trigger-only pattern starting with Use when or Use for, and every skill carries a type field (technique, pattern, reference, or discipline). Legacy skillos frontmatter was removed, which is a breaking change for any tools parsing it.
Do I need to update anything as a user?
No action needed. Run /leopoldo update in Claude Code and the update checker pulls the new versions automatically. Your custom skills are preserved, only managed skills with unchanged hashes are updated.
What does the new type system do?
Each skill now declares whether it is a technique (concrete method), pattern (way of thinking), reference (docs/guides), or discipline (rule enforcement). The orchestrator uses this to pick the right invocation style and apply anti-rationalization checks to discipline skills.
What breaks in v2.0.0?
The skillos YAML block is removed from all 388 skills that had it. If you wrote custom tooling that reads skillos.requires or skillos.provides, you need to migrate to reading the skill content directly or use the new type field. No runtime breakage for normal users.
Is there an easy rollback path?
Yes. The pre-optimization backups live in skills/engine/_backup-pre-slim and skills/packs/_backup-pre-slim in the private source. You can also pin to tag v1.1.0 via the update checker if you need the previous behavior.
releasev2.0.0skill optimizationperformancechangelog

Want to see these plugins in action? Browse the catalog.

Related articles