---
name: Growth Lab Onboarding
slug: growth-lab-onboarding
category: DevOps
description: Growth Lab Onboarding audits and configures all Growth Lab dependencies through natural language, checking API keys, third-party CLIs, browsers, and login states, and reports what is ready, missing, optional, or bypassed for first-time setup, environment checks.
github: "https://github.com/tsingyuai/growth-lab/tree/main/models/onboard-growth-lab"
language: Python
stars: 1734
forks: 150
install: "npx degit https://github.com/tsingyuai/growth-lab/tree/main/models/onboard-growth-lab ~/.claude/skills/onboard-growth-lab"
installs_to: ~/.claude/skills/onboard-growth-lab
source_path: models/onboard-growth-lab/SKILL.md
collection_size: 19
category_size: 798
collection_url: "https://dirskills.com/collections/tsingyuai/growth-lab"
added: 2026-08-19T07:25:51.617Z
last_synced: 2026-08-19T07:25:51.617Z
canonical_url: "https://dirskills.com/skills/growth-lab-onboarding"
---

# Growth Lab Onboarding

Growth Lab Onboarding audits and configures all Growth Lab dependencies through natural language, checking API keys, third-party CLIs, browsers, and login states, and reports what is ready, missing, optional, or bypassed for first-time setup, environment checks.

**Install:**

```bash
npx degit https://github.com/tsingyuai/growth-lab/tree/main/models/onboard-growth-lab ~/.claude/skills/onboard-growth-lab
```

## README

# Growth Lab 统一 onboarding

这是整个系统唯一的 onboarding 入口。不要要求各业务 Skill 各自重复审计，也不要创建页面、注册全局 command 或维护配置状态机。

## 工作方式

1. 完整读取 [依赖清单](references/dependencies.md)。
2. 先运行 `python models/onboard-growth-lab/scripts/check_configuration.py`，再只读检查当前机器、已声明的第三方 Client 和认证 profile。脚本与回复都不得输出 secret、cookie、token 或认证文件内容。
3. 向用户给出一张统一状态表：`已就绪`、`缺失`、`可选`、`本轮绕过`。
4. 用自然语言询问用户要启用哪些缺失能力、哪些本轮绕过。不要替用户安装所有可选项。
5. 对用户选择启用的项目逐项处理：
   - API key：解释用途、官方获取入口、变量名和 [`CONFIGURATION.md`](../../CONFIGURATION.md) 中的本地配置步骤。默认请用户在 `.env.local` 或系统密钥管理器中自行配置；只有用户明确授权写入时才可修改 `.env.local`，且永不回显完整值。
   - 第三方 CLI/Client：必须有用户可直接访问的官方来源和安装方式；说明来源、许可证、安装位置与命令，用户确认后安装并检查版本。
   - 登录认证：启动上游或业务 Skill 已定义的原生交互流程，让用户本人扫码、OAuth 或输入验证码；认证材料不得进入仓库或 Memory。
6. 每完成一项就重新执行对应的只读检查。结束时再次输出统一状态表和本轮绕过项。

## 小红书 browser-first 就绪门禁

小红书不再经过 MediaCrawler。需要小红书采集时，按 [`xiaohongshu-mcp`](../../collectors/xiaohongshu-mcp/SKILL.md) 独立检查：

1. 告诉用户首次默认采集 25 条，数量可调整，但建议 25 条。
2. 检查 `XHS_MCP_ENDPOINT`、`XHS_MCP_BINARY`、`XHS_MCP_LOGIN_BINARY` 和仓库外 `XHS_MCP_COOKIES_PATH`，不读取或输出登录态内容。
3. 缺少配置时显示 [`CONFIGURATION.md`](../../CONFIGURATION.md) 的准确位置、需要填写的字段及用途，然后停下等待用户配置或选择本轮绕过。
4. 服务未运行时先说明将启动本机只读服务；登录缺失时说明授权边界并在用户确认后打开可见二维码登录窗口。
5. 只有本机 health check、登录状态和一次低频最小读取全部成功，才报告 `已就绪，可立即抓取`。遇到风控、验证、超时或空响应立即停止，不自动重试或规避平台控制。

小红书登录只授权读取公开研究证据，不授权点赞、收藏、评论、关注、上传或发布。

## MediaCrawler 风险确认与就绪门禁

MediaCrawler 的安装、登录和实际抓取必须在本统一 onboarding 中完成，不得把“已安装”或“有 profile”报告为可用。

1. 在启动 Chrome、二维码登录或任何真实抓取前，通过 Agent 对话原意告知：
   - 自动化抓取可能触发平台风控，导致限流、验证、登录失效或封号。
   - 不要使用正式账号、主账号或承载重要资产的账号；使用者应准备可损失的专用账号。
   - 账号被封后，部分公开内容在不需要该账号的路径上仍可能采集，但不保证持续可用，也不得尝试绕过平台风控。
