What's New
Skill System Interoperability
This release unifies the two skill systems (trigger-based injection and slash-command invocation) with a shared bridge module.
Key Improvements
-
Session cache bug fixed: Skills no longer re-injected multiple times per session. Uses file-based persistence at
.omc/state/skill-sessions.jsonwith 1-hour TTL. -
Recursive skill discovery: Skills in subdirectories are now discovered (enhancement from previous flat-only behavior). Organize your skills in folders!
-
Fuzzy matching opt-in: Skills can declare
matching: fuzzyin frontmatter for flexible trigger matching using Levenshtein distance. -
Unified infrastructure: Both
skill-injector.mjs(trigger injection) andauto-slash-command(slash invocation) now share the same TypeScript code via esbuild bundle.
New Files
| File | Purpose |
|---|---|
src/hooks/learner/bridge.ts
| Bridge module with session cache, recursive discovery, fuzzy matching |
scripts/build-skill-bridge.mjs
| esbuild config for CJS bundle |
Output Enhancement
Skill injection now includes a <skill-metadata> JSON block for programmatic parsing:
### My Skill (project)
<skill-metadata>{"path":"/path/to/skill.md","triggers":["deploy"],"score":10,"scope":"project"}</skill-metadata>