Skip to content

Role definition

A Role definition seats one Worker, Human or Agent, in a Role with its Mandate and Limits; Agents have no folder of their own.

PropertyValue
Pathagents/[team]/[role].mdx
HoldsRole
Kindfile
Leadersdb-first, git-first
TeamPeople Team
Written byRole.staff, Change.merge
Compiled byStartupBuilder

Example

agents/finance/controller.mdx in a Startup repository. Closewise, a sample business, declares a Close Noun.

agents/finance/controller.mdx
---
worker: { agent: Cora }
purpose: Every client's books close on time and tie out.
responsibilities:
  - Reconciles every client account by the third business day.
  - Explains every difference over $50 before the close.
results: [days-to-close]
standards:
  - Closes each client's month within three business days of month end.
limits:
  - { verb: Mandate.spend, amount: 200, period: 1m }
approvals: [Close.close]
autonomy: { default: supervised, byClass: { high: assist } }
schedule: daily
channels: [email]
escalatesTo: founding/founder
---
Close each client's books within three business days of month end.
Escalate any difference over $50 you cannot explain.

Props

The frontmatter keys the file takes. The body is its prose.

PropTypeRequiredDescription
workerjsonWho fills it: { agent: <name> } or { human: <id> }. Unset, the seat’s role agent fills it.
purposetextrequiredWhy the Role exists, in one sentence.
responsibilitiesstring[]Its standing duties, one checkable sentence each.
resultslist of MetricThe Metrics that judge the seat; each Metric names this Role as its owner.
standardsstring[]How well the work is done: service levels and quality bars, one sentence each.
limitsjsonPer Verb, the most it does per call or per period before an Approval: { verb, amount, count, percent, period }.
mandatesjsonStanding grants it calls without asking each time: { id, grants, definition }.
autonomyjsonIts rung on the ladder, with a different rung per decision class where it differs: { default, byClass }.
approvalslist of VerbVerbs of this seat that wait for the founder’s yes before they run.
schedulestringWhen it works unprompted: a cadence such as daily.
channelsstring[]Where it answers: email, chat, sms, phone or social.
aliasesstring[]The founder’s words for the seat, such as CFO; each resolves to this Role.
handsOffTolist of RoleThe Roles it passes work to.
escalatesToRoleThe Role it hands off to when it cannot decide.
skillslist of SkillThe Skills its agent has, each with the instructions that teach it.
evaluatorEvaluatorThe Evaluator that grades its work.

Generates

StartupBuilder compiles it into these records, Verbs and routes.

KindWhat
RecordsRole, Worker, Mandate, Limit
VerbsRole.staff
RoutesNone.