Tasks

Agent types

Define a helper once, as a markdown file with a name, a one-line purpose, the tools it may use and its model, and the agent can start instances of it.

An agent type is a kind of instance you define once. It’s a markdown file: a name, one line saying when to use it, the tools it may use, the model it runs on, and its instructions. When a task starts an instance, the agent can pick one of your types for it. With no type, the instance is a general helper.

Where the files go

Folder Applies to
.vyotiq/agent-types/ in the workspace that workspace
.claude/agents/ in the workspace that workspace. Claude Code’s subagent files are read as they are.
agent-types/ in the app data folder (%APPDATA%\vyotiq\agent-types on Windows) every workspace

When two files use the same name, the first one in that order wins, so a workspace’s type replaces yours. Case is ignored.

An example

.vyotiq/agent-types/reviewer.md:

---
name: reviewer
description: Reviews a change for bugs and missing tests. Use after code is written.
tools: Read, Grep, Glob
model: inherit
---

You review; you never edit. For each finding give the file and line, why it
is wrong, and the smallest fix. Say "no findings" rather than inventing one.
Field What it does
name Required. Letters, digits, - and _, up to 64 characters.
description Required. The agent reads this line when it picks a helper, so say when to use it.
tools Optional. A comma list, [a, b], or a list of - a lines. Left out, the instance gets every tool its mode allows.
model Optional. inherit, sonnet, opus or haiku, provider:model, or a model id.
The text below The helper’s instructions. They go in the instance’s first message, after its brief.

Other fields, such as Claude Code’s color, are ignored.

Tools

Name tools the way Agent V does (read, str_replace, terminal) or the way Claude Code does. Claude Code’s names are mapped: Bash is terminal, Edit is edit and str_replace, Write is edit, LS is list_dir, WebFetch is web_fetch with the browser’s browser_navigate and browser_snapshot, WebSearch is web_search with browser_search, and TodoWrite is todo_write. For an MCP server’s tools, write mcp__<server>__<tool>, or mcp__<server> for all of them.

The list only narrows. An instance never gets a tool its mode doesn’t allow, and if every tool you list only reads, the instance runs read-only, with no worktree of its own. Unknown names are skipped, and so is Task, because an instance can’t start instances. A file with no usable tool left is skipped whole.

Model

Value Runs on
inherit The task’s model.
sonnet, opus, haiku The first model of that family on a provider you have a key for.
provider:model That model, if you have a key for the provider.
A model id The first provider that lists it.

If the model can’t run here, the instance runs on the helper model from Settings, “Agent”, and the task is told.

Where you see it

The type’s name is a muted label on the instance’s row, in the task and in the navigator.

When a file is wrong

A file that can’t be read as a type is skipped, and the others still load. The reason is in the log. If the agent asks for a type that didn’t load, it’s told the valid names. Agent V reads a file again when it changes, so an edit counts from the next step.

Something wrong on this page? Tell us on GitHub.