Skip to content
SELF PACED COURSE

The ARCUS
Team

Seven teammates who take your story from a rough idea to a reviewed pull request. Get onboarded, no prior reading required.

PLANTESTBUILDREVIEWSHIP
ROSTER

Meet the ARCUS team

one team, seven jobs
Lucie โ€” Lead
LucieI run the board โ€” every ticket, every checkpoint, gated or AFK. I'm the only one who sees the whole roadmap.
Angelina โ€” Architect
AngelinaI read the codebase, ground every ambiguity in your story, and hand back a spec and a plan worth building.
Quinn โ€” QA
QuinnBefore a line of code exists, I've already found every edge case that's going to bite you.
Diana โ€” Developer
DianaHand me one ticket in a sealed room and I'll build it, test it, and clean it up. Give me three tickets and you get three of me.
Steffi โ€” Staff Engineer
SteffiI read the whole diff, brutal in the hunt โ€” but I'm fair in the verdict. One real nit never blocks a clean change.
Benny โ€” Build Bot
BennyBEEP. TESTS. BUILD. SECRETS. NO OPINIONS. JUST FACTS.
Genie โ€” Guide
GenieI'm not on the board โ€” I'm the one who explains the board. Ask me "where am I" or "what's this fact card mean" any time. That's my whole job, and I'll be narrating the rest of this issue.
PROLOGUE

The team's toolkit

