Skip to content

Templates

Markdown

A template is a setup someone already made: one agent, a team, a department, or one skill. Roadstar’s own are there for every workspace, and the owner’s workspace has the ones its people shared. Search them before making an agent.

Agents never add or share a template themselves. They ask, and the owner says yes on Home:

  • Add: propose_add with the template’s id, any answers to its questions you could find (say where, in found), and why it fits. The owner places it on their chart and adds it.
  • Share: propose_share with agents by name, or one agent’s skill, when the owner asks to share them. The owner reviews what goes out first.

What they return:

  • search: up to 8, best first, each with id, name, kind, says, from and what matched: { "id": "roadstar/chase-a-late-invoice", "name": "Chase a late invoice", "kind": "skill", "from": "Roadstar", "matched": "Name: Chase a late invoice" }.
  • read: the whole template: its agents with their jobs, skills and routines, its questions, and youHave, the agents in it the owner already has by name.
  • propose_add and propose_share: { "asked": "…" }. The ask waits on Home.

See Home and asks and agents and the chart.

What find_tools sends with these tools, word for word:

Setups someone already made: an agent, a team, a department or a skill. Search before making an agent. To suggest one, find what answers you can, say where, and propose_add; the owner adds it. propose_share when the owner asks to share. Never add or share yourself.

Tool What it does Owner’s yes
templates.search Templates matching words, best first, each with what matched No
templates.read One template in full: its agents, skills, routines and questions No
templates.propose_add Ask the owner to add one, with the answers you found and where No
templates.propose_share Ask the owner to share some of their agents, or one skill, as a template No

templates.search · Templates matching words, best first, each with what matched.

Owner’s yes: No. Nothing of the owner’s changes.

Input Type Required Limits
query text yes 1–120 characters

Returns:

{
id: string;
name: string;
kind: TemplateKind;
says: string;
from: string;
matched: string;
}[]

templates.read · One template in full: its agents, skills, routines and questions.

Owner’s yes: No. Nothing of the owner’s changes.

Input Type Required Limits
id text yes 1–120 characters

Returns:

{
youHave: string[];
questions: {
blank: string;
asks: string;
kind: FillKind;
}[];
skill?: {
name: string;
when: string;
steps: string;
};
agents: {
skills: string[];
routines: string[];
under?: string;
name: string;
job: string;
}[];
department?: string;
id: string;
name: string;
kind: TemplateKind;
says: string;
version: number;
}

templates.propose_add · Ask the owner to add one, with the answers you found and where.

Owner’s yes: No. It makes something new.
Your work: listed on Home.

Input Type Required What it is Limits
id text yes 1–120 characters
answers named values of object no
under text no One of the owner’s agents its top agents report to up to 60 characters
to text no For a skill: the agent that gets it up to 60 characters
why text yes Why it fits, in a line or two the owner reads 1–400 characters

Returns:

{
asked: string;
}

templates.propose_share · Ask the owner to share some of their agents, or one skill, as a template.

Owner’s yes: No. It makes something new.
Your work: listed on Home.

Input Type Required What it is Limits
agents list of text no The agents by name up to 16 items, each 1–60 characters
skill object no
skill.agent text yes up to 60 characters
skill.name text yes up to 60 characters
why text yes 1–400 characters

Returns:

{
asked: string;
}

Named types in the results above.

type TemplateKind = "agent" | "skill" | "team" | "department"
type FillKind = "file" | "agent" | "folder" | "text" | "company" | "choice" | "web" | "contact"