The skill half of the persona/skill pair, as a clean redesign (not a faithful
lift of mort's 60-method skills.Storage kitchen sink):
- skill.go/skill_version.go/validate.go/inputs.go/schedule.go moved clean; the
only host couplings severed: llms.IsTierName -> model.IsTierName, and the
chatbot DefaultChatbotInputName const localized.
- store.go: a DELIBERATELY LEAN SkillStore — skill lifecycle (CRUD + visibility)
+ versioning + scheduling ONLY. The KV/file/quota sub-stores that were fused
into mort's interface are the tools/ store seams; email/channel grants stay
host concerns.
- runnable.go: Skill.ToRunnable() lowers a skill into run.RunnableAgent (flat
tool list, no palette — composition is a host concern); DueAt() helper.
- memory.go: NewMemory() — zero-dep in-process SkillStore (visibility filters,
newest-first versions).
Tests: ToRunnable mapping, visibility (public/shared/private) listing, version
ordering + lookup. No mort dependency (go.mod tidy clean); core imports ZERO
from skill.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>