Guides

Eight ways to change kcode, from a setting to a handler inside the agent loop. Each guide says what you can change, where it fits, and which example to copy.

  1. 01
    Settings and appearance

    Configure how the app and agent behave

    Choose model defaults, context budgets, memory behavior, permissions, and notifications. Make the working environment your own with themes, fonts, shaders, tile behavior, and key bindings.

  2. 02
    Rules, prompts, and output styles

    Change the instructions the agent receives

    Set conventions for a project, replace a global section of the system prompt, or choose an output style. These shape the instructions the model reads, not the tools it can execute.

  3. 03
    Commands: your entry points

    Add commands

    Add a slash command that writes a standup note from recent commits, reviews a change using your checklist, or runs a plugin action.

  4. 04
    Skills: reusable capabilities

    Give the agent reusable capabilities

    Bundle a guide, code, templates, and supporting files around one useful task. A video-frame skill can turn a video into timestamped screenshots for summarization, storyboarding, or visual QA.

  5. 05
    Tools and plugin runtimes

    Add or replace tools

    Write a tool in Lua or WebAssembly, or connect an external tool server through MCP. For example, let the agent read tickets from your issue tracker or query an internal service.

  6. 06
    Change how the agent loop proceeds

    Observe and intervene in the agent loop

    Record when a turn finishes, reject a proposed tool call, or reduce a request’s output-token limit before it reaches the provider. Plugins attach handlers at specific points in the agent loop.

  7. 07
    Automate when work starts

    Automate when work happens

    Schedule a weekly dependency review, or send a completed CI build’s result into a running session so the agent can investigate failures.

  8. 08
    Collaborators and working environments

    Define collaborators and their environments

    Give a researcher read-only tools and an implementer editing tools. Run independent changes in separate worktrees, with project-specific setup and service ports.