Intro
Day 18!
In Day 17 I audited 33,469 of my own AI conversations. Building on that, today I set up a company of cats to run my task management 🐱
What I used: Claude Code / DGX Spark / Slack & Notion.
Today's plan
- What I want: hand the annoying parts of task management to a company of cats
- Approach: build in order — the org, the task flow, the ledger, AI collaboration rules, then deploy to both machines
- Done means: every morning, Necco and I pick "today's three tasks"
-
Result:
- A company of six cats. Inbox = Slack, source of truth = Notion, memory = the ledger
- I inventoried my projects: 80 of them. All in the ledger now
- One page of collaboration rules for Claude Code / Codex / qwen
① Built the org
Role-based staff (subagents), all named "___-neko" (neko = cat).
| Name | Role |
|---|---|
| Necco | Chief secretary: morning meeting, task triage, routing, ledger upkeep |
| Shirabe-neko | Research |
| Tsukuri-neko | Implementation |
| Mekiki-neko | Review (read-only) |
| Soroban-neko | Number crunching |
| Rusuban-neko | Caretaker: a local LLM (qwen) living on the DGX. Summarizes, sorts, and tags incoming files |
Before building, I looked at prior art. An individual delegating their own management to AI seems established as the AI Chief of Staff pattern.
The staff internals come tomorrow in Day 19.
② Built the task flow
A task pops up → one line into Slack from my phone (3 seconds)
→ [morning meeting] Necco sweeps the inbox
→ cleans it up, adds a due date, registers it in Notion
→ proposes "today's three"
Think of something, drop one line in Slack. By morning it's in Notion. An evening "done: ___" one-liner feeds the next morning's ledger update and task close-out.
③ Built the ledger
What's the ledger (LEDGER.md)? One file listing every project, so Necco can answer "where was that project again?" instantly.
For the initial data, I inventoried both of my machines. The count: 80 projects. I had no idea it was that many...
④ Set the AI collaboration rules
Instead of deciding "which AI gets this job" every time, it's now one page:
| AI | Role |
|---|---|
| Claude Code | Lead (design, planning, review, conversation) |
| Codex CLI | Routine subcontractor (implementation) |
| qwen (local LLM) | Batch pre-processing (summarize, sort, tag — stays on the DGX) |
Rusuban-neko is the DGX side of this rule. Zero API cost, and the data never leaves the house.
⑤ Deployed to both machines
The company is a git repository. I gave it a private GitHub remote and cloned it onto the DGX. An install script places the staff and skills into ~/.claude/.
Now either machine can summon the same company.
The first morning meeting
I opened Claude Code in the office and ran the first morning meeting.
The one-liner I had tossed into Slack the night before was cleaned up and registered in Notion by Necco. This is genuinely comfortable.
The full picture
| Chief secretary | Necco (Claude Code) |
| Staff | Shirabe / Tsukuri / Mekiki / Soroban (subagents) |
| Caretaker | Rusuban-neko (local qwen on the DGX) |
| Inbox | Slack |
| Source of truth | Notion |
| Memory | the ledger file (80 projects) |
| Layer | Role |
|---|---|
| Slack | The inbox — ephemeral, free-form, 3 seconds to post |
| Notion | The source of truth — same as before |
| Ledger | The company memory — what exists, where, in what state |
secretary/ ← the office (cloned on both machines)
CLAUDE.md ← Necco's persona, house rules, meeting runbook
LEDGER.md ← the ledger (80 projects)
input/ ← file inbox (pre-processed by Rusuban-neko)
agents/ ← staff definitions (source of truth)
skills/ ← skills (source of truth)
install.sh / install.ps1 ← places staff & skills into ~/.claude/
Notion stays; only the entrance changed. Necco does the formatting and registering.
Today's takeaways
- Separate the inbox from the source of truth: Notion felt tedious because it was doing both jobs
- Keep the company's memory in git: AI auto-memory splits across two machines
- Default patterns are fine: borrow the shape from prior art, fit the details to your own setup
The details
The morning meeting runbook (8 steps)
-
git pull(bring in the other machine's updates) - Rusuban-neko pre-processes anything new in
input/ - Close out yesterday's three (update Notion statuses)
- Sweep the Slack inbox → turn into TODOs → register in Notion
- Notion + calendar + inbox + ledger → propose "today's three"
- Reflect the evening one-liners into the ledger
- Post the final digest to Slack
git push
Git sync (1 and 8) and close-out (3) are baked into the runbook. The human only "posts" and "answers".
Pitfalls I mapped out beforehand
| Pitfall | Countermeasure |
|---|---|
| The ledger goes stale | The evening one-liner habit |
| AI memory splits across two machines | Permanent knowledge goes into git-tracked files; auto-memory is treated as cache |
| Forgetting to sync the two machines | pull / push are steps 1 and 8 of the runbook |
| Work calendar isn't visible | Fill in verbally at the morning meeting, for now |
| No closed loop on task completion | The meeting starts with closing out yesterday's three |
Two-machine sync
- Staff definitions (
agents/) and skills (skills/) live in the repository as the source of truth -
install.sh(Linux) /install.ps1(Windows) place them into~/.claude/ - Adding a staff member = commit → pull on the other machine → run install
Prior-art notes
- mimurchison/claude-chief-of-staff: CLAUDE.md at the core; goals filter every priority; humans keep the final say
- Claudia: remembers promises and relationships; a messaging gateway from your phone
- loganhc-09/claude-chief-of-staff: resident operation via scheduled scripts
The common rule: always-on rules → CLAUDE.md / occasional methods → skills / context-heavy work → subagents. This build follows it too.
Tomorrow: Day 19
Staff day — the four subagent definition files, plus getting Rusuban-neko (the local LLM) running as a resident service.
Thanks for reading!
![[Day 18] I set up a company of AI agents with Claude Code — and a local LLM (qwen) joined as the caretaker](https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F17dl5pzfefc7d1jpmp88.png)





![[Day 16] I made a theme song for my cat — lyrics, melody, and singing voice, all AI, all local](https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx75q9dpnxlzbpvh6ff33.png)
![[Day 17] I analyzed 33,469 of my own AI conversations to audit how I actually use AI](https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fphdczdpqa7xkwm43bdpe.png)


