All projects
AI agentApril to May 2026Measured

139 personalised outreach messages sent, 174 people tracked

Built for

one operator running networking, news, outreach, Twitter, and vault hygiene on a schedule

Project

Aria Agent OS

Networking agent sends up to 23 personalised LinkedIn requests per run on a Mon/Wed/Fri cadence; news agent produces eight daily briefings that feed it; Twitter agent posts three times a day with a Slack approval loop; hygiene agent audits the vault. Numbers read live from the OS folder by its dashboard.

02

Demo

Operations dashboard: today's pipeline, scheduled tasks, memory health
Operations dashboard: today's pipeline, scheduled tasks, memory health
The read-only dashboard, run locally against the real OS folder on 22 September 2026.
03

How it works

Architecture diagram
  1. 01

    Interpretable Context Methodology: the agent reads five layers of CONTEXT.md files and stops when it has enough, 2k to 8k tokens per task.

  2. 02

    Agents are processes, people are nodes: one dossier per person in memory/, one engagement record per agent, linked both ways with wikilinks.

  3. 03

    Pipeline state is encoded by moving a file between stage folders, so Obsidian's graph shows the funnel for free.

  4. 04

    Six scheduled tasks drive the day; every run appends to a daily log the dashboard parses.

  5. 05

    1,646 markdown files and no service layer.

05

Stack and code

DESIGN.md
# Aria Agent OS - Design Document

> **Read this first.** This is the architectural canon for Aria Agent OS. Any
> Claude session - Cowork or Claude Code - entering this folder should read
> `CLAUDE.md` and then this document before doing anything else.
>
> For build chronology, status, and scoping decisions, see `HISTORY.md`.

---

## What this is

A folder-based agent operating system following the **Interpretable Context
Methodology (ICM)** developed by Jake Van Clief. The folder structure IS the
agent. Files are state. There is no orchestration framework, no database, no
service layer. Plain markdown files in a deliberate directory layout, read by
a single LLM session at a time.

