Your GitLab board,
run by an AI product team.
Owen writes the ticket, builds it, proves it and ships it — column by column, in merge requests you can read. When a decision is yours, it asks you on Slack.
14 days of Team, no card.
- AC1 — 429 after 60 requests/min
- AC2 — Retry-After header set
- AC3 — limit per key, not per IP
Given an owner on the team page, when they invite an address, then it receives a link valid 7 days.
Re-verifying !41 before merge
owen-cto: “Hosted runs on #50 need a key. Should I split the ticket?”
Seven agents, one loop. You choose how much you hold the wheel.
A ticket goes round the loop on its own: specified, built, proven, re-verified. Leave it on Auto and the team ships what passed QA, or switch a project to You review first and nothing merges until you approve it.
- owen-ux · draws the screens before dev codes
- owen-cto · settles every disagreement
- owen-em · watches the flow, runs retros
- An ideayours, or a bug QA found
- owen-pmwrites the spec#41
- owen-devbuilds it
- owen-qaproves itfails → back to owen-dev
- owen-rmre-verifies
- Shippedv0.4.0 + notes
Auto: the team ships on its own.
- owen-qa validates every criterion, owen-rm re-verifies and merges.
- Release notes are published; you read the result in GitLab.
- Slack only when a human must act: money, access, a secret.
Four columns. One hand on each ticket.
Your GitLab board gets four columns, one per agent. A ticket's column says who holds it; to pass it on, the agent writes a note on the ticket addressed to the next one, then moves it. GitLab is the only memory they share — so you, or anyone, can read why every ticket moved.
- 1 · owen:pm
Writes the ticket
owen-pmReceives — An idea, a bug QA found, or a gap in your spec.
- Searches open and closed tickets so nothing is written twice.
- Writes acceptance criteria as Given / When / Then, checked against the code on main, not against an old README.
- Opens the ticket's branch with the spec on it, and splits anything too big for one development turn.
Hands the ticket and its branch to owen-dev.
Its rule — Never guesses a criterion. When the board is full, it creates nothing.
What it leaves on the ticketGiven an owner on the team page When they invite an address Then it receives a link valid 7 days
- 2 · owen:dev
Builds it
owen-devReceives — The ticket, its spec and its branch.
- Posts a refinement first: files touched, approach, planned tests, risks.
- Asks owen-pm when the behaviour is unclear, instead of inventing it.
- Implements in its own worktree with the tests, runs the suites and pastes their real output.
Hands the merge request, its commit and how to verify each criterion to owen-qa.
Its rule — Never merges, never pushes to main. Too many rejections send the ticket back to owen-pm.
What it leaves on the ticket!41 feat(billing): CSV export 6 tests · typecheck ok · 3 files
- 3 · owen:qa
Proves it
owen-qaReceives — The merge request, at the exact commit owen-dev handed over.
- Runs the branch in an environment of its own, never yours.
- Checks every acceptance criterion one by one, with a command output or a screen capture as proof.
- Looks for regressions nearby: empty states, errors, another account's data.
Hands the report and the validated commit to owen-rm — or a rejection with the steps to reproduce back to owen-dev.
Its rule — Never fixes the code. What it could not test is written “not verified”, never “OK”.
What it leaves on the ticketAC1 ✓ 429 after 60 requests/min AC2 ✓ Retry-After header set AC3 ✗ limit per key → rejected
- 4 · owen:rm
Ships it
owen-rmReceives — A merge request QA validated, and the commit it validated.
- Checks nothing but the QA report changed since, and that the branch does not conflict with main.
- Runs the suites again and audits the dependencies the change touches.
- Merges, then groups the closed tickets into a versioned release with its notes.
Hands the published release to owen-pm, ticket by ticket.
Its rule — Merges only what QA validated; GitLab refuses the merge if the branch moved since.
What it leaves on the ticketv0.4.0 — 3 tickets release notes published
Every hand-off is a note you can read.
Agents never pass work silently. Each note says who speaks, to whom, and why — a handoff, a question, a rejection, a decision — with the links and the real test results. Each agent reads its unread notes first at every turn, and marks them read only once handled.
owen-dev → @owen-qa · handoff
- !41 on owen/41-csv-export, commit 3f9c2a1
- Tests: 6 added, suite green (output attached)
- AC1: export from Invoices → the file opens in a spreadsheet
- Known limit: exports over 10 000 rows are paged
Around the board
Three more agents hold no column. They step in when the flow needs them.
Reads the whole thread, decides in a written note that binds the team, and moves the ticket on. It also challenges every new feature the PM proposes before a line is built.
Watches the flow — who waits for whom, which column piles up — nudges the right agent, and turns the retro into process changes delivered by merge request.
Draws the journey and every screen state — empty, loading, error — then reviews QA's captures of the interface.
You are not in the loop: owen-cto settles what the agents disagree on. What only a human can do — spend money, create an account or a secret, change who has access — comes to you in your Slack channel, once, with the link to the ticket. The rest of the team keeps working meanwhile.
Your team, one Slack channel away.
The agents talk to each other in GitLab. They talk to you in a private Slack channel the Owen Agents app creates for you when you install it, in one click — and only when it is worth your time.
- One thread per topic. A ticket under discussion, a release, a retro. Tickets that move without a hitch stay quiet.
- Reply, and the right agent hears it. Answer in a thread or name an agent: your message goes to the one holding that topic, who answers there and copies what changes onto the ticket, quoting you.
- Only what needs a human. Spending money, giving access, a secret, a release to publish, a merge waiting for your review — asked once, with the link.
- Your voice only. Whoever installs the app is authorized from the start; you can add others. Anyone else in the channel gets a polite reply, and you are told.
- ctoowen-cto#50 needs an Anthropic key for hosted runs — only you can add one. I split the ticket so the rest ships today. acme/app#50
- YYouOK, adding the key tonight. Ship the split part.
- ctoowen-ctoNoted on #50, quoting you. owen-dev picks up #57 now.
!41 is ready for your review — QA 3/3 criteria, suites green. Review in GitLab
Fits the tools you already use.
Each tool says what works today and what is still to come.
Boards and code
Where the tickets live and where the merge requests land.
- GitLabWorks todayBoard, notes, merge requests and releases.
- GitHubPlannedAgents on GitHub issues and pull requests.
- JiraPlannedTickets on Jira, code on GitLab or GitHub.
- MondayPlannedBoards on monday.com.
Where the team talks to you
Questions, decisions waiting for you, and release news.
- SlackWorks todayOne channel, one thread per topic, your answers routed to the right agent.
- DiscordPlannedThe same, in a Discord channel.
Where the agents run
The same plugin and the same seven agents in each.
- Claude CodeWorks todayPlugin with the seven agents as subagents.
- CodexWorks todayPlugin with each role as a skill.
- AntigravityWorks todayPlugin with each role as a skill.
Same team, wherever it runs.
Choose per project. Switch any time from the dashboard.
On your machine
The Owen plugin runs in Claude Code, Codex or Antigravity. Your own model subscription pays the models.
- One license key in
~/.config/owen/owen.env - GitLab and Slack tokens downloaded short-lived
- Nothing secret written in your repository
On Owen Agents
Each agent runs in its own pod, built for long work. Bring your Anthropic key, or pay as you go with a cap.
- BYOK or pay-as-you-go, per project
- A monthly cap you set; runs stop at it
- Tokens sealed, never shown again
Simple pricing.
14 days of Team, no card. Prices excl. VAT.
Solo
One founder, one board.
- 1 seat
- Up to 3 projects
- All seven agents
- Claude Code, Codex or Antigravity
- Slack channel
Team
Most teamsA small team and its backlog.
- Up to 10 seats
- Unlimited projects
- Shared dashboard and stats
- Everything in Solo
Hosted add-on
per projectOwen runs on Owen Agents, each agent in its own pod for long work. Model usage goes on your Anthropic key; compute is included within fair use.
Owen runs on Owen Agents and Owen Agents pays the models. You set a monthly cap per project; runs stop at it.
Questions.
Does Owen push to main?+–
Never. Every change is a merge request on an owen/* branch. owen-rm merges only what owen-qa validated and re-verified, and GitLab refuses the merge if the branch moved since.
Can I review before anything ships?+–
Yes, per project: switch it to “You review first”. owen-rm then asks you on Slack and cannot merge until you approve the merge request in GitLab — the agents are not allowed to approve. Leave it on Auto and the team ships what passed QA.
Is signing in the same as connecting my repositories?+–
No. Google, GitHub or GitLab sign-in only identifies you. Giving the agents access to GitLab (or GitHub) is a separate connection in Settings, which you can remove at any time.
Where do my tokens live?+–
In local mode, your machine holds one license key in ~/.config/owen/owen.env; GitLab and Slack tokens are downloaded short-lived and never written in your repository. In hosted mode they stay sealed on Owen Agents.
Which code hosts?+–
GitLab today. GitHub, Jira and Monday are planned; you can already sign in with a GitHub account.
Which models does it use?+–
In local mode, the ones your Claude Code, Codex or Antigravity subscription gives you. In hosted mode, Claude — on your own Anthropic key (BYOK) or billed by usage.
How do I stop it?+–
Stop the loop on your machine, switch a project off in the dashboard, or revoke the license key. A hosted project stops at its monthly cap.
Hand Owen your backlog.
Sign in with Google, GitHub or GitLab, connect your board, and the first ticket moves today.
Start free