关于 blitz-create-script
blitz-create-script 是一项将 GTM 简报转为可运行 Blitz 脚本的技能,支持 Python、TypeScript 和 JavaScript。它强制使用官方 Blitz SDK,并提供包管理器检测、API 密钥保护及分页处理模板。
主要功能
- 01根据 GTM 简报生成脚本
- 02支持 Python、TypeScript 和 JavaScript
- 03检测并使用包管理器
- 04强制使用官方 Blitz SDK
- 05处理分页及大规模分区
- 06保护 API 密钥并处理错误
适用场景
- 01根据 GTM 简报生成可运行脚本
- 02为超出数据量上限的数据生成脚本
- 03配置 SDK 安装与 API 密钥
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ api-blitz/ skills --skill blitz-create-script安装后在 Claude Code 中输入/blitz-create-script确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/error-handling.mdscript-templates.mdsdk-reference.mdscripts/detect_pm.shverify_sdk.sh详细介绍
Blitz 创建脚本
将 GTM 简报转换为可运行的 Blitz 脚本,使用 官方 Blitz SDK
(blitz-api-py / blitz-api-js),使用最合适的包管理器安装,并内置 API 密钥安全措施、基本错误处理和正确的分页逻辑。
SDK 会为你处理分页、每个端点的客户端限流,以及 429/5xx 重试。
绝不要生成原始 fetch/requests——这会重新引入 SDK 致力于消除的所有问题。
快速开始
加载 ./gtm-brief.yaml(或让用户粘贴内容,或先运行 blitz-gtm-brainstorm)。然后
执行以下步骤,并输出一个可运行脚本和 .env。
以下 scripts/ 和 references/ 路径均相对于此技能自身的目录——请从该目录运行辅助脚本(例如 bash <skill-dir>/scripts/detect_pm.sh),而不是从用户的项目根目录运行。
工作流
-
加载简报。 如果存在,读取
./gtm-brief.yaml;否则请用户粘贴内容;若仍没有,则通过简短访谈还原最低限度的信息(端点、筛选条件、数据丰富、输出、语言)。 架构:../blitz-gtm-brainstorm/references/gtm-brief-schema.md。 -
检查枚举验证(针对简报中使用的任何枚举)。 如果简报使用了分类枚举,且
enums_verified不为true,请暂停并引导用户使用blitz-gtm-brainstorm(或立即通过其scripts/pull_enums.sh进行验证)——大小写敏感的枚举即使拼写错误,运行时也不会报错,但会返回空结果。仅使用关键词的简报无需此检查。(如果结果数量较低但不为零,通常意味着有损枚举筛掉了仅带标签的记录——建议使用关键词作为基础:../blitz-gtm-brainstorm/references/strategy.md。) -
检测包管理器。
bash scripts/detect_pm.sh <python|typescript|javascript>→ Python:uv→poetry→pip(+venv)。JS/TS:bun→pnpm→yarn→npm。run命令会遵循简报中的language:typescript使用 bun/tsx 运行(script.ts),javascript使用 bun/node 运行(script.mjs)。传入简报中的language——不要在 JavaScript 简报中强制使用 TS。 -
安装并验证 SDK。 安装(
uv add blitz-api-py/bun add blitz-api-js/ pip / npm),然后运行bash scripts/verify_sdk.sh <python|typescript|javascript>。如果安装或导入失败,请显示确切错误和安装命令并停止——不要退回到原始 HTTP。安装失败意味着应该修复环境,而不是手动编写客户端。 -
生成脚本:按照 references/script-templates.md,使用简报中的
language——python(script.py)、typescript(script.ts)或javascript(script.mjs,使用相同模板但移除类型注解)。遵循用户的选择;不要为javascript简报生成 TypeScript。volume.exceeds_ceiling: false→ 使用单群体模板(SDK 自动分页)。volume.exceeds_ceiling: true→ 使用分区模板:循环处理partition_plan分段,收集每个分段的所有页面,合并,并按output.dedupe_key去重。 将简报中的筛选条件直接映射到 SDK 调用。方法接口和客户端配置: references/sdk-reference.md。
-
安全与错误处理。 从
BLITZ_API_KEY(.env;将.env添加到.gitignore)读取密钥。 添加/v2/account/key-info预检,并处理found == false、空结果以及仅限美国的电话号码限制。参见 references/error-handling.md。 -
告知用户如何运行脚本——Python:
uv run script.py;TypeScript:bun run script.ts(没有 bun 时使用npx tsx script.ts);JavaScript:bun run script.mjs(或node script.mjs)。 并告知需要设置哪些环境变量(BLITZ_API_KEY)。
规则
- 强制使用 SDK。绝不生成原始
fetch/requests。如果无法安装 SDK,请停止并提供明确、可操作的错误信息。 - 绝不硬编码 API 密钥;绝不提交
.env。 - 电话信息补充仅适用于美国 — 调用前先筛除非美国联系人。
- 遵循任务说明:如果
exceeds_ceiling为 true,则必须使用分区模板。 - 遵循任务说明中的
language。javascript任务说明要求提供可运行的 JS(script.mjs,使用node/bun运行)— 不要强制使用 TypeScript 或 TS 运行时。