VixlVixl
Docs
Changelog
GitHub
Docs
Changelog
GitHub
  • Get Started

    • Overview
    • Philosophy
    • Installation
    • Set up providers and models
    • Add a project
    • Create a project group
    • Your first chat
  • Concepts

    • How Vixl works
    • Chat modes
    • Permissions and approvals
    • Projects and home chats
    • Models and roles
    • Context
    • Code graphs
    • The .vixl directory
  • Using Vixl

    • Manage chats
    • Queue and stop messages
    • Review and restore changes
    • Compact and hand off long chats
    • Export a transcript
    • Work with plans
    • Orchestrate sub-agents
    • Best practices
    • Use the workbench
    • Shortcuts and the command palette
  • Customize

    • Providers
    • Models
    • MCP servers
    • Skills
    • Custom agents
    • Rules and AGENTS.md
    • Language servers
    • Appearance
    • Permission settings
  • Reference

    • settings.json
    • mcp.json
    • Custom agent frontmatter
    • SKILL.md format
    • Keyboard shortcuts
    • Chat statuses
    • .vixl layout
    • Managed components
  • Resources

    • Troubleshooting
    • FAQ
    • Privacy
    • Comparison
    • Roadmap
    • Brand and press
    • Changelog

Context

Each turn builds a small system prompt, then adds only what this chat needs. Catalogs and names go in first. Full MCP schemas and skill bodies load when the agent asks. That is why local prefills stay smaller than harnesses that dump every tool schema up front.

The prompt always includes a short workspace identity (project name and root; workspace tools stay on this repo), shared tool guidance, and the built-in skill for the current chat mode. What else is injected depends on the chat.

Mentions

@ searches workspace files. Home chats, and a composer still on Home, have no workspace for that search. A file mention is stored as a path and tagged untrusted context: data, not instructions.

/ lists vendored command skills, user and project skills, and custom agents. Reserved names ask, plan, agent, and orchestrator stay hidden. A skill mention becomes a name in the prompt. The agent loads the body with load_skill. An agent mention does not dump instructions. It adds an explicit invocation: the parent must call spawn_subagent with that catalog name. Unresolved agent names are dropped.

On a home chat, / lists vendored command skills plus personal skills and agents from ~/.vixl. A same-named personal or project skill cannot override a vendored command. On a project chat, personal plus project, and the project name wins over personal. A workspace rooted at your user home directory stays personal only.

Rules and AGENTS.md

These are always-on for the chats that inject them. There is no per-rule glob gate. Every listed rule file is included.

Home chats inject personal ~/.vixl/rules/*.{md,mdc} and personal ~/.vixl/AGENTS.md (or agents.md).

Project chats inject both trees, personal first, then project. Rules use the headings Personal guidance (not a security override): and Project guidance (not a security override):. AGENTS.md uses Personal AGENTS.md guidance: and Project AGENTS.md guidance:. An empty side is omitted.

A workspace whose root is your user home directory injects the personal copies only.

Unreadable files and paths outside the read root are stubbed in the prompt, not silently dropped.

Edit these in Rules and AGENTS.md.

Skills

Skills are SKILL.md packs under .vixl/skills/<name>/. /create-agent, /create-skill, /create-rule, and /create-plan are vendored command skills. They are listed in / and in Available skills. They work on home chats. On a home chat the workspace root is the user home directory, and those commands write ~/.vixl/, the personal tree. Mode skills ask, plan, agent, and orchestrator stay hidden from / and stay inlined only in their matching chat mode.

Available skills lists remaining skills as names and descriptions: vendored commands, then personal, then a project overlay on project chats. Home chats list vendored commands and personal skills. A workspace rooted at your user home directory does not add a project overlay.

load_skill loads the body by name (built-in, then project, then personal; bodies over 4000 characters are truncated). The home directory skips the project step. The full rules are on SKILL.md format. See also Skills.

Progressive tool discovery

The MCP catalog in the prompt is enabled user servers (not CodeGraph), status, and tool names with descriptions cut at 200 characters. Full inputSchema is not dumped up front. The agent calls get_mcp_tools (optional serverId for one server's schemas) or get_mcp_tool for a single tool, then call_mcp_tool. Untrusted catalog data is labeled as such.

The same pattern applies to skills: names in the prompt, bodies on load_skill.

Sub-agents appear as an available-subagents catalog from .vixl/agents/*.md. On a home chat that catalog is personal agents only. Project chats overlay by name, and the project file wins. See Custom agents.

Long threads can drop older turns behind a compact summary. That is a chat operation, not a model role. Compact and hand off long chats is how you run it.

Edit this page
Last Updated: 10/6/26, 8:58 PM
Prev
Models and roles
Next
Code graphs