// execute
Community & Dark Social
Use when the user wants to market in the places analytics cannot see - Slack and WhatsApp groups, private communities, podcasts, forwarded emails, AI assistants - or asks whether to start a community of their own. Also use when the user mentions dark social, word of mouth, "direct" traffic that makes no sense, community-led growth, community marketing, or how to measure something that has no referrer. Maps where buyers already talk from what they say, checks whether a community should open at all, and reads the dark side of the funnel by trend rather than attribution.
npx skills add sarojkjha/aaj-marketing-skills --skill community-and-dark-socialClaude Code
/plugin marketplace add sarojkjha/aaj-marketing-skills/plugin install aaj-marketing-skills@aajOpenAI Codex
codex plugin marketplace add sarojkjha/aaj-marketing-skillscodex plugin add aaj-marketing-skills@aajClaude or ChatGPT — no install
Add this as a custom connector:
https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp// when to use it
Use when the user wants to market in the places analytics cannot see - Slack and WhatsApp groups, private communities, podcasts, forwarded emails, AI assistants - or asks whether to start a community of their own. Also use when the user mentions dark social, word of mouth, "direct" traffic that makes no sense, community-led growth, community marketing, or how to measure something that has no referrer. Maps where buyers already talk from what they say, checks whether a community should open at all, and reads the dark side of the funnel by trend rather than attribution.
// what you give
The communities, people, podcasts and newsletters your customers named when asked where they get advice, with how many named each, how many leads mentioned it, and whether your team is present and answering there; for your own community, the recurring conversation, the host and their hours, the plan for when it goes quiet, and how many people have asked for it; for measurement, two or more periods of coded "How did you hear about us?" answers, branded search impressions, direct sessions to deep pages, and pipeline
// what you get
The map ranked by evidence with every place you should be in and are not, every room you pitched in, and your coverage; a go, not-yet or no on opening your own community with what is missing; and a trend read - working, wrong people, growing, going quiet or flat - across dark share, branded search, deep-page direct traffic and pipeline
Engine spec
// decision it supports
Where do our buyers already talk, should we open a community of our own, and is word of mouth growing?
// inputs
The communities, people, podcasts and newsletters your customers named when asked where they get advice, with how many named each, how many leads mentioned it, and whether your team is present and answering there; for your own community, the recurring conversation, the host and their hours, the plan for when it goes quiet, and how many people have asked for it; for measurement, two or more periods of coded "How did you hear about us?" answers, branded search impressions, direct sessions to deep pages, and pipeline
// output
The map ranked by evidence with every place you should be in and are not, every room you pitched in, and your coverage; a go, not-yet or no on opening your own community with what is missing; and a trend read - working, wrong people, growing, going quiet or flat - across dark share, branded search, deep-page direct traffic and pipeline
// acts or analyzes
Analyzes onlyMakes no network calls, writes no files and changes nothing in your tools.
// where your information goes
| How you run it | Where your inputs go |
|---|---|
| Skill installed in your agent, or the local MCP server | The engine runs on your machine and AAJ receives nothing. Your AI agent still sends what you give it to its model provider (Anthropic, OpenAI and so on), under your own account's terms. |
| Hosted MCP server | Your agent's model provider, as above, plus AAJ's server on Cloudflare, which receives the engine inputs over HTTPS, runs them in memory and keeps no copy. Cloudflare keeps error logs (no inputs) for up to 7 days. |
No engine needs customer names, emails or other personal data; leave them out.
// limitations
- The map holds only the places your customers named. It cannot find rooms nobody mentioned, and its ranking is only as good as the number of customers you asked.
- The trend compares the latest period with the average of the earlier ones and treats a move within 10% as flat. With only two periods, one unusual month sets the verdict.
- It reads coded self-reported answers and counts a person, community, podcast, newsletter or your brand name as dark. Fewer than ten dark answers in a period, or more than 30% uncoded, is too thin to read.
- "Wrong people" (dark signals up, pipeline flat) can be sales-cycle lag. Check the cycle length before concluding the wrong people are talking.
// review before acting
// setup
npx skills add sarojkjha/aaj-marketing-skills --skill community-and-dark-socialhttps://aaj-engines-mcp.sarojkjha10.workers.dev/mcpAgents listed: Claude Code, Cursor, OpenAI Codex, Windsurf, Cline. Tested and recorded: Claude Code.
Community & Dark Social
A founder shows me a dashboard where "direct" is the biggest source and asks why paid search is the only channel that works. Usually the best channel is working and the dashboard cannot see it: someone read a post, pasted the link into a Slack channel, three people opened it on their phones, and one booked a call a week later. Analytics recorded a stranger arriving from nowhere.
Alexis Madrigal coined "dark social" at The Atlantic in 2012 for sharing that carries no referrer. In B2B it now covers most of the places a buying conversation happens. Gartner's research on B2B buying groups found they spend 17% of their purchase time meeting with potential suppliers; Forrester's 2024 Buyers' Journey Survey found 92% of buyers start with at least one vendor already in mind. The shortlist is built where you cannot see. This skill is how you get on it, and how you know whether you are.
When to use
The user wants to reach buyers through communities, peers and private channels; is deciding whether to start a community; or cannot tell whether word of mouth is growing because nothing attributes to it.
Do not use it to find communities from nothing. The map is built from what customers say: ask your
last twenty where they get advice, which newsletters and podcasts they finish, and whom they trust.
The Self-Reported Attribution Coder turns a column of "How did you hear about us?" answers into
the same list.
Before you start
- Know your buyer in one sentence (
.agents/product-marketing.md). A community is built around a role or a problem, never a product. - Ask the twenty-customer questions and count how many named each place.
- Put a free-text "How did you hear about us?" field on every form and a source question on every first call, coded consistently. Free text beats a dropdown because people name the podcast, the person or the room.
- Have branded-search impressions and direct traffic to deep pages to hand, by month.
Method
Map by evidence, not by reach. The engine ranks each place by the buyers who named it plus the leads who mentioned it. A place named by two or more buyers where nobody from your team is present is a gap to fix (two is this engine's threshold). A place you are in that nobody named is kept only if it costs nothing.
Show up as a person. In someone else's room a company account is a guest and a person is a member. The engine flags any room where you pitched or posted an unasked link, and any room where the same post went into more than one channel. It also flags presence without answers: lurking is not showing up.
Open your own community only when four things are true. A named recurring conversation; a named host with at least two hours a week (this engine's floor); a written plan for month three, when it goes quiet; and at least ten people who have asked for a room that does not exist (this engine's floor). No host means no, whatever else is ready. A dead community costs more than no community.
Measure by asking, then read the trend. Nothing here attributes cleanly. The engine computes, per period, the share of coded answers that name a dark source (a person, a community, a podcast, a newsletter, or your name directly), branded-search impressions, the share of direct sessions that land on a deep page, and pipeline. It compares the latest period with the average of the earlier ones, treating a move within 10% as flat. Then:
- working: dark signals and pipeline rising together;
- wrong people: dark signals rising, pipeline not. Check the sales cycle first; if it is not that, the wrong people are talking;
- growing: dark signals rising, no pipeline given;
- going quiet: dark signals falling;
- flat: no movement.
Fewer than ten dark-source answers in a period is too few to read as a share, and more than 30% of answers uncoded means the form or the coding needs fixing before the trend means anything. Both are engine rules.
Workflow
Step 1 - Map. Twenty customers, three questions, a count per place. Add the coded form answers.
Step 2 - Show up. Run the map check. Join the gaps as a person, read for two weeks, then answer. Fix any room you pitched in.
Step 3 - Decide on your own room. Run the community check. If it says not yet, keep showing up in other people's rooms and re-run when members are asking.
Step 4 - Measure monthly. Two periods minimum, three is better. Run the measurement read and pick one thing to change next month, written down.
Step 5 - Feed the visible funnel. Retarget readers of the pieces that get forwarded, invite community members to what you gate, and brief sales on the conversations to expect.
Step 6 - Redo the map quarterly. It moves.
Run the tool
node resources/dark-social-read.js --demo
run({ map, community, measure }) returns the ranked map with coverage and findings, the go /
not-yet / no on your own community with what is missing, and the per-period reads, trends and
verdict.
Present the result
- The map, ranked, with the places to join, the rooms to stop pitching in, and coverage as "present and answering in X of Y places buyers named".
- The community call and the gaps, in one line each.
- The trend table: dark share, branded search, deep-page direct share and pipeline per period, with the direction of each.
- One change for next month, and why.
Guardrails & common mistakes
- Never start a community to have one. Without a conversation, a host and demand, it dies quietly, in public.
- Never pitch in other people's rooms. Answer first, link only when asked, one room per post.
- Never kill a channel because it does not attribute. Cutting content because "direct" got the credit is the most common self-inflicted wound in reporting.
- Do not quote a dark-social benchmark. There is none; use your own numbers over time.
- Do not seed questions, run sock puppets or pay for undisclosed mentions. They are found out, and they poison the well for the real thing.
Sources
- Wikipedia, Dark social media - Alexis Madrigal coined the term in The Atlantic, October 2012, for sharing of URLs with no referrer.
- Gartner, Win more B2B sales deals - buying groups spend 17% of their purchase time meeting with potential suppliers.
- Forrester's 2024 Buyers' Journey Survey, reported by Digital Commerce 360 - 92% of B2B buyers start with at least one vendor in mind, 41% with a single preferred vendor.
- Gartner, 67% of B2B Buyers Prefer a Rep-Free Experience - 9 March 2026, survey of 646 B2B buyers.
Related AAJ resources
- The eight-step method this skill runs: https://aajconsult.com/playbooks/community-dark-social-playbook
- Coding "How did you hear about us?" into the map: https://aajconsult.com/tools/self-reported-attribution-coder
- The public half of showing up as a person: https://aajconsult.com/playbooks/founder-led-linkedin-playbook
- The argument: https://aajconsult.com/blog/dark-social-b2b-demand-generation
Related skills
founder-led-content- the founder's public channel; this skill is the private onecreator-partnerships- when the trusted person is paidaaj-marketing-loops- which loop the forwarded piece feedsmarketing-report- putting the trend read in front of the board
// faq
// install
npx skills add sarojkjha/aaj-marketing-skills --skill community-and-dark-social// worked example
Get the worked example for Community & Dark Social
One email. The filled-in config, the output, and how to read it.
// human in the loop
Need a human in the loop?
AAJ builds the strategies, tools, and playbooks these skills are made of — with engagements for growth-stage and enterprise teams.
