feat: let the skillpack loader read composed sources #93

Merged
coilysiren merged 2 commits from feat/prompt-snapshots into main 2026-08-11 00:53:01 +00:00
Member

Follow-on to #92, which merged before this commit landed on the branch.

Problem

LoadSkillpack matched exactly SKILL.md, so it could not read an agent-compose composed source, which ships COMPOSED.md. The planned Sirens Deep role bundle was therefore unreadable by the runtime regardless of how it was configured. That is a code gap, not a configuration one, and it would have surfaced as an empty or failed skillpack at the first attempt to compose an identity.

Change

COMPOSED.md becomes a second recognized entrypoint alongside SKILL.md. Reference collection, sort order, frontmatter stripping, and the 256 KB cap are unchanged, so an ordinary skill root loads exactly as before.

The new test builds a composed root and an ordinary root together and asserts that bodies and references from both reach the pack, and that composed frontmatter does not.

Context

The composed sources this unblocks are being reframed in coilyco-bridge/agentic-os-kai#853, so that the favorites and house style belong to CoilyCo rather than to a named person. Sirens Deep answers strangers in guilds it does not moderate, so a member's name in a composed source is a sentence the agent can be prompted to repeat.

Verification

pre-commit run --all-files exit 0, go vet, and go test -count=1 ./... all pass.

Follow-on to #92, which merged before this commit landed on the branch. ## Problem `LoadSkillpack` matched exactly `SKILL.md`, so it could not read an agent-compose composed source, which ships `COMPOSED.md`. The planned Sirens Deep role bundle was therefore unreadable by the runtime regardless of how it was configured. That is a code gap, not a configuration one, and it would have surfaced as an empty or failed skillpack at the first attempt to compose an identity. ## Change `COMPOSED.md` becomes a second recognized entrypoint alongside `SKILL.md`. Reference collection, sort order, frontmatter stripping, and the 256 KB cap are unchanged, so an ordinary skill root loads exactly as before. The new test builds a composed root and an ordinary root together and asserts that bodies and references from both reach the pack, and that composed frontmatter does not. ## Context The composed sources this unblocks are being reframed in `coilyco-bridge/agentic-os-kai#853`, so that the favorites and house style belong to CoilyCo rather than to a named person. Sirens Deep answers strangers in guilds it does not moderate, so a member's name in a composed source is a sentence the agent can be prompted to repeat. ## Verification `pre-commit run --all-files` exit 0, `go vet`, and `go test -count=1 ./...` all pass.
LoadSkillpack matched exactly SKILL.md, so it could not read an
agent-compose composed source, which ships COMPOSED.md. That made the
planned Sirens Deep role bundle unreadable by the runtime regardless of
how it was configured, which is a code gap rather than a config one.

Adds COMPOSED.md as a second recognized entrypoint. Reference collection,
sort order, frontmatter stripping, and the size cap are unchanged, so an
ordinary skill root loads exactly as before.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Merge remote-tracking branch 'origin/main' into feat/prompt-snapshots
All checks were successful
ci / test (pull_request) Successful in 35s
ci / publish-echo-image (pull_request) Has been skipped
5ff78c1ba3
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/sirens-echo!93
No description provided.