Self Management
Use this skill when the task is to change Kian itself: app preferences, workspace path, model or provider settings, chat integrations, MCP servers, shortcuts, or other persisted settings.
When to Use
- The user asks to modify Kian settings, preferences, integrations, or model configuration.
- The user wants to inspect why Kian is using a certain provider, model, shortcut, or chat channel setting.
- The task targets Kian's own config files rather than files inside a project workspace.
Configuration Files
- Read references/config-files.md before editing so the file path, on-disk shape, and supported values match the current implementation.
- The main config lives in two places:
- Global config: the user config directory (
~/.kian/config.jsonin packaged builds,~/.kian-dev/config.jsonin dev builds). - Workspace settings:
<workspaceRoot>/.kian/settings.json.
- Global config: the user config directory (
- Legacy
<workspaceRoot>/settings.jsonis migration input only. Do not write to it.
Safe Workflow
- Locate the active config files from the existing environment instead of guessing.
- Read the current file first and make the smallest change that satisfies the request.
- Preserve unrelated keys, secrets, ids, and timestamps unless the user explicitly asked to rotate or remove them.
- Keep JSON valid: no comments, no trailing commas, no partially written structures.
- Re-read the edited file and verify the requested value is present in a supported format.
- After changing persisted settings, call the
ReloadSettingsapp-operation tool so shortcuts, chat channels, MCP runtime, and subsequent Agent sessions pick up the latest config. - If
workspaceRootchanged, still tell the user a restart is usually required because many services resolve the workspace path at startup.
Capability Boundaries
- Only promise changes that match the current implementation and schemas in references/config-files.md.
- Do not claim that
mainSubModeEnabledcan be disabled. The current implementation always normalizes it totrue. - Do not invent new config sections, provider ids, shortcut actions, or MCP transport types.
- For
mcpServers, preserveidandcreatedAton edits; only update the fields the user requested and refreshupdatedAt. - For shortcuts, edit only the six supported actions in the current schema.
- For provider or chat-channel secrets, keep the existing secret intact if the user asked to change another field only.
Validation Checklist
- The target file is the correct active config file.
- The JSON parses successfully after the edit.
- Arrays such as
enabledModels,args,userIds,serverIds, andchannelIdsare still arrays of strings. - Map-like fields such as
envandheadersremain string-to-string objects. - Required nested objects under
shortcutsandchatChannelsare still present. ReloadSettingswas called after the config edit unless the task was read-only.