BF viral-marketing-playbook
You bolted a referral program onto your product and... nothing. People don't share because you asked — they share when the loop is designed into the moment they get value. This playbook is the mechanics of virality, with the math to tell whether a loop will actually compound. What's inside: • Viral loop anatomy — the mechanics behind referral, invite, and content loops • K-factor math — calculate your viral coefficient and model growth scenarios before building • Incentive design — what to offer referrers and referred users (and what quietly kills the loop) • Share triggers — the moments in the user journey where sharing feels natural, not begged • Case studies — how Dropbox, Notion, and Loom built their viral engines 🇨🇳 病毒增长设计 — 病毒循环解剖+K因子计算+激励设计+分享触发时机,含 Dropbox/Notion/Loom 拆解。 🇯🇵 バイラル設計 — バイラルループ解剖、K係数計算、インセンティブ設計、シェアトリガー。Dropbox/Notion/Loom事例。 🇰🇷 바이럴 설계 — 바이럴 루프 해부, K-팩터 계산, 인센티브 설계, 공유 트리거. Dropbox/Notion/Loom 사례. Triggers: "viral marketing" | "viral loop" | "referral program" | "referral marketing" | "K-factor" | "viral coefficient" | "invite system" | "share mechanics" | "network effects" | "growth loop" | "word of mouth" | "病毒营销" | "病毒循环" | "裂变" | "推荐机制" | "バイラル" | "바이럴 마케팅"
As a process F 33/100 · Will not run — References files that are not bundled: references/en/README.md, references/ja/README.md, references/ko/README.md
How to improve
- Shorten the description to 1024 characters.
- The text references files that are not there: add them or drop the references.
- Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
- A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.
Guard findings · 0
✓ No critical or high findings
Files scanned: 3. Evidence is masked. Grey chips explain why severity was lowered.
Against the Agent Skills spec
- error
description-longdescription is 1211 chars, limit 1024 - warning
missing-refreference to a missing file: references/en/README.md - warning
missing-refreference to a missing file: references/ja/README.md - warning
missing-refreference to a missing file: references/ko/README.md - note
frontmatter-keyunknown frontmatter key "source"
Process rating: all ten parameters 33/100
- 0Tools and files. 3 referenced file(s) missing: references/en/README.md, references/ja/README.md, references/ko/README.md
- 0Result and completion. Does not say what the result is
- 0Inputs and preconditions. Does not say what the process needs to start
- 0Failures and branches. Linear process with no failure handling
- 0Progress reporting. Says nothing while it works
- 20When it triggers. No condition that starts the skill
- 30Running it twice. 2 mutating operations with no state check
- 100Steps. 14 steps
- 100Consistency. Name and required fields are in place
- 100Execution cost. Instruction body is 412 tokens
Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.
Quality signals
- +4Description does not say when NOT to use the skill (false activations)
- +3Description length 1210: 120–800 characters recommended
- +3Output format is not stated: the model decides each time
- +1No license
- +2Single-language instructions
- +5Description quotes 12 example trigger phrases
- +4Structure: 4 headings
- +3Step-by-step instructions: 14 items
- +4Has examples (1 code blocks)
Quality base 70; lint remarks subtract, signals add up to 100. Result: 48.