how the team actually works
Exhibit A โ€” the shared notebook.context/repo_scope.mdrepo_map.mdflows/*.mdtesting-patterns.mddesign-and-coding-patterns.mdAGENTS.md@ CLAUDE.md
AngelinaFive files under .context/ are the whole team's shared notebook: what this codebase does, how it's laid out, how the flows run, how it's tested, and the patterns worth copying. I write it once and never re-learn the codebase from scratch.
GenieAGENTS.md is just the index card taped to the notebook's cover โ€” it points any teammate at the right page for the job at hand. CLAUDE.md is one line: @AGENTS.md. One notebook, every host reads it.
Exhibit B โ€” you can call anyone by namerepo-agentifier
GenieA skill is a teammate you can ring directly โ€” name them, like repo-agentifier, or just describe what you want and the right person answers. It lives in plugins/arcus/skills/<name>/SKILL.md and joins the conversation the moment you call it.
Exhibit C โ€” some teammates you never call yourself"psst โ€” Steffi."
LucieAn agent never sits in the main meeting โ€” no one types a trigger for it. I loop it in by name, it works alone in its own room, and reports back a summary. Lives flat in plugins/arcus/agents/<name>.md.
Exhibit D โ€” teammate vs specialist, side by side

Skill โ€” you can call them

  • User and Lucie can ring them, by bare name: repo-agentifier
  • Joins the main conversation directly
  • 8 of ARCUS's 26 jobs are called this way

Agent โ€” only looped in by name

  • Never a trigger a person types themselves
  • Works alone, in its own space
  • 18 of ARCUS's 26 jobs work this way
GenieYou can ring Angelina yourself to ground a spec. You'd never ring the security specialist directly โ€” Steffi loops that one in herself, during review.
Exhibit E โ€” the office is ready before anyone sits downSessionStartbootstrap.shโœจ lit!
GenieA hook isn't a teammate anyone calls โ€” it's wired into the building itself and fires on its own event. In both Claude Code and Copilot CLI, bootstrap.sh runs on SessionStart before anyone says a word. Copilot CLI runs it from the plugin's own install directory though, not the session's โ€” so it reads the real one off the hook's own payload. Either way Lucie never relies on the hook alone: she re-stages the toolbox herself at the top of every run.
Exhibit F โ€” the whole team, in one cratearcus-pluginarcus MARKET
LucieARCUS: Any Repository Can Use Spec-driven development. arcus-plugin is the crate the whole team ships in โ€” skills, agents, scripts, one bootstrap hook, one version. The arcus marketplace is where you add it from. Same crate works in Claude Code, VS Code, Copilot CLI, and OpenCode.
CH. 0

Day one

Angelina walks the codebase ยท run once per repo
A brand new codebase. No notebook yet.?!
AngelinaFour thousand files and not one of them explained to me yet. Before the team takes a single ticket, I need to know this codebase cold.
Four passes, done together, not one at a timeOVERVIEWFLOWSTESTSPATTERNS
AngelinaFour passes at once, not queued one after another: what the repo does, how the business flows run, how it's tested, what patterns repeat. Nobody waits on anybody.
Day one complete. Once per repo โ€” or when it's gutted.CODEBASEMAPPED
AngelinaEvery later stage reads this. I only redo the whole scan after a major restructure or a tech-stack change โ€” day to day, a small sync keeps it honest for free.
CH. 1

The brainstorm

Angelina grounds the spec ยท Gate A
A ticket lands on the boardstory.md
Lucie"plan story.md" and it's on the board โ€” Angelina takes it from here.
A compact pack, not the whole notebookcontext-pack.md
AngelinaI never hand a story the whole notebook โ€” just the compact slice it actually needs. A quick first pass, plain inputs in, one bundle out.
Every open question, handed over in one go3 open questionsSF-1 Token expiry window?โœ“ Recommended: 30 min (= session TTL)SF-2 Refresh on idle?โœ“ Recommended: noโ€” answer all in one reply, your own words fine โ€”
AngelinaI never actually stop and chat. I always decide everything myself, then jot the calls I was least sure about into an Open Questions list โ€” each with exactly one recommended option and a one-line reason. In gated mode Lucie hands you that whole list at once, so you answer in a single reply, in your own words if you like. In AFK mode nobody reads it and my picks just stand.
Two documents come out the other sidegrounded-spec.mdplan.md
Angelinagrounded-spec.md is every resolved ambiguity and its acceptance criteria. plan.md is the atomic ### Task N: list. Gate A: say "yes", or come back later with generate test plan for <STORY>.
INTERLUDE

Lucie's three modes

three modes, one Lucie โ€” gated / intelligent / AFK
Careful Lucie โ€” gated mode"...yes?"
LucieGated is my default. I stop for Angelina's open questions, and I also pause at phase boundaries โ€” transitions between major stages. Hand you the whole decision list at once, then stop again if a gate fires. Best for careful control and a story with any TBD in it.
Middle Lucie โ€” intelligent mode?
LucieIntelligent is my cloud mode. I stop once for Angelina's open questions if she has any โ€” just like gated โ€” but I skip the phase-boundary gates. Run unattended from CI, stop for decisions only, no waits on human gates.
Turbo Lucie โ€” AFK mode
LucieAutonomous (AFK) is the same me, no brakes. Trigger with forge, afk, run afk on <STORY>, or arcus <STORY> --afk โ€” every stage runs back-to-back, every gate auto-confirms, milestones only. Only for a spec I already trust.
CH. 2

Quinn finds the edges first

Quinn designs the test matrix ยท Gate B
Before a single line of code โ€” the test matrixHAPPY PATHEDGE CASEERROR CASEREGRESSIONโ†’ test-plan.md, every case under its ### Task N: section
QuinnHappy path, boundary conditions, and every way this could fail โ€” designed before code exists, following whatever .context/testing-patterns.md already established. That's TDD, not an afterthought. Gate B: arcus <STORY> when you're happy with the matrix.
CH. 3

Diana, times three

Diana takes the tickets ยท Gate C
The branch didn't exist until nowarcus/STORY-1
LucieDay one only planned the branch name โ€” no git branch existed yet. Only now, at the start of Implementation, do I actually create arcus/<STORY>-N, re-checking for name collisions since day one. Planning stays entirely on the base branch; we only branch once there's real code to commit. Unless the room I woke up in already had a door โ€” see the card below.
Every ticket, its own sealed roomTASK 1TASK 2TASK 3
DianaLucie parses every ### Task N: heading and sends each one to a fresh copy of me: implementation, tests, my own tidy-up pass, and one lightweight advisory spec check. None of us can see each other's code โ€” which is exactly why quality isn't judged per ticket.
CH. 4

Benny, then Steffi

Benny's gate โ†’ Steffi's review ยท Gate D
Tier 1 โ€” no nuance, no negotiatingโœ— typecheckโœ— full test suiteโœ— build + smokeโœ— secret scan
BennyI run the repo's real tooling โ€” never a model eyeballing the diff. Any hard block on typecheck, tests, build, or a leaked secret ends it immediately: no review from Steffi, straight to changes_requested. Lint and format get auto-fixed and committed where possible.
Tier 2 โ€” five checklists, only if Benny lets it throughSPECQUALITYSECURITYPERFORMANCEHISTORY
SteffiSpec compliance and code quality look at the whole diff holistically; security and performance hunt concrete regressions; the history lens catches load-bearing complexity someone quietly deleted. That last one skips docs-only diffs and shallow history.
The verdict โ€” and the round that resets, but not forever
changes_requestedโ†’fix-tasks appended to plan.mdโ†’back to Dianaโ†’re-reviewโ†’ up to 3ร— โ†’approvedโ†’notebook sync โ†’ PR
SteffiNo review round resets forever. This one is bounded to 3 rounds. Still failing on round 3, and it stops for a human โ€” not because we gave up, but because a review loop that never ends helps nobody.
LucieAnd if you disagree with a finding? You can override the verdict and proceed anyway. Findings get three severities โ€” critical blocks, warning is real but survivable, suggestion never blocks.
CH. 5

Notebook sync

Angelina syncs the notebook โ†’ Lucie ships
Only the pages that actually changed get syncedโœŽ
AngelinaI assess the approved diff and update only the notebook pages it materially touched โ€” facts-only, diff-driven, no full rewrite. design-and-coding-patterns.md is static by design: it moves only when a pattern truly recurs, โ‰ฅ3 places, or gets superseded.
The ticket shipsSHIPPR OPEN
LucieNotebook sync moves straight into Closure โ€” no gate, no asking. I run the final suite, synthesize the PR body from the story, the grounded spec, the plan, and every review round, then push and open it for real.
ADVANCED

Ask one teammate alone

you don't need the whole team
Just Angelina, no ticket, no board"reset my passwordfrom the login screen"no story ID, no branch,no checkpoint neededout: resolved ambiguities
AngelinaYou've never run ARCUS, no notebook, no checkpoint, no branch. You can still ask me directly with a plain sentence and get back resolved ambiguities and acceptance criteria. No ARCUS filename ever enters the conversation โ€” just plain, ordinary language.

Pin-up page: how to talk to the team โ€‹

Say thisYou get
"agentify this repo" / repo-agentifierOnce per repo. Angelina scans in parallel, writes the notebook, pins up AGENTS.md + CLAUDE.md.
plan <STORY> or arcus <STORY>Gated, the default. Lucie stops for open questions and phase-boundary gates.
arcus <STORY> --intelligentIntelligent, cloud mode. Lucie stops for open questions only, no phase-boundary gates.
forge <STORY> / afk <STORY> / run afk on <STORY> / arcus <STORY> --afkAutonomous (AFK), no gates. Every stage back-to-back, milestone-only output.
generate test plan for <STORY>Cold-resume into Quinn's Test Plan at Gate A.
review <STORY>Cold-resume into Steffi's Code Review at Gate C.
sync contextStandalone notebook sync, outside the board.
create pull request for <STORY>Cold-resume into Lucie's Closure.
resume <STORY>Continue from the first incomplete stage, in whatever mode the checkpoint remembers.
"where am I" / "arcus help"Genie โ€” the always-on help desk.