diff --git a/Skills.md b/Skills.md index f677c15..4c271dc 100644 --- a/Skills.md +++ b/Skills.md @@ -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 ` and + `.set skill_instructions `. Example role that opts into a different skill set than the global default: