Growth Lab is an open-source growth system that uses coding agents to understand a product, research markets, execute growth activities, and learn from the results. It is designed for teams that want to manage growth work across channels such as SEO and Xiaohongshu through natural-language collaboration, persistent product context, and recorded outcomes. Catalogue add-ons define parts of its product models, research methods, execution workflows, and agent operation.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/tsingyuai/growth-labnpx agentmods add skills/tsingyuai/growth-lab/research-seo-demandWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tsingyuai/growth-lab/research-seo-demand)<a href="https://agentmods.dev/skills/tsingyuai/growth-lab/research-seo-demand"><img src="https://agentmods.dev/badge/skills/tsingyuai/growth-lab/research-seo-demand/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/tsingyuai/growth-lab/research-seo-demand"><img src="https://agentmods.dev/badge/skills/tsingyuai/growth-lab/research-seo-demand.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00102 | $0.03294 |
| Opus 5 | $0.00051 | $0.01647 |
| Sonnet 5 | $0.00020 | $0.00659 |
| Haiku 4.5 | $0.00010 | $0.00329 |
Grade A, and why
research-seo-demand scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 239 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SEO 需求调研
先确认用户真的在搜索什么,再从热词下真实获得排名的页面学习页面形态与内容方法。不要从预想的竞品清单反推关键词;关键词由产品、用户任务、场景和真实搜索数据共同产生,竞品用于学习页面怎么做。
本 Collector 只产出需求、SERP 和竞品页面证据。页面设计与实现交给 $create-seo-page,上线后的效果观测交给 $review-seo-performance。
1. 从产品与用户任务开始
读取产品代码、文档、公开页面、当前转化路径、客户语言、站内搜索、支持记录和已有增长证据。先写清:
- 用户是谁,处在什么情境;
- 用户要完成什么任务;
- 产品通过什么真实动作解决任务;
- 调研的市场、语言和搜索引擎;
- 已有页面、已有关键词和不能重复建设的内容。
对无法从产品材料确认的用户问题和值得验证的价值保持开放,不要把产品功能列表直接改写成关键词列表。
2. 拆解领域词表并扩展关键词
七个方向逐一展开,每个方向单独成词表,保持不同具体度的词可以横向比较:
| 方向 | 组词方法 |
|---|---|
| 头部概念 | 领域核心名词、任务名、品类名 |
| 场景复合 | 场景 × 对象、文档、媒介或交付物 |
| 动作与结果 | 场景 × 生成、制作、转换、修复、改进、学习等动作 |
| 竞品词 | 通用品类产品与从 SERP 发现的垂类产品品牌词 |
| 工具词 | 功能点、格式、集成、转换和使用教程 |
| 资源词 | 模板、示例、清单、下载、规范和素材 |
| 问句词 | 怎么做、哪个好、为什么、价格、质量、风险、比较和失败问题 |
大面积展开
- 先测头部概念词,判断哪些方向确实存在需求。
- 对有效方向建立修饰词、场景、对象、动作和结果矩阵,用笛卡尔积扩展到 100 个以上候选词。
- 与已有词表和历史 Memory 去重。
- 用 Bing 或目标搜索引擎的搜索框联想、相关搜索、SERP 标题、社区讨论、产品评论和支持语言补充自然表达。
- 大批量 N/A 不是无用结果;它能说明某一组精确表达在当前引擎和市场中缺乏可观测需求,但不能证明其他渠道没有需求。
竞品发现
竞品词不是只靠事先知道的品牌列表:
- 先抓一轮场景词和邻接场景词的 SERP。
- 聚合重复出现的域名和产品名。
- 区分通用品类产品、垂类产品、内容平台和社区页面。
- 把新发现的品牌名回填词表,再验证品牌词热度和搜索意图。
品牌词和术语存在多义时必须阅读实时 SERP。把混合意图拆开,不能直接引用混合流量作为产品需求。
3. 用 Bing Webmaster 验证真实热度
需要完整聚合结果时运行随仓库分发的脚本:
node collectors/research-seo-demand/scripts/fetch-keyword-stats.mjs \
cn zh-CN <keywords-file>
printf '关键词一\n关键词二\n' | \
node collectors/research-seo-demand/scripts/fetch-keyword-stats.mjs cn zh-CN -
脚本从 BING_WEBMASTER_API_KEY 读取凭据,输出按 avgStrict 降序的表格和 CSV。用 BING_KEYWORD_OUT 更改 CSV 文件名。
需要保存 Bing 原始周数据时运行通用 Client:
node collectors/bing-webmaster/bing-webmaster.mjs keyword-stats \
--country <country> --language <language> \
--input <keywords-file> --out <raw-output-file>
接口与字段
country使用 ISO 3166 两位小写,如cn、us。language大小写敏感,使用zh-CN、en-US,不要写成zh-cn。- Bing 通常返回约 26 周的周数据。
Impressions是精确整串匹配的周展现量,是主要比较指标。中文复合词会被严重低估,因此它是需求地板,不是真实总需求。BroadImpressions是广泛匹配。英文可辅助判断长尾规模;中文几乎不做可靠的包含聚合,不要用它估算中文长尾家族。Date是每周数据的时间。- 聚合脚本输出
avgStrict、peakStrict、latestStrict、avgBroad和weeks。
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 239 lines · 102 tokens per session scan A 9123ac2e744d
research-seo-demand is a skill published in the GitHub repository tsingyuai/growth-lab (2,000 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 102 tokens to every session and 3,294 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
synthesis-explore
Synthesis EXPLORE stage for the Diffmode growth-tactics pipeline (fuses the blind-combination draw + emergent-mechanism derivation — formerly two separate synthesis steps — into ONE structural-check-only stage). Reads the per-run growth-factors.json (LIGHT vector DB) + synthesis-constraints.json + founder-input +…
diagnostics-intake
Fast founder-input capture for the Diffmode growth-tactics pipeline (the diagnostics stage). Produces WS/01-diagnostics/founder-input.md in the exact schema the enrichment + synthesis stages read. Two modes — (A) URL mode researches a product's website (homepage/pricing/about) plus a web-research pass to prefill the…
growth-factors-mining
Builds a per-run LIGHT growth-vector database for the Diffmode growth-tactics pipeline by mining public growth case studies fresh, every run, and distilling each into atomic "growth factors" (transferable mechanisms). Clean-room — NEVER reads the proprietary tacticsDB. Outputs growth-factors.json (20-40 vectors spread…
lite-constraints
Generates synthesis-constraints.json for the Diffmode growth-tactics pipeline by reasoning in-context over the per-run growth-factors.json (LIGHT vector DB) + founder context — the clean-room, no-Python replacement for the proprietary Python constraints generator. Emits the white-space pairs, mandatory…
viral-marketing-playbook
Design viral loops into your product — referral programs, invite systems, and share mechanics that drive exponential growth. Includes K-factor calculations and real examples from Dropbox, Slack, and Notion. By @WeiYipei.
cro-optimization
Run conversion rate optimization through hypothesis-driven testing including audit, hypothesis generation, test design, statistical analysis, and rollout decisions. Use this skill whenever the user wants to optimize conversion, run A/B tests, audit a funnel, generate test hypotheses, design experiments, or analyze…