Vis

Project instructions

Vis reads Markdown instructions from your project and home directory. Changes apply on the next turn without a restart.

File Purpose
AGENTS.md or CLAUDE.md Rules for working in a project
.vis/SYSTEM.md, .vis/APPEND_SYSTEM.md Replace or extend the system prompt
.vis/prompts/*.md Reusable prompts invoked with /name

Project rules: AGENTS.md

Put instructions for your codebase in AGENTS.md at the project root: how to run tests, coding conventions and files that must not change. Vis includes the file in every turn.

Several files can apply at once, from broadest to narrowest:

  1. ~/.vis/AGENTS.md — your personal rules, in every project.
  2. AGENTS.md in each parent directory of the project, so a monorepo root and a subproject both apply.
  3. AGENTS.md in the project root.

Nearer files come later and override broader ones on conflict. CLAUDE.md is read only where no AGENTS.md exists.

System prompt files

To change the system prompt itself, add files under .vis/ in the project or under ~/.vis/:

File Effect
SYSTEM.md Replaces the built-in system prompt
APPEND_SYSTEM.md Adds text after the system prompt

A project file overrides a user file. Append files are applied user first, project last.

The built-in prompt describes Vis's tools. Use APPEND_SYSTEM.md or AGENTS.md to add instructions without removing those descriptions.

Prompt templates: /name

A Markdown file in .vis/prompts/ becomes a slash command named after the file. Project templates override those in ~/.vis/prompts/.

---
description: Review the current branch against main
---

Review the current branch against main. Focus on: $ARGUMENTS

End with a verdict: approve or request changes.

Typing /review error handling sends the file as a message with $ARGUMENTS replaced by error handling. If the template has no $ARGUMENTS, the text is appended at the end.

Slash commands registered by extensions take precedence over templates.

Skills: /skill:name

Every skill is available as /skill:<name> [task]. Skills are hidden from the initial / list but appear when you search by name.

Shell shortcuts: ! and !&

A message starting with ! runs a shell command directly, without sending anything to the model:

!git status        # run and wait for the output
!&npm run dev      # start in the background and return immediately

Use !& for servers, watchers and long test runs. The output is stored in the transcript, so later turns can refer to it.

Shell shortcuts need the Shell commands toggle enabled in settings.

See also