DEV Community

shiro-tools
shiro-tools

Posted on

I Built a Virtual Organization Inside Claude Code -- Now It Manages My Tasks Automatically

Are You Really Using Claude Code to Its Full

Potential?

If you use Claude Code daily, you've probably hit

these walls:

  • You re-explain yesterday's design decisions at the start of every session
  • You dig through Slack or notes trying to remember what was decided last week
  • TODOs you gave verbally are gone when the session ends
  • Technical advice comes back as generic "generally speaking..." responses

Claude Code is excellent. But its memory resets

every session. You can write development rules in

CLAUDE.md -- most power users do -- but that

alone doesn't solve context continuity.

I solved this by building a virtual
organization
inside my project. After running it
for over a month, I can't go back.

## What I Built

I created a .company/ folder at my project root,
containing "departments" and "rules":

your-project/
├── .company/
│ ├── CLAUDE.md # Org hub:
structure, rules, conventions
│ ├── secretary/
│ │ ├── CLAUDE.md # Secretary: point

of contact, TODO, notes
│ │ ├── inbox/ # Unprocessed ideas
go here
│ │ ├── todos/ # Daily task files

(YYYY-MM-DD.md)
│ │ └── notes/ # Decision logs,

learnings, meeting notes
│ ├── engineering/
│ │ ├── CLAUDE.md # Engineering:

5-person virtual dev team
│ │ ├── docs/
│ │ └── debug-log/
│ └── research/
│ ├── CLAUDE.md # Research:
proactive AI strategist
│ ├── proposals/
│ ├── rejected/
│ └── watchlist/
├── src/
├── ...

The key: .company/CLAUDE.md is read automatically
by Claude Code via its built-in CLAUDE.md

convention. No plugins, no configuration. Drop the
folder and the "organization" comes alive.

## How It Works

### The Secretary -- Single Point of Contact

The Secretary is the heart of the system. Every

interaction flows through it.


