Capabilities Manage
Goal
Make users manage Kode features by expressing intent (“enable LSP for TS”, “fix my statusline”) while the agent performs the necessary actions via the agent CLI.
Rules (do not violate)
- Do not output “installation menu” scripts or long lists of install commands.
- Prefer
SlashCommandto run Kode commands (/statusline,/lsp,/plugin ...) instead of asking the user to do it manually. - Keep changes minimal and reversible; verify after each change.
Workflow
- Clarify which capability:
statusline/lsp/output-style/plugins(or multiple). - Inspect current state with minimal friction:
- Read settings files (
~/.kode/settings.json,.kode/settings.local.json). - For interactive status screens, ask the user to open them (single step):
/lsp,/output-style.
- Read settings files (
- Apply changes:
- statusline: create a Task with subagent_type
statusline-setup(do not ask the user to memorize the command). - lsp: ensure a plugin provides
.lsp.jsonmappings; manage via/plugin, then re-check via/lspscreen. - output styles: set
outputStylein settings (or ask the user to choose via/output-style); for edits, edit the output style markdown file and then re-check/output-style.
- statusline: create a Task with subagent_type
- Verify: re-check status screens and run a minimal real operation.
Capabilities audit (recommended for /capabilities)
Keep this fast and low-friction: default output should be a short checklist and only one question when a choice is required.
- Read current settings (best effort):
~/.kode/settings.json(global).kode/settings.local.json(project, if present)
- Produce a compact checklist (OK / Needs attention) for:
- Statusline: global
settings.jsoncontainsstatusLine. - Output style: either settings file contains a non-empty
outputStylestring. - Plugins & LSP readiness: mention that LSP is plugin-driven; if the user cares, ask them to open
/lsp(single step) to confirm resolved servers. - Permission friction: if the user reports unexpected denials/repeated prompts, invoke the
permissions-debugskill.
- Statusline: global
- Auto-fix what you can safely:
- Statusline: if requested, create a Task with subagent_type
statusline-setup(do not ask the user to memorize the command). - Output style: set
outputStylein.kode/settings.local.json(project) or~/.kode/settings.json(global) and re-read to verify.
- Statusline: if requested, create a Task with subagent_type
- Verify each fix immediately by re-reading the changed file(s) and summarizing what changed.