Commit c6720c5
📖 Add ADR 0014 on skill loading and prompt assembly (#138)
Closes #135, follow-up to the #70 spike.
goose has its own skills implementation and never sees the ones we
mount, so the harness concatenating every `SKILL.md` into the prompt is
doing work the runtime would do better. This says the harness stops
assembling skill content and links `~/.agents/skills` at `/opt/skills`
instead, so goose discovers them and `load_skill` resolves supporting
files. `skills/javaee-to-quarkus` ships 12 files under `modules/` and
`references/` that the agent can't reliably reach today, which is the
concrete thing it fixes.
The one thing that can't be native is `type: rule`. Nothing in goose
forces a skill into context, so rules stay harness-injected. They keep
their mount at `/opt/skills` and the controller names them in
`KONVEYOR_RULES`, so a rule is both injected and still discoverable for
its own `references/`. Unset means inject everything, which is what the
harness does today, so an old controller with a new harness doesn't
silently drop rules.
Verified against goose v1.45.0, the version agent-base pins, and
measured in the image: with the link in place `goose skills list` picks
up the mounted skill as uid 1001 with the mount read-only. Transcript's
in the ADR. Not verified is the `goose serve` path, the probe drives the
CLI.
The harness half is already implemented in #136. What's left is the
rules path, the container-layout globs in `skills/execute`,
`skills/verify` and `skills/plan`, and retyping any existing SkillCard
written as a constraint, since `type` defaults to `skill`.
Numbered 0014 because #108 has 0009-0011 and #106 has 0012-0013 open.
Happy to renumber if either lands differently.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Documentation**
* Added architectural documentation for native skill discovery and
progressive skill loading.
* Documented how ordinary skills and rule-based skills are handled,
including an option to restore legacy behavior.
* Added guidance on skill naming, shadowing, validation limitations,
discovery mechanics, and rejected alternatives.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: Fabian von Feilitzsch <fabian@fabianism.us>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 15cab96 commit c6720c5
1 file changed
Lines changed: 426 additions & 0 deletions
0 commit comments