Matplotlib
zLanqing/codex-claude-academic-skills
Low-level plotting library for full customization. An agent skill from zLanqing/codex-claude-academic-skills.
完整调研并确定 SEO 机会:从产品理解、领域词表拆解、关键词矩阵扩展、Bing 真实热度验证、竞品发现、实时 SERP 抓取,到头部页面的搜索引擎层、用户层和质量层拆解。需要查热词、验证搜索量、判断搜索意图、研究竞品页面、寻找信息增益缺口或决定应该做什么 SEO 页面时使用。
$ npx skills add tsingyuai/growth-lab --skill research-seo-demand -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tsingyuai/growth-lab research-seo-demand --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .claude/skills && cp -r skills-src/collectors/research-seo-demand .claude/skills/research-seo-demand && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "research-seo-demand" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/collectors/research-seo-demand into .claude/skills/research-seo-demand/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research-seo-demand", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tsingyuai/growth-lab/tree/main/collectors/research-seo-demandType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tsingyuai/growth-lab --skill research-seo-demand -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tsingyuai/growth-lab research-seo-demand --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .agents/skills && cp -r skills-src/collectors/research-seo-demand .agents/skills/research-seo-demand && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "research-seo-demand" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/collectors/research-seo-demand into .agents/skills/research-seo-demand/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research-seo-demand", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tsingyuai/growth-lab --skill research-seo-demand -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tsingyuai/growth-lab research-seo-demand --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/collectors/research-seo-demand .cursor/skills/research-seo-demand && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "research-seo-demand" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/collectors/research-seo-demand into .cursor/skills/research-seo-demand/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research-seo-demand", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tsingyuai/growth-lab.git --path collectors/research-seo-demand--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tsingyuai/growth-lab --skill research-seo-demand -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tsingyuai/growth-lab research-seo-demand --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/collectors/research-seo-demand .gemini/skills/research-seo-demand && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "research-seo-demand" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/collectors/research-seo-demand into .gemini/skills/research-seo-demand/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research-seo-demand", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tsingyuai/growth-lab research-seo-demandInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tsingyuai/growth-lab --skill research-seo-demand -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .github/skills && cp -r skills-src/collectors/research-seo-demand .github/skills/research-seo-demand && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "research-seo-demand" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/collectors/research-seo-demand into .github/skills/research-seo-demand/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research-seo-demand", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tsingyuai/growth-lab --skill research-seo-demand -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tsingyuai/growth-lab research-seo-demand --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/collectors/research-seo-demand .opencode/skills/research-seo-demand && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "research-seo-demand" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/collectors/research-seo-demand into .opencode/skills/research-seo-demand/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research-seo-demand", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
research-seo-demand完整调研并确定 SEO 机会:从产品理解、领域词表拆解、关键词矩阵扩展、Bing 真实热度验证、竞品发现、实时 SERP 抓取,到头部页面的搜索引擎层、用户层和质量层拆解。需要查热词、验证搜索量、判断搜索意图、研究竞品页面、寻找信息增益缺口或决定应该做什么 SEO 页面时使用。
Research SEO Demand is an agent skill from tsingyuai/growth-lab. 完整调研并确定 SEO 机会:从产品理解、领域词表拆解、关键词矩阵扩展、Bing 真实热度验证、竞品发现、实时 SERP 抓取,到头部页面的搜索引擎层、用户层和质量层拆解。需要查热词、验证搜索量、判断搜索意图、研究竞品页面、寻找信息增益缺口或决定应该做什么 SEO 页面时使用。
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts (for example `agents/openai.yaml`, `scripts/package-lock.json` and `scripts/package.json`).
It sits in Data & Analytics. The repository describes itself as: An end-to-end growth tool that understands the product, fetch the data it needs, researches the market, executes campaigns, and reviews results to improve the next round of… The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2d0807c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 6 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
BING_WEBMASTER_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Research SEO Demand loads about 1.4k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 333 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from tsingyuai/growth-lab at commit 2d0807c, republished under its Apache-2.0 licence (© tsingyuai). 333 words, ~1,431 tokens.
.claude/skills/research-seo-demand/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.先确认用户真的在搜索什么,再从热词下真实获得排名的页面学习页面形态与内容方法。不要从预想的竞品清单反推关键词;关键词由产品、用户任务、场景和真实搜索数据共同产生,竞品用于学习页面怎么做。
本 Collector 只产出需求、SERP 和竞品页面证据。页面设计与实现交给 $create-seo-page,上线后的效果观测交给 $review-seo-performance。
读取产品代码、文档、公开页面、当前转化路径、客户语言、站内搜索、支持记录和已有增长证据。先写清:
对无法从产品材料确认的用户问题和值得验证的价值保持开放,不要把产品功能列表直接改写成关键词列表。
七个方向逐一展开,每个方向单独成词表,保持不同具体度的词可以横向比较:
| 方向 | 组词方法 |
|---|---|
| 头部概念 | 领域核心名词、任务名、品类名 |
| 场景复合 | 场景 × 对象、文档、媒介或交付物 |
| 动作与结果 | 场景 × 生成、制作、转换、修复、改进、学习等动作 |
| 竞品词 | 通用品类产品与从 SERP 发现的垂类产品品牌词 |
| 工具词 | 功能点、格式、集成、转换和使用教程 |
| 资源词 | 模板、示例、清单、下载、规范和素材 |
| 问句词 | 怎么做、哪个好、为什么、价格、质量、风险、比较和失败问题 |
竞品词不是只靠事先知道的品牌列表:
品牌词和术语存在多义时必须阅读实时 SERP。把混合意图拆开,不能直接引用混合流量作为产品需求。
需要完整聚合结果时运行随仓库分发的脚本:
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。Impressions 是精确整串匹配的周展现量,是主要比较指标。中文复合词会被严重低估,因此它是需求地板,不是真实总需求。BroadImpressions 是广泛匹配。英文可辅助判断长尾规模;中文几乎不做可靠的包含聚合,不要用它估算中文长尾家族。Date 是每周数据的时间。avgStrict、peakStrict、latestStrict、avgBroad 和 weeks。{"d":[]} 记为 N/A,绝不能写成 0。peakStrict / avgStrict 判断季节性。比值明显升高时,从高峰倒排收录时间,提前发布。默认优先使用 Runtime 已连接的真实浏览器和当前市场、语言及登录态。需要批量、可重复的 JSON 证据时,运行仓库脚本:
BING_MARKET=zh-CN \
node collectors/research-seo-demand/scripts/scrape-bing-serp.mjs \
"关键词一" "关键词二"
SERP_OUT=serp-round-2.json BING_MARKET=en-US \
node collectors/research-seo-demand/scripts/scrape-bing-serp.mjs \
"keyword one" "keyword two"脚本使用 Playwright 真浏览器内核,解码 Bing /ck/a 跳转链接,请求间隔 1.5 秒,并输出关键词 × 排名 × URL 的 JSON。
Bing 可能对低信任会话静默改写查询,返回与完整查询不相关的结果。坏数据可能正常返回 HTTP 200,因此必须检查:
__meta__.degraded 是否包含该词。标为 DEGRADED 的查询不得用于竞争结论。改用正常登录态浏览器重新检查;仍然降级时,记录 SERP 证据不可用,而不是猜测排名结构。
给证据分级:Bing Webmaster 的关键词展现量来自服务端报告;SERP 抓取只是当前会话和当前爬虫视角。两者冲突时不能用抓取失败推翻官方需求数据,必须转入正常登录态复核。
render-pages.mjs 在可见正文不足 500 字符时会标记“疑似被反爬拦截”,Agent 仍需查看截图确认。页面必须分成搜索引擎层、用户层和质量层分析,不能只看标题、摘要或排名 URL。
对普通公开页面可运行:
node collectors/research-seo-demand/scripts/analyze-page.mjs \
<url1> <url2> ...脚本自动探测常见页面编码,并提取 title、description、keywords、H1/H2/H3、正文体量、链接数、图片数和常见钩子词。结合浏览器继续检查:
| 维度 | 检查内容 |
|---|---|
| Title | 主词、同义变体、意图词、品牌和年份如何组织;记录实际组织公式 |
| Metadata | 是否自然覆盖词族,是否用数量、范围、更新日期或具体结果提高点击意愿,是否只是页面目录 |
| H 标签 | H1 是否聚焦;H2/H3 是否形成真实问题和长尾矩阵 |
| 内链 | 面包屑、栏目、相关页面和上下游任务如何连接 |
| 正文体量 | 文本、链接、图片与页面形态是否一致 |
| 技术信号 | canonical、结构化数据、更新时间和可抓取性 |
Meta description 不要追求固定字符数,也不要写“本文介绍、包含、并给出”的目录式句子。找出头部页面如何用一个信息量高的重点提高点击意愿。
需要可重复截图和正文时运行:
node collectors/research-seo-demand/scripts/render-pages.mjs \
<output-directory> <url1> <url2> ...脚本保存首屏、第二屏和可见正文。逐张查看,不只读取文本。
第一步,从页顶到页尾逐块描述,每个可见区块恰好写一句“这一块展示什么”。
第二步,从五个角度拆解:
| 角度 | 检查问题 |
|---|---|
| 阅读钩子 | 用户为什么停留;数字、免费、预览、社会证明或直接答案怎样出现 |
| 转化钩子 | 页面导向下载、试用、注册、购买、仓库、咨询或其他动作;路径有几条 |
| 信息密度 | 首屏有几个决策单元;页面是即看即选还是需要连续阅读 |
| 用户价值 | 用户不转化也能带走什么文件、方法、结论、比较或工具 |
| 调性 | 目录站、SaaS、开发者工具、社区、课程或媒体内容如何建立信任 |
复用同一批 HTML、截图和正文,不要重新抓取。检查:
| 维度 | 检查内容 |
|---|---|
| 信息增益 | 相比同一 SERP 的其他页面,它有什么独有内容 |
| 数据密度 | 有多少具体数字、原始数据、示例、测试和可验证结果 |
| 引用行为 | 是否连接权威来源、一手材料和原始出处 |
| 实体信号 | 作者、团队、机构、更新时间和可核验身份是否存在 |
| 负面信号 | 首屏广告、堆词、批量同构薄页、无依据主张和重复转化 |
输出“信息增益缺口清单”,至少按以下三类整理:
只有同时满足以下证据才推荐页面:
不得只根据搜索量、摘要或排名 URL 调用 $create-seo-page。每个候选词都必须完成前三到五个相关页面的三层拆解。
按任务选择 Markdown、CSV、JSON 或 HTML,至少包含:
把调研结果写入调用 Model 的 Memory。原始导出、截图、正文和研究报告都是运行产物,不进入 Skill,也不提交到仓库。
© tsingyuai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (scripts) in collectors/research-seo-demand of tsingyuai/growth-lab.
Open the folder on GitHubat commit 2d0807c
Research SEO Demand next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Research SEO Demand this skilltsingyuai/growth-lab | 2k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| MatplotlibzLanqing/codex-claude-academic-skills | 4.7k | 17 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Exploratory Data Analysisspacering-net/codeg | 3.9k | 14 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Scikit LearnzLanqing/codex-claude-academic-skills | 4.7k | 16 repos | ~3.9k | Automated safety check: Pass | BSD-3-Clause | |
| Chart Visualizationbytedance/deer-flow | 84k | 1 repos | ~840 | Automated safety check: Pass | MIT | |
| TimesFM Forecastinggoogle-research/timesfm | 34k | — | ~4.7k | Automated safety check: Pass | Apache-2.0 |
zLanqing/codex-claude-academic-skills
Low-level plotting library for full customization. An agent skill from zLanqing/codex-claude-academic-skills.
spacering-net/codeg
Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats.
zLanqing/codex-claude-academic-skills
Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.
bytedance/deer-flow
Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.
google-research/timesfm
Forecasts any univariate time series zero-shot with Google's TimesFM model, returning point forecasts and calibrated prediction intervals without training.
vercel/next.js
Benchmark React or Next.js changes on Vercel Sandbox VMs with paired A/B statistics: react PR/commit vs base, or Next.js PR/commit vs base, measured end-to-end through the bench/render-pipeline app…
tsingyuai/growth-lab
Capture authenticated product screenshots through the repository-owned Playwright CDP script and archive them in the invoking loop's Memory.
tsingyuai/growth-lab
Install, authenticate, configure, operate, and troubleshoot the external MediaCrawler client shared by Douyin, Kuaishou, Bilibili, Weibo, Tieba, and Zhihu collectors.
tsingyuai/growth-lab
Run an SEO page observation-action-review loop with persistent Memory by coordinating demand research, page creation, adversarial review, image generation, IndexNow submission, and performance review.
tsingyuai/growth-lab
把一个已确认的选题写成微信公众号长文。锁定复刻锚与用户价值、写出 article.md / wechat.yml / review.md,并通过公众号通用合规检查和人工预览前自检。准备、改写或核验公众号文章时使用;不负责发布,也不产出小红书卡片。
tsingyuai/growth-lab
通过微信公众号官方 API 把公众号文章生产单元渲染为微信排版 HTML、生成阅读页预览、上传封面与正文图片并创建草稿;在三重确认下提交发布并查询状态。支持本机直连与固定 IP 远程发布服务两种模式。用户要求预览公众号、同步微信草稿、发布公众号或查询发布状态时使用。
tsingyuai/growth-lab
把已批准的小红书草稿、单一分析参考和真实产品素材变成可审查卡片:先完成 DAI 与 image plan,再按确定性、完整效果或可分离图层模式制作,机械验证 PNG 与清单并运行合规检查。精确文字和真实 UI 不交给模型猜测;AI 生图需要单独配置和授权。
Categories
完整调研并确定 SEO 机会:从产品理解、领域词表拆解、关键词矩阵扩展、Bing 真实热度验证、竞品发现、实时 SERP 抓取,到头部页面的搜索引擎层、用户层和质量层拆解。需要查热词、验证搜索量、判断搜索意图、研究竞品页面、寻找信息增益缺口或决定应该做什么 SEO 页面时使用。. Research SEO Demand is an agent skill from tsingyuai/growth-lab.
Research SEO Demand fits situations like: data & Analytics work in your project.
Run `npx skills add tsingyuai/growth-lab --skill research-seo-demand -a claude-code`. Or copy the skill folder (collectors/research-seo-demand in tsingyuai/growth-lab) into .claude/skills/research-seo-demand in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tsingyuai/growth-lab --skill research-seo-demand -a codex`. Or copy the skill folder (collectors/research-seo-demand in tsingyuai/growth-lab) into .agents/skills/research-seo-demand in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tsingyuai/growth-lab --skill research-seo-demand -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/research-seo-demand, .gemini/skills/research-seo-demand, .github/skills/research-seo-demand and .opencode/skills/research-seo-demand in your project.
Going by SKILL.md and its folder, Research SEO Demand needs JavaScript for the scripts in its folder, the command-line tools its instructions call (node) and credentials named BING_WEBMASTER_API_KEY. Our summary lists: Node.js; A credential in BING_WEBMASTER_API_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Research SEO Demand is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Research SEO Demand: Matplotlib (zLanqing/codex-claude-academic-skills, 4.7k stars), Exploratory Data Analysis (spacering-net/codeg, 3.9k stars), Scikit Learn (zLanqing/codex-claude-academic-skills, 4.7k stars) and Chart Visualization (bytedance/deer-flow, 84k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tsingyuai (a GitHub organization) maintains it in tsingyuai/growth-lab, which has 2,000 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on September 28, 2026.
Source: tsingyuai/growth-lab on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.