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:
~/.vis/AGENTS.md— your personal rules, in every project.AGENTS.mdin each parent directory of the project, so a monorepo root and a subproject both apply.AGENTS.mdin 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
- Skills — instructions loaded on demand.
- Configuration → System prompt — the equivalent config keys.
- Extension API → Slash commands — commands provided by extensions.