markdown
  # Secretary Department

  ## Role
  Owner's always-on chief of staff. Handles task     
  management,
  brainstorming, note-taking, small talk, and work   
  delegation
  to other departments.

  ## Tone
  - Friendly but professional
  - Proactively suggests next steps: "Should we also 
  handle X?"
  - References past notes and decisions to maintain  
  cross-session context

  The Secretary's folders are simple but powerful:   

  - inbox/ -- Dump anything here without thinking    
  about categorization. "When in doubt, inbox it" is 
  the rule.
  - todos/ -- One file per day (YYYY-MM-DD.md).      
  Format: - [ ] Task | Priority: high | Due:
  2026-04-10
  - notes/ -- Decision logs, learnings, meeting      
  notes. Auto-filed by date and topic.

  Automatic Recording -- The Feature That Changed    
  Everything

  This is the single most impactful part. Add these  
  rules to .company/CLAUDE.md and Claude Code records
   things without being asked:

  ## Automatic Recording
  Record decisions, learnings, and ideas without     
  being asked:
  - Decisions →
  secretary/notes/YYYY-MM-DD-decisions.md
  - Learnings →
  secretary/notes/YYYY-MM-DD-learnings.md
  - Ideas → secretary/inbox/YYYY-MM-DD.md

  Example: During a technical discussion, you say    
  "OK, let's go with GraphQL instead of REST." That  
  decision is automatically logged in
  notes/2026-04-07-decisions.md. Next day, when you  
  ask "What did we decide about the API design?", the
   Secretary pulls up the note.

  You never explain the same thing twice.

  Engineering Team -- 5 Perspectives, One Discussion 

  When you bring up a technical question, 5 virtual  
  team members weigh in from distinct angles:        

  ┌────────┬─────────────────┬───────────────────┐   
  │ Member │   Perspective   │ Typical Response  │   
  ├────────┼─────────────────┼───────────────────┤   
  │        │                 │ "Ship a working   │   
  │ Alex   │ Speed           │ version now.      │   
  │        │                 │ Iterate later."   │   
  ├────────┼─────────────────┼───────────────────┤   
  │        │                 │ "Will this design │   
  │ Jordan │ Architecture    │  hold up in 3     │   
  │        │                 │ months?"          │   
  ├────────┼─────────────────┼───────────────────┤   
  │        │                 │ "It doesn't       │   
  │ Sam    │ Infrastructure  │ matter if it      │   
  │        │ & Security      │ can't run in      │   
  │        │                 │ production."      │   
  ├────────┼─────────────────┼───────────────────┤   
  │        │                 │ "How does the end │   
  │ Riley  │ UX              │  user feel about  │   
  │        │                 │ this?"            │   
  ├────────┼─────────────────┼───────────────────┤   
  │        │                 │ "Why are we still │   
  │ Casey  │ Automation      │  doing this       │   
  │        │                 │ manually?"        │   
  └────────┴─────────────────┴───────────────────┘   

  In practice, when I said "I want to discuss the    
  payment API design," Alex suggested "Just connect  
  Stripe webhooks and ship the MVP," Jordan pushed   
  back with "Payments need proper architecture from  
  day one," and Sam asked "Have you checked PCI DSS  
  scope?"

  Instead of one generic answer, you get a
  multi-angle debate. The Lead Engineer synthesizes  
  everything into action items with priorities.      

  Research Department -- It Proposes Ideas on Its Own

  The Research department is proactive, not reactive.
   Four virtual researchers cover business strategy, 
  technology, workflow automation, and lifestyle     
  design.

  ## Proposal Schedule
  ### Daily (light)
  - 1 proposal per day, rotating categories

  ### Weekly (deep)
  - Every Monday: structured report with 3-5
  proposals
  - Each proposal includes summary, rationale, action
   steps, cost estimate

  Reject a proposal and it goes to rejected/ with    
  your reason -- never proposed again. Say "not now" 
  and it goes to watchlist/ for re-proposal in a     
  month. This feedback loop is surprisingly smart.   

  Before and After

  Before (plain CLAUDE.md)

  - Re-explain context at the start of every session 
  - Forget last week's decisions and repeat the same 
  discussions
  - TODOs live in your head. Things fall through the 
  cracks
  - Technical advice is generic one-size-fits-all    
  - Ideas mentioned in passing disappear forever     

  After (.company/ virtual organization)

  - Session starts with: "You have 3 uncompleted     
  tasks from yesterday. Also, we're continuing the   
  API design from last week."
  - Every decision is in the notes. "What did we     
  decide?" -- instant answer
  - TODOs are persisted in files with priorities and 
  deadlines
  - Technical discussions get 5 distinct perspectives
  - Ideas are auto-captured in inbox. Research dept  
  analyzes them later

  The shift feels like going from "a smart assistant"
   to "a self-managing team."

  5-Minute Setup

  You can build this from scratch in 5 minutes.      

  1. Create the folder structure

  mkdir -p .company/secretary/{inbox,todos,notes}    
  mkdir -p .company/engineering/{docs,debug-log}     
  mkdir -p
  .company/research/{proposals,rejected,watchlist}   

  2. Write the organization hub

  Create .company/CLAUDE.md with at minimum:

  - Org structure: what departments exist
  - Auto-recording rules: what gets recorded where   
  - TODO format: task file conventions

  # Company - AI Virtual Organization

  ## Organization Structure
  .company/
  ├── CLAUDE.md
  ├── secretary/    # Point of contact, TODOs, notes 
  ├── engineering/  # Technical docs, debug logs     
  └── research/     # Proposals, research

  ## Automatic Recording
  - Decisions →
  secretary/notes/YYYY-MM-DD-decisions.md
  - Learnings →
  secretary/notes/YYYY-MM-DD-learnings.md
  - Ideas → secretary/inbox/YYYY-MM-DD.md

  ## TODO Format
  - [ ] Task | Priority: high/normal/low | Due:      
  YYYY-MM-DD

  3. Add department CLAUDE.md files

  Each department folder gets a CLAUDE.md defining   
  its role, rules, and character. Even starting with 
  just the Secretary is enough.

  4. Launch

  Open Claude Code and say:

  ▎ "Read .company/CLAUDE.md and operate as my       
  ▎ virtual organization."

  That's it. From now on, Claude Code reads
  .company/CLAUDE.md automatically at session start. 

  Tips from 1+ Month of Daily Use

  1. Create start/end routines: Begin sessions with a
   TODO review, end with "let's wrap up" so the      
  Secretary logs progress and prepares tomorrow's    
  handoff.
  2. Version control it: Include .company/ in git.   
  Your organization's memory becomes part of your    
  commit history. Sync across multiple machines.     
  3. Start small, add departments later: Begin with  
  just the Secretary. When you find yourself asking  
  Claude the same type of question twice, that's a   
  signal to create a new department.
  4. Trust the inbox: Don't categorize. Just throw   
  things in. The Secretary sorts it out.

  Wrapping Up

  Claude Code has a built-in mechanism for reading   
  CLAUDE.md files. By designing this not as a "rules 
  file" but as an organizational structure, you get  
  cross-session context persistence, automatic       
  recording, multi-perspective technical analysis,   
  and proactive proposals.

  The concept is straightforward, and you can build  
  the basics from this article alone.

  That said, getting the details right -- department 
  personalities, cross-department coordination rules,
   session start/end routines, the proposal feedback 
  loop -- takes real iteration. I spent weeks        
  refining these through daily production use.       

  If you'd rather skip that iteration and start with 
  a battle-tested template, I packaged the full      
  system here:

  https://shirotools.gumroad.com/l/kgqzwi

  5-minute setup. Works across unlimited projects.   
  One-time purchase.

  ---
  This system is based on what I actually run in     
  production for my company -- 6 departments, daily  
  use for over a month. The Secretary alone was worth
   building, but the Engineering team's
  multi-perspective debates are what really changed  
  how I make technical decisions.
Enter fullscreen mode Exit fullscreen mode

Top comments (0)