BC community-ambassador-playbook
You launched an ambassador program. 3 applications. One ghosted after week 2. Should you lower the bar? Offer more perks? Spam influencers? This gives you the complete community & ambassador operations SOP — from pre-launch checklist to recruitment to tiered management to retention to governance. Built from Notion (20M users, real ambassador interviews), AFFiNE (60K stars), Asana, and ClickUp programs. By @WeiYipei. 🇨🇳 你搞了个大使计划。来了3个申请。一个第二周就消失了。该降门槛?加福利?群发KOL?这份SOP给你从启动前置条件到招募到留存到治理的完整社区/大使运营方法论。基于 Notion(2000万用户,大使真实访谈)、AFFiNE(60K stars)、Asana、ClickUp 实战案例。 🇯🇵 アンバサダープログラムを立ち上げた。応募3件。1人は2週間で消えた。基準を下げる?特典を増やす?このSOPは、事前チェックリストから採用、段階管理、リテンション、ガバナンスまでの完全なコミュニティ&アンバサダー運営フレームワークを提供します。Notion(2000万ユーザー)、AFFiNE(60K stars)の実例から構築。 🇰🇷 앰배서더 프로그램을 시작했습니다. 지원 3건. 하나는 2주 만에 사라졌습니다. 기준을 낮출까요? 이 SOP는 사전 체크리스트부터 모집, 단계별 관리, 리텐션, 거버넌스까지 완전한 커뮤니티 & 앰배서더 운영 프레임워크를 제공합니다. Notion(2000만 사용자), AFFiNE(60K stars) 실전 사례에서 구축. Triggers: "ambassador program" | "community building" | "community management" | "DevRel" | "developer relations" | "community growth" | "大使计划" | "社区运营" | "社区搭建" | "コミュニティ運営" | "アンバサダー" | "커뮤니티 운영" | "앰배서더" | "open source community" | "user retention"
As a process C 51/100 · Has gaps — weak spots: result and completion, when it triggers, inputs and preconditions
How to improve
- Say in the description WHEN to use the skill ("use when…", example requests): that is the agent's main cue.
- Shorten the description to 1024 characters.
- 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 1176 chars, limit 1024 - warning
description-no-whendescription does not say WHEN to use the skill (no "use when")
Process rating: all ten parameters 51/100
- 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. 3 mutating operations with no state check
- 100Tools and files. No external tools needed
- 100Steps. 36 steps
- 100Consistency. Name and required fields are in place
- 100Execution cost. Instruction body is 2648 tokens
- low 11 top-level sections: this looks like several domains in one skill
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 1175: 120–800 characters recommended
- +3Output format is not stated: the model decides each time
- -214 emoji in the instructions: noise for the model
- +1No license
- +2Single-language instructions
- +5Description quotes 11 example trigger phrases
- +4Structure: 29 headings
- +3Step-by-step instructions: 36 items
- +4Has examples (1 code blocks)
Quality base 70; lint remarks subtract, signals add up to 100. Result: 47.