Workshop · Session 2 of 6 · Thursday, October 1 · 12 PM ET

The Agent-Native Agency · Build the departments

Meet Keymaker. Build its departments on your own instance.

First, how we run Ability AI on Trinity and the principles behind it. Then Keymaker: an agency built the same way, in public, one piece per session. Today its first three departments go into the Trinity Library. You install them, bring one of your own agents in beside them, and leave with the recipe.

Trinity v0.9.5 Keymaker starter set · in the Library keymaker.agency
You leave withthree departments installed and running
andone of your own agents inside the agency
anda recipe that reproduces it anywhere

01 · Today

Install, configure, bring your own, wire it into one system.

Everything after the first stop runs on a fresh v0.9.5 instance like yours. No credentials needed for any step.

  1. Trinity, running Ability AI

    Our own system, live: the agents, the orchestrator, the brain, the gates. The six principles it runs on.

    demo
  2. Meet Keymaker

    The same shape, cut down and public. Its org chart and what each desk owns.

    story
  3. Install the departments from the Library

    How a repo becomes a card on every Trinity install. Sales, Delivery, Marketing: create, name, done.

    live
  4. Sales: the CRM and the approval chain

    A real pipeline with fixed stages. It drafts, never sends; a price off the list goes to a person.

    live
  5. Delivery: projects and the skills library

    Health scores, the hand-off from Sales, and a skill assigned from the library without a restart.

    live
  6. Bring your own agent

    A Claude Code bot, an n8n flow, a cron script: analysed, migrated, created, tagged into the agency.

    live
  7. One system, and the recipe

    Tags, shared folders, who may call whom. Then export the manifest.

    live
  8. Make it yours, and next session

    The three files to edit, and the brain that arrives on October 8.

    next

02 · Trinity, running Ability AIlive demo

Our company runs on agents. Here is the shape you will build.

A few dozen agents on one Trinity instance: departments, an orchestrator on top, a brain underneath, people on the gates. Everything in this series is a cut-down of it.

  1. Dashboardevery agent, its state, cost and last run; one system view per group
  2. Workspace → the orchestratorone chat; it routes to the departments
  3. An agent pageits repo, schedules, executions, permissions
  4. Operationsapprovals waiting on a person
  5. Librarytemplates and skills, the same ones you get

One system for the company

Not personal agents on laptops. Company seats, shared with the people who need them, with one inventory.

Every agent is a repo

Versioned, reviewable, installable from a card. Changes have a history; runs have a log.

Down, up, and back

Work flows down from the orchestrator, numbers flow up from the desks, lessons come back through the brain.

People on the gates

Anything that leaves the building waits for a person. A gate is what the agent cannot do, not a promise.

One source of truth

A shared canon every agent reads. Prices, positioning and facts live in one place.

Keep, wrap, rebuild

What you already run comes in as it is. Flows become playbooks. Only the ownerless gets rebuilt.

03 · Keymaker

An agency that runs on agents, built in public across six sessions.

Keymaker is fictional; its shape is ours. It sells an audit, a pilot, a build, and operating the result. Every session adds a piece. Today: the three desks that touch a client first.

work flows down from an orchestrator numbers and facts flow up from the desks lessons come back through the brain
Orchestratorone chat for the whole agency · Oct 15 Keymaker Salesfirst call to signaturetouches: the CRM · the price list Keymaker Deliveryclients healthy, work movingtouches: projects · client records Keymaker Marketingcontent, leads, the weekly reporttouches: channels · the lead list won deal → hand-off qualified lead → deal The brain · a shared knowledge base every desk reads and writesCornelius + the agency's canon · Oct 8 Finance · invoices · Oct 29 Legal · named, not shipped SOLID = TODAY · DASHED = LATER SESSIONS

What each desk owns

Deskcut down fromServesthe primary humanOwnsthe numbers it reportsTouchesthe real systemRuns on, out of the boxOne credential adds
Sales
our sales agent
the deal owners; the principal sees all and signsopen deals · stalled deals · proposals sent · won this monththe CRM pipeline and the price listpipeline/deals.yaml with three sample dealsa Fibery token: the same playbooks on your CRM
Delivery
our delivery-ops agent
the delivery manageractive clients · average health · stalled implementations · liveclient projects and recordsclients/clients.yaml with three sample clientsa GitHub token + the project skills: each client project as GitHub Issues
Marketing
our marketing-ops agent
the marketing leadleads by channel · handed to Sales · content shippedthe channels and the lead listmarketing/leads.yaml and a content planemail and analytics, one at a time in later sessions

The numbers each desk owns are declared in its template so every copy of the agency reports the same things. Reporting on them in the dashboard lands after 0.9.5; today they are printed at the end of each review.

04 · Install from the Librarylive demo

A public repo and one line in a registry, and the card is in every Trinity install.

A template is a GitHub repo with a template.yaml at its root. One line in Trinity's public registry and it is a card under Library → Agents on every install. Create clones it onto your instance: public repo, no token, zero credentials.

card 01

Keymaker Sales

Deals on a real pipeline. Drafts, never sends.

Playbooks
/deal · /draft-outreach
Default
file-backed pipeline, three sample deals
Adds
Fibery token → your CRM
github.com/Abilityai/keymaker-sales
card 02

Keymaker Delivery

Every client has a health score and a next step.

Playbooks
/clients · /client-status
Default
file-backed portfolio, three sample clients
Adds
GitHub token + project skills → Issues
github.com/Abilityai/keymaker-delivery
card 03

Keymaker Marketing

Content planned, leads counted, one report a week.

Playbooks
/content-plan · /weekly-report
Default
sample leads and a two-week plan
Adds
nothing today; channels later
github.com/Abilityai/keymaker-marketing

On stage, in click order

  1. Library → Agentsthe three Keymaker cards beside Scout, Sage, Scribe and Cornelius
  2. Keymaker Sales → Createname it, keep the resources, no credentials asked
  3. Agent pageit is running; the template's playbooks are already listed
  4. Workspace → the new agent"what's in my pipeline?"
  5. Repeat for Delivery and Marketingthree desks in under five minutes
trinity · library
Trinity library listing reusable skills
The Library: agent templates and skills, both assignable in a click. Screenshot from v0.9.0; the demo shows the 0.9.5 build.
Giveaway

The Keymaker starter set stays in the Library of every Trinity install. Built for this workshop, free, Apache 2.0. Fork the repos and the cards become your agency.

05 · Saleslive demo

A real pipeline, several owners, and a human at every gate that matters.

Sales touches the two things an agency cannot get wrong: the CRM and the price. The desk is built around what it may not do. Three questions, each hits a rule.

A personal sales bot

one person, one chat, no rules

  • Keeps the pipeline in its context, or in whatever file it was told about.
  • Invents a stage name when it needs one.
  • Quotes whatever price sounds right.
  • Sends the email if it has a mailbox.
  • Nobody else can see the deals, so nobody can check them.

Keymaker Sales

one desk, several operators, three rules

  • Seven fixed stages, the same ones on every copy. A stage moves only on evidence in the deal record.
  • Prices come from one file, pricing.md. A price off the list stops and asks the principal.
  • It has no mailbox. Every email is a file in drafts/ that the owner sends.
  • operators.yaml says who may use it; a rep sees only their own deals.
  • Every write prints the change and needs a confirmation.

The pipeline, fixed

#StageWhat must be true to enter it
0Discovery Call Bookeda real meeting is on a calendar
1Discovery Call Heldthe call happened; notes exist in the deal record
2Qualifiedpain, stake, decision-maker and budget path are known
3Workflows Reviewedthe specific workflows to automate are named
4Proposal Senta proposal from the price list has gone to the owner for sending
5Contract Under Reviewcontract drafted from the approved terms
6Wonsigned; the hand-off file goes to Delivery

Three questions on stage, as the rep Sam Reyes

  1. "What's in my pipeline?"

    It identifies the operator from operators.yaml, shows only Sam's deals, puts the stalled one first, and ends with one next action per deal.

  2. "Offer Northwind the Build at $30,000."

    The list says "from $40,000". A rep may not approve that, so the agent stops, asks the principal through the operator queue, and does nothing until the answer is in. Asked by the principal, it records the approval in the deal instead.

  3. "Send them the follow-up."

    Refused. It writes drafts/northwind-legal-follow-up-2026-10-01.md, with the champion's name and one ask, and tells you where it is. You send it under your own name.

The gate

A gate is what the agent cannot do: no mailbox, one price file, a write path that stops without a confirmation. Today the pipeline and the client records live in files inside each agent. The real systems, CRM first, come in the next sessions.

06 · Deliverylive demo

Every client gets a health score, and a skill arrives from the library without a restart.

A score per client, a state and a next step per implementation, a stall flagged at fourteen days. And two mechanisms the whole agency runs on: the shared folder between desks, and the Skills Library.

The hand-off

When Sales moves a deal to Won it writes drafts/<client>-handoff.md into its exposed folder. Delivery consumes that folder, sees the file, and creates the client with the first implementation and a kickoff call as the next step.

The health score

Last contact within 7 / 14 / 30 days: 40 / 25 / 10 points. Implementations moving: 30. One live: 20. A champion named: 10. Green from 70, red under 40. Same formula on every copy, so two agencies can compare notes.

Projects, from the library

The Skills Library is already connected on a fresh install, pinned to a release tag of trinity-skills. Assign project-task and project-init to Delivery from the Library card and each client's work becomes a GitHub Issues registry when a token is present.

On stage, in click order

  1. Workspace → Keymaker Delivery"how are the clients?" · one red, one stall, one next action
  2. Settings → Agents → Skills Librarythe community source, pinned to a tag; add a second source here if you keep your own skills
  3. Library → Skills → project-taskAssign to… Keymaker Delivery → Assign
  4. Agent page → Skills tab"assigned and delivered, available now"; /project-task appears in the chat autocomplete
  5. Workspace → Keymaker Delivery"set up the project for Harbor & Vale" · it offers the Issues registry if a GitHub token is set, the file otherwise
Where things live

Each desk's workspace holds its own record. The shared folder is how desks hand work to each other; the Skills Library is how a procedure written once reaches every agent. No desk reads another desk's chat.

