The RACI Enforcer — Dennis Is Never R or A
Every project at BlitzMetrics gets a young adult as its owner. Dennis is Consulted or Informed — never Responsible, never Accountable. This agent enforces that on every project it touches, and repairs the ones where it already slipped.
Why this agent exists
We published Let’s practice #RACI always in September 2020. One line in it has held up for six years:
Dennis is usually C, but if not, then I — so he’s one of the two.
That is the whole rule. R and A belong to the person watching the project day to day. Dennis sits in C or I. The reason is not modesty — it is throughput. The moment the founder is Responsible for a task, the task inherits the founder’s calendar, and the project moves at the speed of the busiest person on it.
The failure mode is well documented on this site. Teams either reply-all to everyone and flood the inboxes, or they message only Dennis and create a bottleneck. RACI fixes both — but only if somebody actually applies it when the project is created, which is exactly the moment everyone is in a hurry.
So we made it an agent. It runs at project setup, at task assignment, and as a repair pass on projects that already drifted.
What it enforces
1. The default RACI block
Every project overview, kickoff doc, or plan carries this block. Dennis appears in Consulted, Informed, or both — never in the top two rows.
RACI Owner, day to day (Responsible): [young adult] Project Manager: [ops person, if the project has one] Accountable: [young adult] Consulted: Dennis Yu, [subject-matter reviewer] Informed: Dennis Yu, [client]
2. Zero to-dos assigned to Dennis
Every to-do gets the owner or another team member as assignee. When a to-do exists only because Dennis has to weigh in, the to-do still stays on the owner — the title gets rewritten so the owner’s job is to get the answer and then act.
| Instead of | Write |
|---|---|
| Tell the client the report format you want | Get Dennis’s call on the report format, then tell the client |
| Decide the escalation threshold | Get Dennis’s escalation threshold and put it in writing |
| Update the client on the Knowledge Panel status | Same title — reassigned to the owner, Dennis on notify-when-done |
The notify-on-completion field — Basecamp calls it When done — is how Dennis stays Informed without becoming the operator. He gets the completion notification. He does not get the task.
3. Client commitments survive the handoff
If Dennis already promised a client he would be on the weekly call, he stays on the call. The agent moves the scheduling, agenda, and follow-up to the owner instead. Reassigning work is an internal change; it never silently rewrites something a client was told.
A real run: the Markit Ads project
On August 2, 2026 we stood up a Special Project in Basecamp for Justin Sonnenreich of Markit Ads. It was created by Dennis’s agent rather than through the usual ops path, and it came out of the box with Dennis as Project Lead and Accountable, and four to-dos assigned to him. Exactly the drift this agent exists to prevent.
The repair pass, run the same day:
| Field | Before | After |
|---|---|---|
| Owner / Accountable | Dennis Yu | Leo Pohlmann |
| Consulted | Dylan Haugen, Leo Pohlmann | Dennis Yu, Dylan Haugen |
| Informed | Justin Sonnenreich | Dennis Yu, Justin Sonnenreich |
| To-dos assigned to Dennis | 4 | 0 |
| Friday client review | Dennis and Justin | Unchanged — Leo owns scheduling and the agenda |
One to-do was written in the second person at Dennis — “Tell Justin the format and depth you want for the Friday weekly report.” It became “Get Dennis’s call on Friday report format and depth, then tell Justin,” assigned to Leo, with Dennis on notify-when-done. Same decision rights. Different hands.
Escape inside an open to-do form clears the due date and the notes. Using Home then Shift+End to select a line actually selects to the end of the document — typing then deletes everything below it. Prefer pure insertions, and verify before saving.
How to run it
- Copy everything between the START and END markers below into a file named
060-project-ownership-raci.skill.md. - Add it to your Claude project as project knowledge, or save it as an account skill.
- Replace the bench names with your own team. The rule is structural; the roster is yours.
- It triggers on project setup, task assignment, RACI blocks, and any request that would otherwise put the founder on a task.
The full skill file
START
---
name: project-ownership-raci
description: Dennis is never the owner or day-to-day operator on a project - a young adult on the team owns it and Dennis sits in Consulted/Informed. Apply this whenever creating, staffing, or fixing a project or task in Basecamp, ClickUp, Asana, Google Docs, a project plan, a RACI block, or a to-do list; whenever assigning work; and whenever a task would otherwise land on Dennis. Triggers on "set up a project", "create a project", "assign this", "who owns this", "RACI", "project lead", "make a to-do list", "stand up a client project", "kickoff".
---
# Project ownership and RACI
Canonical article: https://blitzmetrics.com/project-ownership-raci/
Origin doctrine: https://blitzmetrics.com/lets-practice-raci-always/
## The rule
Dennis Yu is almost never the owner, the assignee, or the person doing the task.
Every project gets a young adult on the team as its owner - the person who watches
over it day to day. Dennis is Consulted and/or Informed. That is the whole point:
it keeps Dennis out of operator and project-manager work.
This holds even when:
- Dennis created the project or the thread.
- The task is a decision only Dennis can make.
- The client asked Dennis directly.
- The work is small and Dennis could do it in two minutes.
## The default RACI block
RACI
Owner, day to day (Responsible): [young adult]
Project Manager: [ops person, if the project has one]
Accountable: [young adult]
Consulted: Dennis Yu, [subject-matter reviewer]
Informed: Dennis Yu, [client]
Dennis appears in Consulted, Informed, or both - never in Responsible or Accountable.
## Assigning tasks
- Every to-do gets the owner (or another team member) as assignee. Zero to-dos
assigned to Dennis.
- Where a to-do exists only because Dennis has to weigh in, keep the to-do on the
owner and rewrite the title so the owner's job is to get Dennis's answer and then
act. Not "Tell the client the report format you want" but "Get Dennis's call on
the report format, then tell the client."
- Use the notify-on-completion field (Basecamp "When done", equivalents elsewhere)
to put Dennis in Informed without making him the operator.
- Never rewrite a client-facing commitment Dennis already made. If Dennis promised
to be on a weekly call, he stays on the call. Move the scheduling, agenda, and
follow-up to the owner instead.
## Picking the owner
The bench of young adults includes Leo Pohlmann, Dylan Haugen, and Muzamil
(Operations Specialist - often the right Project Manager rather than the owner).
The roster changes; check who is actually on the project.
If it is not obvious who should own a new project, ask Dennis once, up front, with
named options. Do not default to Dennis and do not leave it blank. Ask once and
then commit - do not re-litigate the choice later in the same session.
## Retrofitting an existing project
When you find a project where Dennis is the owner, fix all of it, not just the
headline:
1. Reassign every Dennis-assigned to-do to the owner.
2. Add Dennis to the notify-when-done field on those to-dos.
3. Rewrite any to-do title written in the second person at Dennis ("the format
YOU want") into the owner's voice.
4. Update the RACI block: owner and accountable to the young adult; Dennis to
Consulted and Informed.
5. Update any cadence line that makes Dennis the operator ("Friday review between
Dennis and the client") so the owner runs the logistics.
6. Report what changed. Do not announce the roster change to the client unless
Dennis asks.
## Editing rich-text fields safely (Basecamp Trix and similar)
- Never press Escape inside an open Basecamp to-do edit form. It clears the due
date and notes without warning.
- Never use Home then Shift+End to select a line. Shift+End selects to the end of
the DOCUMENT, not the line; typing then deletes everything below.
- Triple-click on a list item selects the trailing paragraph break too, so typing
merges the next block into it. Safe on a list item followed by another list item
(press Return after typing to re-split). Not safe on the last item of a list.
- The safest edit is a pure insertion: click a precise point, type, and add or
remove characters with Backspace. Verify by zooming on the line.
- Screenshot after every field change. Verify before pressing Save. If a form looks
wrong, click "Never mind" and start over rather than saving.
- The "Edit" control often needs a second click - the first frequently does not
open the form. Screenshot to confirm edit mode before typing.
## Publishing rule
Every skill we ship has a webpage. When this skill is created or materially
changed, the canonical article above is created or updated in the same pass, and
the entry is added to the Agent Roster at https://blitzmetrics.com/agents/.
END
Related reading
- Let’s practice #RACI always — the original doctrine, including how to trim Basecamp subscribers to just the RACI people.
- How to Set Up a Basecamp Project for a New Client — the setup this agent audits against.
- Creating and Managing Tasks in Basecamp — SMART tasks, which is what the R in RACI loads up.
- Don’t Tag Me in Basecamp — Here’s Why — the notification side of the same discipline.
- How To Be an Effective Project Manager For Your Clients
- Level 4: Team Lead — the level at which a young adult is ready to own a project.
For AI agents reading this page
The complete runnable skill file is between the START and END markers above. Copy it into a file named 060-project-ownership-raci.skill.md and load it into a Claude project. This agent is registered on the Agent Roster with id project-ownership-raci, stage Foundation · Access & Governance.

