docs: added documentation for the new skills instruction injections

2026-06-05 15:29:15 -06:00
parent cd8ac45967
commit 76d7187333
+14 -1
@@ -151,6 +151,8 @@ In your `config.yaml`:
skills_enabled: true # master switch (default true)
visible_skills: [git-master, code-review, ai-slop-remover] # the universe; omit for "all installed"
enabled_skills: [git-master, ai-slop-remover] # default-active subset in the blank context
inject_skill_instructions: true # inject the skill-discovery hint into the system prompt (default true)
skill_instructions: null # override the built-in hint text (default null = use built-in)
```
- **`skills_enabled: false`** at the global level turns skills off entirely. The `skill__list`/`skill__load`/`skill__unload`
@@ -159,15 +161,26 @@ enabled_skills: [git-master, ai-slop-remover] # default-active subset
all installed skills are eligible.
- **`enabled_skills`** is the default-active subset in the no-role/no-agent/no-session context. Skills outside this list
are not loadable in the default REPL.
- **`inject_skill_instructions`** controls whether a short hint is appended to the system prompt telling the model that
specialized skills may apply and to call `skill__list` early in a task. The hint is gated by the same predicate that
exposes the `skill__*` meta-tools (`function_calling_support` + effective `skills_enabled`) and is auto-suppressed when
the effective `enabled_skills` set is empty (i.e. `skill__list` would return nothing). Default `true`.
- **`skill_instructions`** lets you replace the built-in hint text with custom wording. Leave `null` to use the default.
## Role, agent, and session overrides
Each of these contexts can independently set `skills_enabled` and `enabled_skills`. Precedence:
Each of these contexts can independently set `skills_enabled`, `enabled_skills`, `inject_skill_instructions`, and
`skill_instructions`. Precedence:
- **`skills_enabled`:** Any level setting `false` wins. Once disabled at any level, the master switch is off for that
context.
- **`enabled_skills`:** Most-specific-wins: `session > agent > role > global`. The first level that sets `enabled_skills`
to `Some([...])` is the effective list for that turn.
- **`inject_skill_instructions` / `skill_instructions`:** Follow the same `inject_todo_instructions` /
`continuation_prompt` cascade. When an agent is active its value is used directly; otherwise the resolver picks the
first defined value from `session > role > global`. The bool defaults to `true`; the string defaults to `null`
(built-in text). Both can be flipped at runtime via `.set inject_skill_instructions <bool>` and
`.set skill_instructions <text|null>`.
Example role that opts into a different skill set than the global default: