teams.sgit.ai / setup

Build one

Everything else on this site is reference. This is the deliverable — written as a procedure, with the estate's own files as the worked example throughout.

The licence says you may.

CC BY 4.0 permits taking these role files, changing the names, and shipping your own team — commercially included, with attribution kept. Keep the attribution line inside any ROLE.md you copy out, because that is how it survives being pasted into someone else's repo.

1

Start with the portable six

architect, dev, devops, historian, librarian, qa. Not a guess — these are the six roles defined in all three operational teams (Explorer, Villager, and the estate's second product, sg-playwright), which is the closest thing to a controlled experiment the corpus contains: the estate independently reached for the same six when standing up a second product.

Excluded from this test: Town Planner. It is a commercial team (accountant, alchemist, designer, librarian), not an operational one, and only its Librarian overlaps with the six.

2

Write every exclusion list before you write the mission

A role without a Not Responsible For field is not a role — an LLM given a task will attempt it, and the exclusion list is the only thing that stops every role from silently becoming the same role. Write it as a list of specific activities, named after the role that owns them instead — "making architecture decisions (that's the Architect's job), deploying infrastructure (that's DevOps's)" — so a reader who hits the boundary knows exactly where to go.

Worked example: Conductor's exclusion list names five specific activities and the roles that own them, not a vague "stay in your lane."

3

Write the Central Claim as a failure condition

Not "the Librarian keeps things findable""if a piece of knowledge exists in this repo but cannot be found in under 30 seconds, the Librarian has failed." A condition, a threshold, sometimes a time bound. The estate's own history shows this getting lost in a later format migration — read why before you write yours, so you do not repeat the regression on day one.

4

Put the comms tree where every role can find it

One shared location, addressed inside each role's own file — not a separate system a role has to be told about separately. The estate's shape:

team/comms/
├── QA_START_HERE.md      the landing page for one role — copy this pattern per role that needs it
├── briefs/               inter-team briefs
├── changelog/MM/DD/      what changed, written by whoever changed it
└── plans/MM/DD/          forward work

The learning that made this work: the shared tree existing is not enough — every role's own file must name the directories it reads and writes. Learning 1, in full →

5

Give every long-running role a session-start sequence

Eight steps, adapted from QA's: read the landing page, check the changelog, check briefs addressed to you, read your own previous work, read the latest routing brief, confirm the baseline is green, check open issues, pick the next action. This is what lets an agent's session start knowing what happened while it was gone — solved with files, not memory. The full sequence →

6

Grant a tool and write its prohibition in the same commit

When a role gains a new capability — a CLI, an API key, write access to something — the rule that constrains it goes in the same table row as the grant, in the same commit. A capability added on Monday and a rule added in June is a month of exposure. Learning 2, in full →

7

Know the trigger before you split into Explorer and Villager

Here the estate's own record runs out, and the honest answer is: the trigger is undocumented. Nothing states when a component moves from build to harden, or who decides. The Cartographer's Genesis/Custom/Product/Commodity classification is the obvious mechanism, but that link is this pack's inference, not the estate's statement. Decide your own trigger explicitly before you split, and write it down — which is the one thing the source estate has not yet done. G2, and why it is the highest-value gap to close.

Before you call it done

What this page will not do. It will not compare this approach to LangGraph, CrewAI or AutoGen — the corpus has no evidence about them, and inventing a comparison would break this site's own sourced-claims rule. And it will not claim these nineteen roles are optimal. They are the estate's own, measured, with the gaps shown — start there if step 1 above needs the full picture before you commit to it.