2. 请用户明确回复类似“我已了解封号风险，并确认使用非正式、可损失的专用账号”。沉默、模糊回复或仅要求“继续”不构成确认。未取得确认就停在风险门禁，不启动登录和抓取。
3. 确认后，让用户选择需要启用的平台：抖音、快手、B 站、微博、贴吧、知乎。小红书使用独立的 browser-first 就绪门禁。未启用的平台必须由用户明确说“本轮绕过”，不得默认忽略。
4. 只要启用任一 MediaCrawler 平台，必须先完成不可绕过的 Chrome CDP onboarding：Chrome 版本至少 144；为 MediaCrawler 启动一个使用仓库外持久化 profile 的专用 Chrome 实例，同时显式传入 `--remote-debugging-port=<port>` 和 `--user-data-dir=<profile-dir>`；`curl --noproxy '*' http://127.0.0.1:<port>/json/version` 必须返回可解析的 Chrome DevTools JSON；MediaCrawler 配置为 `ENABLE_CDP_MODE = True`、`CDP_CONNECT_EXISTING = True` 且 `CDP_DEBUG_PORT = <port>`。Chrome 144+ 在 `chrome://inspect/#remote-debugging` 中的 GUI auto-connect 服务不提供 MediaCrawler 所需的 `/json/version`，不得把“Server running”字样单独当成通过。任一项失败就报告 `CDP 未就绪`并停止，不得回退到标准 Playwright、临时干净浏览器或 Cookie 注入。CDP 不允许本轮绕过；用户只能绕过整个 MediaCrawler 能力或某个平台。
5. 对每个启用平台依次执行 [MediaCrawler operations](../../collectors/media-crawler/references/operations.md) 的登录就绪检查。必须同时满足：CDP 连接已验证、页面显示已登录、最小真实读取成功、产出非空且无登录/风控信号。
6. 只有上述四项全部通过才报告该平台为 `已就绪，可立即抓取`。其他状态使用 `CDP 未就绪`、`待登录`、`验证失败`、`触发风控` 或 `本轮绕过`；不维护额外状态文件。

## 依赖边界

- Growth Lab 调用的脚本必须位于本仓库。不得调用 `~/.codex/skills`、`~/.claude/skills`、其他项目脚本或某个 Agent 产品的私有认证文件。
- 仓库外只允许用户可从官方渠道直接安装的 CLI/Client，以及用户自己的浏览器登录会话。
- 发现隐含外部 Skill/脚本时，不要尝试安装或读取；报告为仓库缺陷，改用仓库内脚本或声明为可安装的第三方 Client。
- API 服务不等于 Client；调用代码必须随仓库分发，凭据由本 Skill 配置。

## 判断原则

- “配置存在”与“配置有效”分开报告。环境变量非空只能证明存在；只有安全的 health check 或一次真实调用成功才能证明有效。MediaCrawler 的安装、CDP 和登录页各自通过仍不足以证明可用，必须完成最小真实读取。
- 用户可随时说“我不需要 SEO / 不需要生图 / 不需要小红书详情提取”。将相关依赖标成`本轮绕过`，不要继续追问。
- MediaCrawler 的 Chrome CDP 是不可分割的强制依赖，不是可选项。用户可以绕过 MediaCrawler 或某个平台，不得在保留抓取能力的同时绕过 CDP。
- 替代关系必须显式呈现。例如生图只需 Gemini 或 OpenAI 其中一条；小红书使用 `xiaohongshu-mcp`，其余六个已声明媒体平台共用 MediaCrawler。
- 不把“本轮绕过”持久化成全局状态。下一次 onboarding 重新检查并结合当次目标询问。
- 不修改业务 Memory 来保存环境状态。Memory 只保存增长过程与结果。
- 安装、登录或联网验证属于有副作用操作；先说明动作并获得用户确认。只读检查可直接执行。

## 交付格式

先给结论，再给统一状态表：

| 能力 | 状态 | 缺少什么 / 下一步 |
|---|---|---|
| SEO 数据读取 | 缺失 | `BING_WEBMASTER_API_KEY`；从 Bing Webmaster Tools 获取 |
| SEO 批量 SERP 与页面渲染 | 缺失 | Node.js 已安装；需从 npm 安装 Playwright 与 Chromium，或确认使用当前 Runtime 真实浏览器完成同等检查 |
| IndexNow 提交 | 本轮绕过 | 用户不需要主动提交 URL |
| AI 生图 | 已就绪 | OpenAI 凭据存在；尚未做付费调用验证 |
| 小红书只读采集 | 缺失 | 按 `CONFIGURATION.md` 配置本机 xiaohongshu-mcp 二进制并完成可见扫码登录 |
| 媒体平台采集 | CDP 未就绪 | Chrome GUI auto-connect 已开启，但 `/json/version` 为 404；需启动带持久化 profile 和显式 debug port 的专用 Chrome |

最后只问当前确实需要用户决策或提供的信息，不把完整清单再次变成问卷。
