mirror of
https://github.com/multica-ai/multica.git
synced 2026-08-12 19:06:06 +02:00
loadBuiltinSkill built AgentSkillData{Name, Content} and never set
Description, so every built-in skill reached the daemon with an empty
description and the brief's `## Skills` section listed it as a bare
`- **multica-mentioning**`. Workspace skills, whose description comes
from a database column, were listed as `- **name** — description`, so
the platform's own skills were the only ones a model could not route
by reading the brief.
On runtimes with native SKILL.md discovery the CLI recovers the
description from the frontmatter on disk, which is why the gap stayed
invisible. Providers outside that list fall to the
".agent_context/skills/" branch of writeSkills, where the brief list is
the only index the model gets — a bare name there gives it nothing to
choose on.
Read the description out of the SKILL.md frontmatter, which every
built-in already carries and builtin_skills_test.go already enforces.
Name stays the directory slug: it is what writeSkillFiles lays down on
disk and what the multica- prefix invariant is checked against.
Bundle hashes for built-ins change (Description is hashed in
BuildManifest), so daemons re-fetch each built-in bundle once — the same
self-healing path any SKILL.md edit takes.
MUL-5529
Co-authored-by: multica-agent <github@multica.ai>