b1rdmania

Outreach Ledger — Development skill for Claude Code

Development community

Claude Code skill that keeps track of everyone you're waiting to hear back from — tells you when to chase, spots replies in your inbox, and never sends anything itself.

How to install Outreach Ledger

This entry records only its repository, not the path inside it, so there is no exact command to give. Open b1rdmania/outreach-ledger and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Outreach Ledger does

Claude Code skill that keeps track of everyone you're waiting to hear back from — tells you when to chase, spots replies in your inbox, and never sends anything itself.

Alternatives in Development

  • Project-Level Skills — This directory contains skills for developing and maintaining the claude-mem project itself, not skills that a 39.3k ★
  • Contributors — Thank you to everyone who has contributed to making planning-with-files better 16.8k ★
  • Happy Coder — by GrocerPublishAgent - Spawn and control multiple Claude Codes in parallel from your phone or desktop 15.7k ★

README

outreach-ledger

A **Claude Code skill** that gives any project a tracking system for its conversations in flight — who you contacted, what state each thread is in, when the next touch is due, and read-only inbox polling that catches replies and bounces. It flags follow-ups; it never sends them.

Say `add an outreach ledger to this project` in Claude Code and the skill wires it in: seeds your live threads, adapts the states to your domain, and runs the drumbeat in sessions. The scripts also work standalone as a plain CLI.

The thread lifecycle

flowchart LR
    D[drafted] --> S[sent]
    S -->|"reply detected
(read-only poller)"| R[replied] S -->|"bounce/NDR detected
(read-only poller)"| B[bounced] S -->|"--due: day-N flag
human drafts + approves"| S S -->|3rd touch unanswered| DM[dormant] R --> IC[in_conversation] IC --> TS[terms_sent] --> SG[signed] IC --> DM DM --> C[closed] NC["doctrine: no-chase
tracked, never nudged"] -.excluded from --due.-> S

Silence looks identical to progress — a thread marked "sent" three weeks ago with nothing watching it isn't pending, it's dead, and you don't know. Worse, a dead address bounces the moment you send and then sits at "sent" looking exactly like a live thread awaiting reply. The ledger makes the drumbeat explicit; the poller flips threads to `replied` when answers land and to `bounced` the moment a delivery failure names the address.

Install

As a Claude Code skill:

git clone https://github.com/b1rdmania/outreach-ledger ~/.claude/skills/outreach-ledger
cd ~/.claude/skills/outreach-ledger && npm install

Standalone CLI: clone anywhere, `npm install`, run the scripts directly.

Usage

In Claude Code: `add an outreach ledger to ` — the skill scopes your live threads, seeds them, and reports what's due each session.

Directly:

cp seed.example.json seed.json    # edit with your real threads (gitignored)
node outreach.mjs --see