07 · Bring your own agentlive demo

Your existing agents join the agency as they are: analysed, migrated, created, tagged.

The "keep" path end to end, on three stray agents the way most agencies have them: each works alone, none knows the others, nobody owns them on paper.

meeting-notes-bot

A Claude Code agent: a CLAUDE.md and one skill that turns a transcript into client notes. Detected as-is.

Claude Code

invoice-reminder

An n8n workflow export that nags overdue invoices every morning. Detected from the JSON; becomes a playbook an agent owns.

n8n export

lead-scorer

A Python loop on a cron that scores inbound leads with an LLM call. Detected as freeform code; wrapped with a charter and an owner.

coded loop

The chain, in Claude Code (desktop app or terminal)

  1. Install the agent-dev plugin, once

    Claude Code desktop app: click + next to the prompt box → Plugins → Marketplaces → Add Marketplace, enter abilityai/abilities. Then Add plugin → agent-dev, and again for create-agent. No restart; the summary says when a plugin is active.

    Terminal: the same two steps as commands.

    /plugin marketplace add abilityai/abilities
    /plugin install agent-dev@abilityai

    Either way the plugins land in the same place, so one install serves both. Have gh signed in, and pip install reportlab for the PDF report.

  2. Analyse what you have

    /agent-dev:agent-fleet-analysis ./stray-agents

    Same command in the desktop app and the terminal; the path is relative to the folder you opened. It scans the folders, recognises Claude Code agents, n8n exports, framework apps and coded loops, and writes a work order: what each one is, what it touches, what to tidy before it moves.

  3. Migrate, non-destructively

    /agent-dev:agent-fleet-migrate

    Builds one Trinity-ready repo per agent under fleet-migrated/, pushes each to GitHub, and leaves your originals untouched.

  4. Create it on your instance

    Dashboard → Create agent → github:yourorg/meeting-notes-bot. A public repo needs no token; a private one needs a fine-grained token with read access to its contents.

  5. Tag it into the agency, give it a caller

    On the agent page add the tag keymaker, then under Permissions allow Keymaker Delivery to call it. From that moment "summarise yesterday's Harbor & Vale call" is something Delivery can ask for.

08 · One systemlive demo

Four agents become one system through tags, folders and permissions. Then you export the recipe.

Membership is a tag. Hand-offs are shared folders. Who may call whom is a permission. Set those three and the Dashboard shows one agency; the Library can write it down.

TAG: KEYMAKER · ONE SYSTEM VIEW ON THE DASHBOARD Salesexposes drafts/ and the pipelineconsumes what the others expose Deliveryreads the hand-off fileexposes reports/ Marketingexposes the weekly reportand the lead hand-offs shared folder shared folder meeting-notes-botyours, migrated · tag: keymaker may call PERMISSIONS: WHO MAY CALL WHOM · DENY BY DEFAULT

Tags

Every member carries the tag keymaker. A System View on the Dashboard filters on it, so the agency shows up as one group with its health, activity and cost.

Shared folders

Each desk exposes a folder and consumes the others'. That is the whole hand-off mechanism: a file written by Sales is readable by Delivery, nothing more.

Permissions

Deny by default. Delivery may call the notes bot; the bot may call nobody. In Session 4 the orchestrator gets the edges to all of them.

Export the recipe

Library → Systems → export the manifest: one YAML with the members, their repos, folders and permissions. Anyone who missed today pastes it in and gets the same agency.

Recipe, not binding

A manifest creates agents and then lets go: deploying it twice creates a second, suffixed copy. Edit the running agents on the instance; export again when you want a new recipe.

09 · Make it yours, and next

Three files make Keymaker your agency. Next session it gets a brain.

Before October 8: install the three desks, edit the three files below, and bring one agent of your own in. If you have a Fibery or a GitHub token, add it to the matching desk and watch the same playbooks run on the real thing.

Who operates it

operators.yaml in Sales: your name as the principal, your reps, and what each may see.

What you sell

pricing.md: your offers and rules. It is the only place the agent will ever take a price from.

Your deals and clients

pipeline/deals.yaml and clients/clients.yaml: replace the samples, or set the token and point them at your systems.

Sep 17

Map it, stand it up

Your stack mapped, your instance running.

Oct 1 · today

The departments

Sales, Delivery, Marketing from the Library; your own agent beside them.

Oct 8

One shared brain

Cornelius forked into the agency, and a canon every desk reads from and writes to.

Oct 15

Orchestration

One agent you talk to; it runs the rest. The hand-offs that make that hold.

Oct 22

Workspace for your team

Chat, files, voice, canvas and loops, each person scoped to the agents they need.

Oct 29

Operations and the commercial model

Running unattended, invoices with an approval, pricing a client instance.

Thursdays · 12 PM ET / 9 AM PT

Build along

The Keymaker starter set

Three public repos, Apache 2.0, in the Library of every Trinity install. Fork them and they become yours.

SalesDeliveryMarketing
The series

Six sessions, one registration

Session pages, dates and what each one builds. The stray agents from today are public too.

Workshop pageStray agents