outcomes-ledger

Installation
SKILL.md

outcomes-ledger

Every list a playbook hands over gets acted on outside GooseWorks: the human emails the prospects, messages the creators. This atom is how what happened comes back, so the next run never repeats a person who said no and gets better from what worked. It never contacts anyone and never requires outcomes: no outcomes, carry on.

Parameters (the loading playbook sets them)

entity: person entity: creator
Loaded by research-audience (writes rows when a list is shown), write-outreach (updates statuses from replies and results) work-with-creators
Ledger file research/audience/ledger.csv creators/roster.csv
Lessons document (file → brand document) research/audience/lessons/<YYYY-MM-DD>.md → Outreach lessons — <Brand> — <YYYY-MM-DD> creators/lessons/<YYYY-MM-DD>.md → Creator lessons — <Brand> — <YYYY-MM-DD>
Entity columns (after the required ones) segment, tier, value_tier, signal_type, email_status, region_flag, email, email_candidate, profile_url, root_domain, route, sequence_id, opener_id, first_touch_date, last_touch, reply_category, recontact_after role, tier, deal_structure, vetting_depth, wave, wave_criterion, wave_result, quoted_rate, then the roster's own columns
Status values listed · contacted · replied · meeting · not-a-fit · bounced · unsubscribed · do-not-contact shortlisted · contacted · replied · quoted · declined · signed · posted · never-again
Suppressing statuses (permanent) bounced · unsubscribed · do-not-contact never-again
Timed exclusions (not suppression) not-a-fit — the account is skipped for 6 months, then eligible again; contacted with no reply after the sequence ended — the person is skipped for 12 weeks on every channel (cool-down) declined — skipped until the human re-opens it
Match keys, in order email (or email_candidate) → profile URL → name + root domain; account rows: root domain + route handle + platform → profile URL
Grouped by (for lessons) segment, tier, signal type, email status, region flag, sequence, opener and touch, reply category role, tier, deal structure, vetting depth, wave
Re-check recheck_by = date listed + 30 days revet_by = vetted on + 30 days
Installs
5
GitHub Stars
1.3K
First Seen
Oct 26, 2026