**Canonical reference:**
- Paper: [arXiv:2603.16021 - Interpretable Context Methodology: Folder
  Structure as Agentic Architecture](https://arxiv.org/abs/2603.16021)
  (Van Clief & McDermott, 2026)
- Repo: [github.com/RinDig/Interpreted-Context-Methdology](https://github.com/RinDig/Interpreted-Context-Methdology)
- Origin video: [Stop Building AI Agents. Use This Folder System Instead.](https://www.youtube.com/watch?v=MkN-ss2Nl10)

## The 5-layer ICM model

The agent reads down through these layers and stops as soon as it has enough
to act. Most tasks don't need all five. Total context per task: ~2,000–8,000
tokens.

```
Layer 0:  CLAUDE.md                   "Where am I?"            always loaded (~800 tok)
Layer 1:  <project>/CONTEXT.md        "Where do I go?"          on project entry (~300)
Layer 2:  <project>/stages/<n>/CONTEXT.md   "What do I do?"     per-task (~200–500)
Layer 3:  vault folders, _config/,    "What rules apply?"       loaded selectively
          shared/, skills/
Layer 4:  stages/<n>/output/          "What am I working on?"   loaded selectively
```

Layer 3 has two scopes:
- **3a - `memory/` at OS root** (`memory/people/`, `memory/companies/`,
  `memory/decisions/`, `logs/daily/`, `memory/inbox/`,
  `memory/templates/`) - facts about people, companies, topics, decisions;
  shared across all projects, written to by any agent.
- **3b - `_config/`** (project-scoped) - factory configuration for one
  agent (ICP, voice, offer, etc.). Lives inside the agent's project folder.

## Memory model — Option B (person-canonical, agent-engagement)

The OS root **is** an Obsidian vault. `.obsidian/` lives at
`/Users/aria/Documents/Aria Agent OS/.obsidian/`. Every markdown file in the
OS is part of the same graph and reachable by `[[wiki link]]`.

**Key principle: agents are processes, not graph nodes. The PERSON is the
graph node; what the agent did is per-engagement.**

- **Person dossier** lives at `memory/people/<slug>.md`. Describes who they
  are: background, business, stack, voice, audience, disqualifiers. Written
  once when first encountered; extended as new facts emerge. Read by every
  agent. Single source of truth for identity.
- **Engagement record** lives at `<agent>/<stage>/output/<slug>.md`.
  Describes what THIS agent did with this person: anchor, drafted message,
  send state, outreach log. Owned by exactly one agent. Files MOVE between
  the agent's stage folders to encode pipeline state.
- **Linkage.** Every engagement record carries `dossier_ref:
  '[[memory/people/<slug>]]'` in frontmatter and a body line `See dossier:
  [[memory/people/<slug>|<Name>]]`. Every dossier carries a `## Engagements`
  section listing wikilinks to all engagement records. Bidirectional graph.

Concretely, when the outreach agent meets Sarah Kim at Acme Corp:
- Dossier → `memory/people/sarah-kim.md` (who she is — agent-agnostic)
- Outreach engagement → `outreach-agent-arcadia/stages/05-send/output/sarah-kim.md` (Why-this-pitch, messages, send log)
- Decision recorded → `memory/decisions/2026-04-25-skip-acme-corp.md`
- Activity logged → appended to `logs/daily/2026-04-25.md`

If networking-agent later engages Sarah, it reads the existing dossier (no
re-enrichment) and writes its own engagement record at
`networking-agent/06-send/output/sarah-kim.md`. The dossier gains a second
row in its `## Engagements` table. Two engagements, one shared dossier.

github/aria-agent-os/DESIGN.md

README.md
# networking-agent

Automated LinkedIn networking pipeline. Sends 20 personalized connection requests per run on a **Mon/Wed/Fri 05:00 cadence** (decision: 2026-05-04), distributed across 8 categories tied to specific personal goals (job at MBB, lease due diligence, ecosystem density). On the off-days (Tue/Thu) the `08-followup/` stage ships 5-10 coffee-chat-ask DMs to connections who already accepted.

> **Operating mode:** runs autonomously via four scheduled tasks (discovery 02:30, qualify 02:50, send 05:00 on Mon/Wed/Fri; follow-up 09:00 on Tue/Thu). The user can run any stage manually with the `/networking-*` slash commands.

## Quick reference

| | |
|---|---|
| Send target (per run) | Up to 23 connection requests, **15 hard floor**, 300-char personalized notes |
| Send schedule | 05:00 local, **Mon/Wed/Fri** (weekend + holidays skip) |
| Follow-up target (per run) | 5-10 coffee-chat-ask DMs, 200-400 chars |
| Follow-up schedule | 09:00 local, **Tue/Thu** (off-days from the send pipeline) |
| Channel | LinkedIn connect + note → LinkedIn DM thread continuation |
| Send mechanism | Claude-in-Chrome MCP on user's logged-in session |
| State model | File location in stage folder = state. Plain markdown only. |
| Source of truth | `06-send/output/<slug>.md` — single canonical file per person, accreted by both send and follow-up stages |

## Per-run split (send stage, rebalanced 2026-05-06)

Spec total 23, hard floor 15. If projected ranked < 15 the agent halts and pings `#linkedin-networking` rather than ship a thin run. Decision: 2026-05-06-networking-agent-15-floor-bigtech-expansion.

| Slots | Category | Role | Goal |
|------:|----------|------|------|
| 4 | Consulting | Wide-pool absorber | Job at McKinsey / Bain / BCG |
| 3 | Real estate | Weak-pool, gated for follow-up | Lease due diligence |
| 2 | Founders | Weak-pool | Peer learning |
| 2 | Investors (general) | Weak-pool | Long-term ecosystem |
| 2 | YC (firm) | Premier — never accept cascade | Pipeline access |
| 2 | a16z | Premier — never accept cascade | Pipeline density |
| 2 | Tier-1 VCs | Premier — never accept cascade | Sequoia, Greylock, Benchmark, Founders Fund, Index, Accel |
| 6 | Big Tech | Wide-pool absorber, function-broad | HR/PM/EM/design/GTM/finance/ops at FAANG/MSFT/Nvidia/Stripe-tier |

When weak-pool buckets undersupply, slots cascade into the wide-pool absorbers (consulting + Big Tech). Premier slots stay empty rather than burn anchors.

## How to run

**Automatic.** Four scheduled tasks: `networking-agent-discovery` (02:30 MWF), `networking-agent-qualify` (02:50 MWF), `networking-agent-daily-run` (05:00 MWF — sends), and `networking-agent-followup-run` (09:00 Tue/Thu — coffee-ask DMs).

**Manual.** From any folder in the OS:
- `/networking-discover`, `/networking-qualify`, `/networking-send` — individual MWF stages
- `/networking-followup-run` — Tue/Thu coffee-ask loop (sweep → classify → anchor → draft → review or send)
- `/networking-followup-backlog` — manual one-shot for historical Connections backlog
- `/networking-reconcile` — check acceptances + transitions, move 06 → 07-track/<state>/
- `/networking-status` — read-only pipeline state
- `/networking-run` — DEPRECATED all-in-one (use individual commands)

## Folder structure (post 2026-04-28 refactor + 2026-05-04 follow-up addition)

github/aria-agent-os/networking-agent/README.md

CLAUDE.md
# outreach-agent-arcadia - Identity & Routing

You are operating inside `outreach-agent-arcadia/`, the multi-channel outreach
pipeline for Aria Agent OS. ICM-compliant 6-stage workflow. Plain markdown.
Files move between stage `output/` folders to encode pipeline state.

**Read first** when entering this folder:
1. This file (you're here)
2. `CONTEXT.md` (the workspace overview)
3. The `CONTEXT.md` of the specific stage you've been routed to
4. Relevant `_config/` and `skills/` files per the stage's Inputs table

---

## Mission

Land **the first 10 paying customers** for Arcadia. The product being sold
right now is **a done-for-you Realm-setup service** ($7,500–$15,000 range,
tentative - see `_config/offer.md`). After 10 case studies, Arcadia
transitions to a self-serve platform.

Target: **creators earning $20k+/month** who are fragmented across multiple
tools (Discord/Slack + course platform + Notion) and would benefit from a
unified spatial home for their community.

---

## Pipeline stages

```
01-discovery      →  Find candidates
02-qualification  →  Score against ICP, accept/reject
03-enrichment     →  Comprehensive dossier per qualified lead   ← load-bearing
04-personalization → Multi-channel send package per lead
05-send           →  Dispatch via Playwright browser automation (all platforms)
06-followup       →  Bumps + reply handling → Calendly
```

Each stage reads stage N-1's output and the relevant `_config/` and `skills/`
files. **One-way flow** with one allowed back-edge: stage 03 may reject a
lead back to stage 02 if enrichment reveals it's below ICP.

All leads live in the stages pipeline. Phase-0 discovery targets (96 sent,
`source: phase-0-discovery`) now live in `stages/05-send/output/`.
Phase-0.1 YouTube discovery targets live in `phase-0.1-youtube-discovery/output/`
(separate batch, will migrate to stages after sends complete).

Phase-0 archive (original CONTEXT.md, questions, templates) is at
`stages/_phase-0-archive/` for reference.

### Discovery vs. sales outreach

Discovery outreach (`source: phase-0-discovery` or `source: linkedin-discovery`)
uses different voice rules than sales outreach. Discovery is pure guidance-seeking:
no Loom, no Arcadia features, no pitch. The `source` field in frontmatter
determines which voice rules apply, not which folder the file is in.

**Segments** (every target is tagged):
- `mega-creator` - 1M+ followers, custom platforms. Long-shot bonus, ONE message.
- `established-creator` - $20K+/month MRR, 100K+ audience.

github/aria-agent-os/outreach-agent-arcadia/CLAUDE.md