Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: audience-machine description: >- The most important skill in this repo. Use before writing any invitation, or when the user says "who should we invite", "build the invite list", "fill the room", "our events get the wrong people", "the founder hasn't sent his list yet". Builds a tiered, named, owned target list that does not depend on one busy person, with a hard deadline and a fallback. Writes workspace/audience/target-list.csv.
Audience Machine
The room is the product. This skill builds the list that fills it, and it is deliberately the longest one here because it is where events succeed or fail.
When to use
- Before invite copy is written. Always this order
- The last event had a full room and no pipeline
- The invite list depends on one executive who has not sent it
- Any recurring event program, where the list should compound rather than restart
Inputs
- Reads:
workspace/program/charter.md,workspace/audience/target-list.csvif it exists - Needs from user: the ICP, the existing customer and pipeline lists, the executive and advisor networks that might produce warm names, and honest capacity numbers
Workflow
1. Start from the seats, working backwards
Capacity first, because it sets everything else.
Seats available/ expected attend rate for the format= confirmed yeses needed/ expected invite-to-yes rate= invitations to sendx 1.5 buffer for bad names and bounces= named people the list must contain
For a fifteen-cover dinner at a 20% invite-to-attend rate, that is roughly 75 to 110 named, qualified people. Not accounts. People, with names and titles. Teams consistently build a list a quarter of the size they need and then wonder why the room is thin.
2. Build from four sources in parallel
The parallel part is the whole point. No single source, and specifically no single person, is a dependency.
Source A: the named account list. Companies in the ICP that a seller would be delighted to meet. Tiered. If an ABM or target-account list already exists, start there. If not, build one: industry, size, geography, and a reason each company is on it.
Source B: the executive and founder network. The warmest names, and the slowest to arrive. Ask for them early, with a specific format: name, company, title, relationship, and whether they will make the introduction themselves.
Source C: the advisor, investor, and customer network. Consistently the most underused source in B2B. Advisors and happy customers will make introductions if asked specifically, and nobody asks. Approach each with three named people rather than a general request.
Source D: cold, sourced, qualified. Enriched from the ICP definition. Lowest yield per name, unlimited supply, and the reason the machine never stalls.
3. Set the hard deadline and the fallback
The mechanism that prevents the most common failure:
The executive tier-one list is due at T-8 weeks. If it does not exist on that date, the backup machine ships invitations from sources A, C, and D rather than the event slipping. A maybe on that date counts as a no.
Put the date in the charter. Check it weekly, in writing, with a one-line message and a logged answer including "no change". Escalate at T-9 by asking who owns the answer.
This is not a criticism of the executive. It is a design that stops assuming capacity nobody confirmed.
4. Tier the list
| Tier | Who | Treatment | |
|---|---|---|---|
| Tier 1 | The five to ten people who are the reason for the event | Personal invitation from the most senior possible sender, a phone call, and a VIP track on the day | |
| Tier 2 | Strong fit, real reason to attend | Personal-feeling email from a human, one follow-up, a call if they go quiet | |
| Tier 3 | Good fit, no relationship | Wave-based invitation, lighter touch | |
| Fill | Credible, relevant, keeps the room warm | Later waves only, after the target mix is secured |
Fill is invited last, never first. Inviting fill early is how a room ends up composed of the people who say yes fastest.
5. Assign an owner to every Tier 1 and Tier 2 name
A person, not a team. The owner sends the invitation, chases it, and owns that guest on the day. An unowned name on a list is a name nobody invited.
6. Score room composition before you send, and again after RSVPs
The metric that would have caught the failure in docs/field-notes.md note 1:
Target accounts as a share of confirmed attendeesTier 1 accounts confirmed, by nameSeniority mix against the bar
Set the goal at the start. For a dinner, most of the room should be target accounts. For an owned event, 40%+ is the floor. Check it while there is still time to fix it, which means at every RSVP milestone, not the week before.
7. Make the list compound
The list is an asset that survives the event. After every event, update each record with attendance, no-show, what was discussed, and the follow-up owner. A list on its fourth event is dramatically better than a list on its first, and most teams throw it away and rebuild each time.
Output
- Writes:
workspace/audience/target-list.csvfromtemplates/target-list-schema.csv, and the room composition goal intoworkspace/events/<event>/ - Prints: the backwards arithmetic, list size against what is needed, the four sources with counts, the executive-list deadline, unowned names, and the current composition score
Rules & quality bar
- Build the list before writing the invitation. Never the other way around
- Work backwards from seats. A list built without the arithmetic is always too small
- Four sources in parallel. No single-person dependency, ever
- The executive list has a hard deadline and a fallback, both written in the charter
- Every Tier 1 and Tier 2 name has a named owner
- Room composition is scored before send and at every RSVP milestone
- Fill names are invited last
- No invented contacts. Every name traces to a source, and unverified titles are marked
Related skills
- Reads:
event-program-setup - Hands off to:
invite-motion,meeting-engine,staffing-and-briefing - See also:
docs/field-notes.mdnote 1, which is why this skill exists