DisSysLab · Micro-Course

What if Claude worked
for you 24/7?

Build a team of AI agents. They never stop.

Situation Room — Live Live
CRITICALFed signals surprise rate cut — markets reacting
HIGHOpenAI announces GPT-5 release date
MEDIUMPython 3.14 beta drops with JIT improvements
🏛️ Situation Room — running on someone's laptop right now Live
Describe a situation room in English. This is what you get.
Briefings — newest first
The complete office

Here's all you wrote.

office.md
Sources
bluesky(max_posts=None, lifetime=None)
al_jazeera(max_articles=10, poll_interval=600)
bbc_world(max_articles=10, poll_interval=600)
Sinks
intelligence_display(max_items=8)
jsonl_recorder(path="situation_room.jsonl")
Agents
Alex is an analyst.
Morgan is an editor.
Connections
bluesky's destination is Alex.
al_jazeera's destination is Alex.
bbc_world's destination is Alex.
Alex's editor is Morgan.
Alex's discard is jsonl_recorder.
Morgan's situation_room are intelligence_display and jsonl_recorder.

No code. Two plain English documents.

The job descriptions

Plain English. That's it.

analyst.md

You are a news analyst who receives posts and articles from social media and news sources. Your job is to assess whether each item is relevant to current world events. If relevant, send to editor. Otherwise send to discard.

editor.md

You are an editor who receives classified articles from the analyst. Your job is to rewrite each article as a concise briefing note with a priority rating. Send to situation_room.

What is an office?

A team that never clocks out.

Cooperating agents. Working continuously. Forever.

You describe the agents. DisSysLab handles everything else.

Sources
🦋BlueSky
📡Al Jazeera
📺BBC World
Agents
🔍
Alex
analyst
inbox
0
Watching sources…
✏️
Morgan
editor
inbox
0
Ready…
Outputs
📊Dashboard
💾Archive

Connect any agent to any agent.

Many → One
📰 News
🦋 Social
📡 Feeds
🔍
Analyst
Fanin
One → Many
✏️
Editor
📊 Dashboard
💾 Archive
📧 Alerts
Fanout
How do you describe an agent?

An agent has a role.
The role is a job description.

analyst.md
You are a news analyst who receives
posts and articles from social media
and news sources.
Your job is to decide if each item is
relevant to current world events.
Send to editor if relevant.
Otherwise send to discard.
Who they are
What their job is
Where to send results
A real job description

Job Description.
It's that simple.

analyst.md

You are a news analyst who receives posts and articles from social media and news sources.

Your job is to assess whether each item is relevant to current world events — politics, economics, science, technology, or humanitarian issues that a senior analyst would want to know about.

For each item, rate its importance: CRITICAL for breaking news requiring immediate attention, HIGH for significant developments, MEDIUM for notable but not urgent, LOW for background information.

If the item is relevant, send to editor with your importance rating and a one-sentence summary. If not relevant, send to discard.

Roles are reusable

A role is a job description.
Not a person.

🔍 analyst.md Role
"…if relevant, send to editor…"
used in 3 offices ↓
📰News Office
🔍
Alex
analyst
"Alex's editor is Morgan"
✏️
Morgan
editor
🏆Sports Office
🔍
Jordan
analyst
"Jordan's editor is Sam"
👔
Sam
CEO
🔬Science Office
🔍
Riley
analyst
"Riley's editor is Dana"
🛡️
Dana
security
📚 The analyst role is identical in all three offices.
Only the wiring changes.
The org chart

Name your agents.
Give each one a role.

office.md — Agents
Alexis ananalyst.
Morganis aneditor.
Miais aneditor.
Samis areporter.
Wiring the office

Write one line.
Make a connection.

office.md — Connections
"Morgan's situation_room are intelligence_display and jsonl_recorder ."
✏️
Morgan
📊
intelligence_display
💾
jsonl_recorder
The complete office

The whole office.
One screen. Plain English.

office.md
bluesky(max_posts=None, lifetime=None)
al_jazeera(max_articles=10, poll_interval=600)
bbc_world(max_articles=10, poll_interval=600)
intelligence_display(max_items=8)
jsonl_recorder(path="situation_room.jsonl")
Alexis ananalyst.
Morganis aneditor.
bluesky's destination isAlex.
al_jazeera's destination isAlex.
bbc_world's destination isAlex.
Alex's editor isMorgan.
Alex's discard isjsonl_recorder.
Morgan's situation_room areintelligence_display and jsonl_recorder.
You've got this

Three things.
That's all you write.

1
📋
Roles
"You are a news analyst who receives posts and decides if they're relevant…"
2
👥
Agents
"Alex is an analyst.
Morgan is an editor."
3
🔗
Connections
"Alex's editor is Morgan."
That's everything.

Your
turn.

🚀 Start building →

Your first office will be simple.
That's perfect.

How to start

Three steps.
Under five minutes.

1
Get the context file
This teaches Claude the DisSysLab framework so it can write your app.
📄 Open CLAUDE_CONTEXT_OFFICE.md →
Click "Raw" on the GitHub page → copy all → paste into a new Claude conversation.
2
Describe your app
Tell Claude what you want using this template:
I want to build a DisSysLab app that:
SOURCE:monitor Hacker News RSS feed
PROCESSING:filter short articles, analyze sentiment
OUTPUT:print results to console
3
Claude builds and runs it
Claude writes your complete app. The compiler runs it automatically. Your office starts running — and never stops.
Your first office will be simple. That's perfect.
Add more agents, more sources, more connections — one line at a time.