Connect
Agents
An agent role is one job written down for an AI assistant: what it does, what it must not do, and where a person takes over. Vinc keeps the role in your graph, and the assistant reads it from there each time it starts work.
Where a role lives
A role is stored in your graph as a concept node. Its id starts with concept:agent- and its topic is agent. What the role has to follow goes in the node's properties. The demo below opens the Code Reviewer role the Vinc team uses.
- mission What this role does, in one sentence.
- tier The seat it takes: orchestrate, execute, verify, deliver or knowledge. This one is verify, so it reviews and never edits.
- rung How capable a model it needs, as a level instead of a model name.
- never What this role must not do.
Five properties are required: the four above plus person_only, the steps a person takes. Writing a role walks through each one.
This differs from keeping a prompt in a file in three ways. Other nodes can point at the role, a change to it can carry the decision behind it, and what the role did is linked to it as episodes. An assistant reads the role from the graph each time it starts, so a rule you change today applies from the next run. There are no copies to keep in step.
The four default roles
An account space comes with four roles from the Default Agents pack: a personal space gets them at your first sign-in, a team space when the team is created. All four sit in the agent topic (in spaces made earlier, vinc/agent).
| Role | Prompt name | What it does |
|---|---|---|
| Graph steward | agent-steward | Keeps the graph in order: conventions, duplicates and topics. Proposes merges and topic changes with evidence, and never applies them. |
| Research analyst | agent-researcher | Researches and leaves a document, its concepts and an episode. Gathers what a decision needs, and never makes the decision. |
| Document curator | agent-curator | Takes documents in: stores the source, previews the concepts, links mentions and proposes one topic per document. |
| Claim reviewer | agent-reviewer | Checks every claim against the graph and labels it cited, assumed or unsourced. Never edits. |
The desktop app's local mode has no default roles. Import the Default Agents pack, or make your own with + above the list in Agent (0.9.6 and later, Writing a role).
Putting a role to work
- In the app: press Agent in the left menu to see the roles by team. Copy a prompt from a role node and paste it into an assistant (Using AI).
- As an MCP prompt: in hosts that support MCP prompts, such as Claude Code and VS Code, call a role by name like a command.
- By having it read: in a host without MCP prompts, such as Codex, ask the assistant to read the role node and work as it says.
- From your own code: load a role into a LangGraph or Microsoft Agent Framework agent (Agent frameworks).
Roles for each host are on By host, and several roles working as a team on Roles and teams. Connect the host first with Connect over MCP.
Checking an answer against its role
Before an answer goes out or moves to the next role, check it with vinc_role_check. It reads the role fresh from the graph, runs the role's gates, never checks and person_only list over the complete answer without calling a model, and returns a verdict: pass, block (do not deliver) or interrupt (a person decides first). The failed checks and the sentences that tripped them come with it.
A claim that something already ran, such as tests passing, a merge or a deploy, is blocked here, because the check cannot see the host's evidence. A role written only as prose blocks too. A pass lets the answer go out and gives no other permission.
The same check runs in the terminal as vinc role check, which exits with 1 on block or interrupt (CLI commands), and over HTTP as POST /v1/roles/{id}/check (REST API).