diff --git a/REPL.md b/REPL.md index 4e8cc2a..9a54e25 100644 --- a/REPL.md +++ b/REPL.md @@ -209,25 +209,27 @@ file. The following settings can be adjusted at runtime: -| Setting | Type | Description | -|----------------------------|---------|--------------------------------------------------------------------------| -| `auto_continue` | boolean | Enable/disable the [Todo System](TODO-System) auto-continuation | -| `max_auto_continues` | integer | Maximum number of automatic continuations | -| `inject_todo_instructions` | boolean | Inject default todo instructions into the system prompt | -| `continuation_prompt` | string | Custom continuation prompt (supports multi-word values; `null` to reset) | -| `temperature` | float | Model temperature parameter | -| `top_p` | float | Model top-p parameter | -| `enabled_tools` | string | Comma-separated list of enabled tools | -| `enabled_mcp_servers` | string | Comma-separated list of enabled MCP servers | -| `save_session` | boolean | Whether to auto-save sessions | -| `compression_threshold` | integer | Token threshold for session compression | -| `max_output_tokens` | integer | Maximum output tokens for the current model | -| `dry_run` | boolean | Enable/disable dry run mode | -| `function_calling_support` | boolean | Enable/disable function calling | -| `mcp_server_support` | boolean | Enable/disable MCP server support | -| `stream` | boolean | Enable/disable streaming | -| `save` | boolean | Enable/disable saving responses | -| `highlight` | boolean | Enable/disable syntax highlighting | +| Setting | Type | Description | +|----------------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `auto_continue` | boolean | Enable/disable the [Todo System](TODO-System) auto-continuation | +| `max_auto_continues` | integer | Maximum number of automatic continuations | +| `inject_todo_instructions` | boolean | Inject default todo instructions into the system prompt | +| `continuation_prompt` | string | Custom continuation prompt (supports multi-word values; `null` to reset) | +| `temperature` | float | Model temperature parameter | +| `top_p` | float | Model top-p parameter | +| `enabled_tools` | string | Comma-separated list of enabled tools | +| `enabled_mcp_servers` | string | Comma-separated list of enabled MCP servers | +| `enabled_skills` | string | Comma-separated list of enabled [skills](Skills) (e.g. `git-master,ai-slop-remover`); `null` clears the override | +| `save_session` | boolean | Whether to auto-save sessions | +| `compression_threshold` | integer | Token threshold for session compression | +| `max_output_tokens` | integer | Maximum output tokens for the current model | +| `dry_run` | boolean | Enable/disable dry run mode | +| `function_calling_support` | boolean | Enable/disable function calling | +| `mcp_server_support` | boolean | Enable/disable MCP server support | +| `skills_enabled` | boolean | Master switch for [skills](Skills). Accepts `true`, `false`, or `null` (inside a session, `null` clears the session-level override; otherwise resets to the default `true`) | +| `stream` | boolean | Enable/disable streaming | +| `save` | boolean | Enable/disable saving responses | +| `highlight` | boolean | Enable/disable syntax highlighting | ![set](./images/repl/set.gif) diff --git a/Roles.md b/Roles.md index 9f83925..232f599 100644 --- a/Roles.md +++ b/Roles.md @@ -58,6 +58,8 @@ The following table lists the available configuration settings and their default | `top_p` | Default `top_p` for the preferred model | Alternative way to control the model's output diversity, affecting the
probability distribution of tokens | | `enabled_tools` | Global setting for `enabled_tools` | The tools that this role utilizes | | `enabled_mcp_servers` | Global setting for `enabled_mcp_servers` | The MCP servers that this role utilizes | +| `skills_enabled` | Global setting for `skills_enabled` | Master switch for [skills](Skills) under this role. Set to `false` to hide all skills | +| `enabled_skills` | Global setting for `enabled_skills` | The [skills](Skills) this role activates. Accepts either a YAML list or a comma-separated string | | `auto_continue` | Global setting for `auto_continue` | Enable the [Todo System](TODO-System) auto-continuation for this role | | `max_auto_continues` | Global setting for `max_auto_continues` | Maximum number of automatic continuations before stopping | | `inject_todo_instructions` | Global setting for `inject_todo_instructions` | Inject default todo tool usage instructions into the system prompt | diff --git a/Sessions.md b/Sessions.md index 2999333..b588ca6 100644 --- a/Sessions.md +++ b/Sessions.md @@ -117,11 +117,13 @@ The following settings are available to customize the default behavior of sessio In addition to the global settings above, individual sessions can override the following settings. These can be set at runtime using the `.set` command or configured in the session's YAML file: -| Setting | Default | Description | -|----------------------------|-----------------------------------------|---------------------------------------------------------------------------------------------------------------| -| `auto_continue` | Global `auto_continue` value | Enable the [Todo System](TODO-System) auto-continuation for this session. Overrides global and role settings. | -| `max_auto_continues` | Global `max_auto_continues` value | Maximum number of automatic continuations before stopping. Overrides global and role settings. | -| `inject_todo_instructions` | Global `inject_todo_instructions` value | Inject default todo tool usage instructions into the system prompt. Overrides global and role settings. | -| `continuation_prompt` | Global `continuation_prompt` value | Custom prompt used when auto-continuing. Overrides global and role settings. | +| Setting | Default | Description | +|----------------------------|-----------------------------------------|---------------------------------------------------------------------------------------------------------------------------------| +| `auto_continue` | Global `auto_continue` value | Enable the [Todo System](TODO-System) auto-continuation for this session. Overrides global and role settings. | +| `max_auto_continues` | Global `max_auto_continues` value | Maximum number of automatic continuations before stopping. Overrides global and role settings. | +| `inject_todo_instructions` | Global `inject_todo_instructions` value | Inject default todo tool usage instructions into the system prompt. Overrides global and role settings. | +| `continuation_prompt` | Global `continuation_prompt` value | Custom prompt used when auto-continuing. Overrides global and role settings. | +| `skills_enabled` | Global `skills_enabled` value | Master switch for [skills](Skills) in this session. `.set skills_enabled null` clears the session override. | +| `enabled_skills` | Inherited via the skill cascade | The active [skills](Skills) for this session. Accepts either a YAML list or a comma-separated string in the saved session YAML. | For more information on the Todo System, see the [Todo System documentation](TODO-System). diff --git a/Skills.md b/Skills.md index 2d61602..09f30a9 100644 --- a/Skills.md +++ b/Skills.md @@ -106,16 +106,18 @@ your current context with git knowledge, frontend conventions, or any other modu ## REPL commands -| Command | Effect | -|---------------------------------------------|--------------------------------------------------------------------------------------------------| -| `.skill loaded` | List currently-loaded skills in this session. | -| `.skill load ` | Load a skill. Validates policy + compatibility, then refreshes the tool scope. | -| `.skill unload ` | Unload a loaded skill. Releases any MCP servers it pulled in. | -| `.edit skill ` | Open an existing skill in `$EDITOR` (fails if the skill doesn't exist). | -| `.skill ` | Open the skill in `$EDITOR`. Creates a scaffolded `SKILL.md` if missing. | -| `.delete skill` | Interactive prompt to choose installed skills to delete. | -| `.install skills` | Reinstall all bundled built-in skills, overwriting existing copies after confirmation. | -| `.install remote --filter skills` | Install only `skills/` from a remote repo. See [Sharing Configurations](Sharing-Configurations). | +| Command | Effect | +|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `.skill loaded` | List currently-loaded skills in this session. | +| `.skill load ` | Load a skill. Validates policy + compatibility, then refreshes the tool scope. | +| `.skill unload ` | Unload a loaded skill. Releases any MCP servers it pulled in. | +| `.edit skill ` | Open an existing skill in `$EDITOR` (fails if the skill doesn't exist). | +| `.skill ` | Open the skill in `$EDITOR`. Creates a scaffolded `SKILL.md` if missing. | +| `.delete skill` | Interactive prompt to choose installed skills to delete. | +| `.install skills` | Reinstall all bundled built-in skills, overwriting existing copies after confirmation. | +| `.install remote --filter skills` | Install only `skills/` from a remote repo. See [Sharing Configurations](Sharing-Configurations). | +| `.set skills_enabled ` | Flip the master switch at runtime. Inside a session this sets the session override; otherwise it updates the global default (`null` restores the default `true`). | +| `.set enabled_skills ` | Replace the global default-active skill list at runtime, e.g. `.set enabled_skills git-master,ai-slop-remover`. Use `null` to clear. | ## CLI flags @@ -172,11 +174,17 @@ Example role that opts into a different skill set than the global default: ```markdown --- name: frontend-dev -enabled_skills: git-master, ai-slop-remover, frontend-ui-ux +enabled_skills: + - git-master + - ai-slop-remover + - frontend-ui-ux --- You are a frontend specialist. ``` +`enabled_skills` accepts either a YAML list (as shown above) or a comma-separated string +(`enabled_skills: git-master,ai-slop-remover,frontend-ui-ux`). Both forms parse to the same value. + When this role is active, the model sees exactly those three skills in `skill__list`. Any other installed skill is filtered out of the response and cannot be loaded. `skill__load` rejects it with `"Skill 'X' is not enabled in this context"`.