1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | spanner-basics-google-skills |
| 作者/维护者 | Google(google/skills 官方仓库) |
| 来源链接 | https://github.com/google/skills/tree/main/skills/cloud/spanner-basics |
| 许可证 | Apache-2.0(GitHub API 获取,适用于整个仓库) |
| GitHub Stars | 19,004(GitHub API 获取;该数字属整个 google/skills 合集仓库,不代表本技能自身热度) |
| Forks | 1,531(GitHub API 获取,同为合集整体数据) |
| 最新版本 | 无独立版本号;技能目录最近一次提交于 2026-07-29(GitHub API 获取) |
| 安装方式 | npx skills add google/skills 后勾选 “Spanner Basics”,或手动复制 skills/cloud/spanner-basics 目录 |
2. 功能介绍与亮点
这是一个覆盖 Google Cloud Spanner 全流程管理与开发的技能:实例/数据库配置、Schema 设计、DDL 变更、SQL 查询与性能诊断。核心能力包括:
- 破坏性操作安全闸:正文以
[!CAUTION]强调级别明确要求,任何非模拟器环境的 DML/DDL 变更或删除类操作,必须先输出待执行命令并等待用户明确批准,不得自动执行——这是同类云数据库技能中少见的、写进正文最高优先级的安全约束。 - 主键反热点设计原则:明确警告避免使用单调递增/递减字段(如时间戳)作主键前缀,防止 Spanner 分布式架构下的写入热点;并建议对强关联的父子数据使用交叉表(interleaved tables)。
- 八份参考文档覆盖全生命周期:
references/目录分别覆盖核心概念、gcloud spannerCLI 操作、IAM 安全与数据治理、四种语言客户端库(Java/Go/Python/Node.js)、Terraform 基础设施即代码、可选 MCP 服务器用法、PostgreSQL 方言差异、Schema 设计(主键选型、交叉表)。 - 内置性能诊断路径:指导通过查询
SPANNER_SYS.QUERY_STATS_TOP_HOUR等系统表定位高 CPU 消耗查询,无需额外工具。
3. 适用场景
所属分类:DevOps 与基础设施
适用于已经或计划在生产环境使用 Cloud Spanner 的数据库管理员、SRE 与后端开发者:从新建实例与数据库、设计具备高并发写入能力的 Schema,到用 SQL/客户端库读写数据、排查慢查询,均可直接照本技能给出的工作流操作,而不必逐一查阅分散在多份官方文档中的最佳实践。
4. 跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 ✅ | SKILL.md 遵循 Agent Skills 规范(YAML frontmatter + references/ 子目录),该规范由 Claude Code 率先定义并读取 |
| Codex | 原生支持 ✅ | Codex CLI 读取同一 SKILL.md 目录结构,属公开标准的通用兼容对象 |
| OpenClaw | 原生支持 ✅ | OpenClaw 采用相同的 AgentSkills SKILL.md 规范(name/description frontmatter),结构可直接迁移 |
| Hermes Agent | 原生支持 ✅ | 遵循 agentskills.io 开放标准,跨兼容框架可移植 |
⚠️ 正文提到可选的 Spanner 远程 MCP 服务器与 Developer Knowledge MCP 服务器,均用于补充查询产品文档,不是执行核心工作流(Schema 设计、DDL、诊断)的必需依赖;未配置 MCP 时技能仍可通过 gcloud spanner 命令与参考文档独立完整工作。
5. 推荐理由
它把 Cloud Spanner 这种分布式数据库特有的“反直觉”最佳实践(主键设计避免热点、交叉表选型、破坏性操作强制人工确认)直接写进了工作流,而不是留给使用者自己踩坑;八份参考文档把 CLI、四语言客户端库、Terraform、IAM、PostgreSQL 方言全部覆盖,一个技能基本能覆盖 Spanner 从建库到诊断的完整生命周期,且随官方仓库保持活跃更新。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 由 Google 官方发布(第一方,google/skills 是 Spanner 所属厂商自建仓库);本技能自身在第三方平台尚无独立评价或可查的采用数据,合集仓库整体 19,004 星属于整个仓库,不代表本技能自身热度 |
| 可用性 | 9 | 一条 gcloud 命令覆盖大部分操作;八份参考文档完整覆盖 CLI/客户端库/Terraform/IAM/Schema 设计;最近一次提交为 2026-07-29,维护活跃;无付费依赖(Spanner 本身为按量计费云服务,非技能自身要求) |
| 安全性 | 9 | 见下方检查清单 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令执行范围 | 仅限 gcloud spanner 相关命令,且明确要求破坏性操作前必须获得用户显式批准后才可执行 |
| ② 运行时联网外发 | 仅访问 Google Cloud Spanner 官方 API(含可选 MCP 工具封装),外联目标透明 |
| ③ 凭据处理 | 依赖 gcloud 本地应用默认凭据,不落盘存储额外密钥 |
| ④ 可疑指令 | 未发现 prompt injection 或夹带无关推广内容 |
| ⑤ 作者信誉 | Google 官方仓库,无造假迹象 |
| ⑥ License | Apache-2.0,明确 |
| ⑦ 最近维护 | 2026-07-29,活跃 |
综合评分:8.33(三项均值)
7. 跟同类 Skills 相比的优势
| 技能 | 定位 | 与本技能的差异 |
|---|---|---|
| alloydb-basics(同仓库) | AlloyDB(兼容 PostgreSQL 的托管数据库)的配置与查询指导 | 面向单区域强一致性场景,不具备 Spanner 的全球分布式事务与自动同步复制能力 |
| cloud-sql-basics(同仓库) | Cloud SQL(MySQL/PostgreSQL/SQL Server 托管实例)基础操作 | 传统单实例关系型数据库,无水平扩展与跨区域强一致性诉求,主键热点等分布式设计原则不适用 |
| mongodb-schema-design(第三方,MongoDB 官方) | MongoDB 文档型数据库的 Schema 设计指导 | 面向 NoSQL 文档模型的反范式化设计,与 Spanner 的关系型+交叉表模型设计范式完全不同 |
8. 用户评价
该技能于 2026-07-29 合入 google/skills 仓库,目前在 GitHub Issues、Reddit、Hacker News 等平台尚无具名第三方用户对该技能本身的评价。
9. 其他补充
无。
10. 安装使用方式
方式一(推荐):
npx skills add google/skills
运行后在交互列表中勾选 “Spanner Basics”(即 spanner-basics)。
方式二(手动):
git clone https://github.com/google/skills.git
cp -r skills/skills/cloud/spanner-basics ~/.claude/skills/
安装后注意事项:
- 需已安装并登录
gcloudCLI(gcloud auth application-default login),并已开通 Cloud Spanner API。 - 执行任何非模拟器环境的 DDL/DML 变更前,技能会先输出待执行命令并等待用户明确确认,不会自动执行。
- 若需使用可选的 Spanner 远程 MCP 服务器或 Developer Knowledge MCP 服务器获取补充文档,需自行配置;未配置不影响核心功能。
11. 注意事项
- 技能面向 Cloud Spanner 单一产品,不覆盖其他 Google Cloud 数据库(Cloud SQL、AlloyDB、Bigtable 等有各自独立技能)。
- 正文规定数据库访问不可用或鉴权失败时,技能会假设资源已存在并直接生成 DDL 命令,而非阻塞等待验证——使用时需自行核对目标实例/数据库确实存在,避免生成命令误指向不存在的资源。
- PostgreSQL 方言差异、Terraform 用法等进阶内容位于参考文档而非正文,首次使用建议按需查阅对应
references/文件。