Doramagic 项目包 · 项目说明书
skills 项目
生成时间:2026-06-01 01:07:07 UTC
项目概述
BrightSite Skills 是一个面向数字营销代理商的开源 Claude Skills 集合,专注于简化和自动化 BrightSite 网站平台上的日常运营任务。该项目托管于 GitHub 仓库 BrightSiteHQ/skills,旨在将重复性的网站管理工作转化为可重复执行的自动化工作流。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
项目简介
BrightSite Skills 是一个面向数字营销代理商的开源 Claude Skills 集合,专注于简化和自动化 BrightSite 网站平台上的日常运营任务。该项目托管于 GitHub 仓库 BrightSiteHQ/skills,旨在将重复性的网站管理工作转化为可重复执行的自动化工作流。
每个 Skill 都是一个 Markdown 格式的指令文件,当 AI 助手(如 Claude Code、Claude Desktop 或 Cursor)加载后,能够自动引导完成特定的业务流程,包括博客内容生成、SEO 审计、客户端站点交接检查等。
资料来源:README.md:1-15
核心定位与价值
BrightSite Skills 的设计理念围绕三个核心价值主张展开:
工作流自动化 — 项目将复杂的网站管理操作封装为可执行的标准化流程。例如,从 WordPress 导出文件导入到 BrightSite、批量生成地理位置页面、或执行站点发布前的完整质量检查。这些工作流原本需要多次手动操作,现在可以一键触发。
质量保障 — 每个 Skill 都内置了反模式检查(Anti-patterns),帮助 AI 避免常见的执行错误。资料表明,项目特别强调“防止模型犯错的类别”,这是 Skill 设计中最有价值的部分。资料来源:CONTRIBUTING.md:14
客户端交付标准化 — 通过 client-handoff-checklist 等 Skill,代理商可以在站点上线前执行系统化的 QA 检查,确保所有关键配置项(站点标识、SEO 元数据、表单设置等)都已正确完成。
技术架构
MCP 集成架构
BrightSite Skills 的运行依赖于 BrightSite MCP(Model Context Protocol)服务器的集成。MCP 是一个标准化的协议,允许 AI 助手与外部工具和服务进行交互。
graph TD
A[用户请求] --> B[Claude AI 助手]
B --> C{已安装的 Skill}
C -->|匹配触发短语| D[加载 SKILL.md]
D --> E[解析工作流指令]
E --> F[MCP 工具调用]
F --> G[BrightSite MCP Server]
G --> H[BrightSite API]
H --> I[执行操作]
I --> J[返回结果给用户]MCP 服务器作为托管服务运行,无需本地部署。用户只需在 BrightSite 平台注册账号,然后按照安装指南将 MCP 服务器连接到选定的 AI 客户端工具即可。
资料来源:README.md:28-35
Skill 文件结构
每个 Skill 以统一的 YAML frontmatter 开头,包含元数据定义:
资料来源:README.md:1-15
安装指南
本指南涵盖如何安装、配置和使用 BrightSite Skills 技能库,帮助开发者和代理商快速上手并集成到 Claude Code 工作流程中。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
概述
BrightSite Skills 是一个面向 BrightSite CMS 平台的 Claude Code 技能集合,旨在自动化网站内容管理、SEO 优化和客户交接等常见工作流程。
| 组件 | 说明 |
|---|---|
| 技能数量 | 5+ 个可复用工作流 |
| 依赖项 | Claude Code + BrightSite MCP 服务 |
| 账户标识 | NanoID 格式(如 8fd2k3jq91pn) |
资料来源:README.md:1-18
前置条件
必需环境
| 环境要求 | 版本/说明 |
|---|---|
| Claude Code | 最新版本 |
| BrightSite 账户 | 有效账户(含 Account ID) |
| MCP 连接 | 已配置 mcp__brightsite__* 工具 |
获取 Account ID
BrightSite Account ID 是未前缀的 NanoID 格式,用于 API 调用身份验证。
获取方式:
- 登录 BrightSite Dashboard,查看 URL 中的账户标识
- 或进入 Settings → API 查看
资料来源:README.md:28-29
安装步骤
方式一:克隆仓库
git clone https://github.com/BrightSiteHQ/skills.git
cd skills
仓库结构如下:
skills/
├── README.md
├── CONTRIBUTING.md
├── skills/
│ ├── blog-post-from-outline/
│ │ └── SKILL.md
│ ├── bulk-seo-audit/
│ │ └── SKILL.md
│ ├── client-handoff-checklist/
│ │ └── SKILL.md
│ ├── generate-location-pages/
│ │ └── SKILL.md
│ └── redirect-map-from-csv/
│ └── SKILL.md
资料来源:README.md:1-15
方式二:直接使用技能描述
Claude Code 会自动识别技能的 description 字段。当用户使用自然语言描述需求时,系统会根据描述自动触发对应技能。
触发示例:
| 用户输入 | 触发技能 |
|---|---|
| "Generate location pages for these 40 cities" | generate-location-pages |
| "Run an SEO audit on this site" | bulk-seo-audit |
| "draft a blog post from this outline" | blog-post-from-outline |
| "create a redirect map from CSV" | redirect-map-from-csv |
资料来源:README.md:20-27
技能配置
MCP 工具权限
每个技能依赖特定的 BrightSite MCP 工具。确保以下工具已启用:
| 工具名称 | 用途 |
|---|---|
mcp__brightsite__create_post | 创建博客草稿 |
mcp__brightsite__list_posts | 列出所有文章 |
mcp__brightsite__get_post | 获取单篇文章详情 |
mcp__brightsite__update_post | 更新文章内容 |
mcp__brightsite__create_page | 创建页面 |
mcp__brightsite__list_pages | 列出所有页面 |
mcp__brightsite__get_page | 获取页面详情 |
mcp__brightsite__update_page | 更新页面内容 |
mcp__brightsite__get_site_identity | 获取站点配置 |
mcp__brightsite__publish_post | 发布文章 |
资料来源:skills/blog-post-from-outline/SKILL.md:4-11
环境变量配置
部分技能需要设置账户 ID 参数:
# 设置默认账户 ID
export BRIGHTSITE_ACCOUNT_ID="your_nanoid_here"
或在使用时直接传递:
Account ID: 8fd2k3jq91pn
资料来源:README.md:28-29
可用技能速览
1. 博客文章生成
| 属性 | 值 |
|---|---|
| 技能名 | blog-post-from-outline |
| 输入 | 提纲 + 目标关键词 + 受众描述 |
| 输出 | 带有元数据的草稿文章 |
| 状态 | 始终创建为草稿,不自动发布 |
资料来源:skills/blog-post-from-outline/SKILL.md:1-3
2. 批量 SEO 审计
| 属性 | 值 |
|---|---|
| 技能名 | bulk-seo-audit |
| 输入 | 账户 ID + 审计范围 |
| 输出 | 分级问题报告(Critical/Warning/Info) |
| 支持 | 页面 + 文章双重检查 |
资料来源:skills/bulk-seo-audit/SKILL.md:1-6
3. 客户交接清单
| 属性 | 值 |
|---|---|
| 技能名 | client-handoff-checklist |
| 输入 | 站点身份验证 |
| 输出 | 上线就绪状态报告 |
| 检查项 | 品牌标识、错误页面、分析配置等 |
资料来源:skills/client-handoff-checklist/SKILL.md:1-5
4. 地理位置页面生成
| 属性 | 值 |
|---|---|
| 技能名 | generate-location-pages |
| 输入 | CSV 文件(城市、地区数据) |
| 输出 | 每个城市一个草稿页面 |
| 适用场景 | 程序化 SEO(pSEO)批量建站 |
资料来源:skills/generate-location-pages/SKILL.md:1-6
工作流程图
技能调用流程
graph TD
A[用户输入自然语言需求] --> B{Claude Code 匹配技能}
B -->|匹配成功| C[加载 SKILL.md]
B -->|无匹配| D[常规对话处理]
C --> E[收集必需输入]
E --> F{输入完整?}
F -->|否| G[请求补充信息]
G --> E
F -->|是| H[调用 MCP 工具]
H --> I[处理响应]
I --> J[生成输出报告]
J --> K[返回用户确认]博客文章创建流程
graph LR
A[用户提供提纲] --> B[确认理解: H2结构、关键词、CTA]
B --> C{用户确认}
C -->|否| D[调整参数]
D --> B
C -->|是| E[撰写文章草稿]
E --> F[生成元数据]
F --> G[预览给用户]
G --> H{用户批准}
H -->|否| I[迭代修改]
I --> G
H -->|是| J[创建草稿文章]
J --> K[返回文章ID]资料来源:skills/blog-post-from-outline/SKILL.md:46-77
验证安装
运行交接清单
安装完成后,运行客户端交接清单验证配置:
运行客户端交接检查,账户 ID 为 YOUR_ACCOUNT_ID
该技能会检查:
- 站点身份是否完整(标题、Logo)
- 必填页面是否存在(首页、404页)
- SEO 元数据配置状态
- 草稿内容占位符问题
资料来源:skills/client-handoff-checklist/SKILL.md:1-15
测试 MCP 连接
使用列出工具验证连接:
# 列出账户下所有页面
mcp__brightsite__list_pages --account_id "YOUR_ACCOUNT_ID"
# 列出账户下所有文章
mcp__brightsite__list_posts --account_id "YOUR_ACCOUNT_ID"
常见问题
Q: 技能未触发怎么办?
确保使用自然语言描述需求,技能通过 description 字段的关键词匹配触发。
资料来源:README.md:20-27
Q: Account ID 格式是什么?
BrightSite Account ID 是未前缀的 NanoID,长度约 10-11 字符,例如 8fd2k3jq91pn。
资料来源:README.md:28-29
Q: 如何贡献新技能?
- Fork 仓库
- 创建
skills/<技能名>/SKILL.md文件 - 使用标准 frontmatter 格式
- 测试通过后提交 PR
- 更新 README.md 表格
资料来源:CONTRIBUTING.md:1-18
Q: 技能创建的页面会直接发布吗?
不会。所有技能默认创建草稿状态,用户需在 BrightSite 编辑器中手动审核并发布。
下一步
| 任务 | 相关文档 |
|---|---|
| 学习贡献流程 | CONTRIBUTING.md |
| 浏览全部技能 | README.md |
| 快速开始 | 使用任何自然语言需求触发技能 |
资料来源:README.md:1-18
MCP服务器集成
MCP(Model Context Protocol)服务器集成是BrightSite Skills项目的核心基础设施。该项目为运行BrightSite客户端站点的代理公司提供Claude Skills集合,每个技能都通过BrightSite托管的MCP服务器与外部系统进行交互。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
概述
MCP(Model Context Protocol)服务器集成是BrightSite Skills项目的核心基础设施。该项目为运行BrightSite客户端站点的代理公司提供Claude Skills集合,每个技能都通过BrightSite托管的MCP服务器与外部系统进行交互。
MCP服务器作为桥梁,允许AI助手(如Claude Code、Claude Desktop或Cursor)通过标准化协议访问BrightSite平台的各项功能,包括页面管理、博客文章操作、SEO审计和站点配置等。资料来源:README.md:1-15
架构设计
整体架构
graph TD
A[用户 / AI助手] --> B[Claude Skills]
B --> C[BrightSite MCP Server<br/>onbrightsite.com/mcp]
C --> D[BrightSite API]
D --> E[客户端网站数据]
F[Skill: blog-post-from-outline] --> C
G[Skill: bulk-seo-audit] --> C
H[Skill: generate-location-pages] --> C
I[Skill: client-handoff-checklist] --> CMCP工具命名规范
所有MCP工具采用统一的命名格式:mcp__brightsite__<tool_name>。这种命名约定确保了技能文件中的工具引用保持一致性。资料来源:CONTRIBUTING.md:20-22
可用MCP工具
页面管理工具
| 工具名称 | 功能描述 | 关键参数 |
|---|---|---|
mcp__brightsite__list_pages | 获取站点所有页面列表 | account_id |
mcp__brightsite__get_page | 获取单个页面详情 | account_id, page_id |
mcp__brightsite__create_page | 创建新页面(草稿模式) | account_id, title, slug, heex, meta_title, meta_description, status |
mcp__brightsite__update_page | 更新现有页面 | account_id, page_id, 更新字段 |
mcp__brightsite__publish_page | 发布页面 | account_id, page_id |
资料来源:skills/generate-location-pages/SKILL.md:50-65
博客文章工具
| 工具名称 | 功能描述 | 关键参数 |
|---|---|---|
mcp__brightsite__list_posts | 获取博客文章列表 | account_id |
mcp__brightsite__get_post | 获取文章详情 | account_id, post_id |
mcp__brightsite__create_post | 创建新文章(草稿模式) | account_id, title, slug, content, excerpt, meta_title, meta_description, status |
mcp__brightsite__update_post | 更新现有文章 | account_id, post_id, 更新字段 |
资料来源:skills/blog-post-from-outline/SKILL.md:85-95
站点配置工具
| 工具名称 | 功能描述 |
|---|---|
mcp__brightsite__get_site_identity | 获取站点标识信息(logo、favicon、业务类型等) |
mcp__brightsite__get_blog_settings | 获取博客设置(URL前缀等) |
资料来源:skills/blog-post-from-outline/SKILL.md:93-95
连接配置
前置条件
- 拥有有效的BrightSite账户
- 在onbrightsite.com/mcp完成MCP服务器安装
- 将MCP服务器注册为
brightsite名称
安装步骤
- 访问BrightSite MCP安装页面获取安装代码片段
- 将代码片段配置到目标AI助手(Claude Code、Claude Desktop或Cursor)
- 验证连接状态
安装完成后,技能文件中的所有mcp__brightsite__<tool>引用将正常工作。资料来源:README.md:25-35
账户ID管理
账户ID格式
BrightSite账户ID采用未前缀的NanoID格式,示例:8fd2k3jq91pn。
获取方式
- 仪表板URL中直接可见
- 设置 → API 页面中可查看
使用规范
所有需要账户ID的MCP工具调用都必须提供正确的账户ID作为参数。技能文件中的YOUR_ACCOUNT_ID占位符需要替换为实际ID。资料来源:README.md:50-55
工具调用限制与最佳实践
速率限制
批量操作时建议节流处理,推荐并发量为5个请求/秒,避免触发服务端速率限制。资料来源:skills/generate-location-pages/SKILL.md:56-58
避免的错误模式
| 错误模式 | 正确做法 |
|---|---|
| 一次请求所有实体(在大型账户上) | 分批处理,每批5个请求 |
| 自动修复而不确认 | 展示变更前后对比,获取明确批准 |
信任has_unpublished_changes: false | 实际检查内容状态 |
| 生成页面后立即发布大量页面 | 分批发布,数天内完成 |
资料来源:skills/bulk-seo-audit/SKILL.md:75-80
内容版本管理
页面版本
页面返回两个HEEx版本:
heex:当前线上版本heex_staged:最新未发布的暂存版本
文章版本
文章返回两个内容版本:
content:当前线上内容content_staged:暂存内容
审计策略
审计操作必须同时检查线上版本和暂存版本,因为暂存版本将在下次发布时生效。资料来源:skills/bulk-seo-audit/SKILL.md:12-20
元数据字段说明
页面元数据
| 字段 | 限制 | 说明 |
|---|---|---|
meta_title | ≤60字符 | 搜索引擎结果页标题 |
meta_description | 70-155字符 | 搜索结果摘要 |
slug | kebab-case | URL路径段 |
文章元数据
| 字段 | 限制 | 说明 |
|---|---|---|
meta_title | ≤60字符 | SEO标题 |
meta_description | 130-155字符 | 包含目标关键词 |
excerpt | 1-2句 | 博客列表页显示摘要 |
slug | kebab-case, ≤60字符 | 文章URL |
资料来源:skills/blog-post-from-outline/SKILL.md:60-75
技能与工具映射
blog-post-from-outline
此技能将结构化大纲转换为完整的博客文章草稿,调用以下工具:
mcp__brightsite__create_post:创建草稿文章mcp__brightsite__list_posts:查找内部链接机会mcp__brightsite__list_pages:同上mcp__brightsite__get_blog_settings:确认博客URL前缀
资料来源:skills/blog-post-from-outline/SKILL.md:83-95
bulk-seo-audit
批量审计站点SEO状态,调用以下工具:
mcp__brightsite__list_pagesmcp__brightsite__list_postsmcp__brightsite__get_pagemcp__brightsite__get_postmcp__brightsite__update_pagemcp__brightsite__update_post
资料来源:skills/bulk-seo-audit/SKILL.md:65-72
generate-location-pages
程序化SEO生成工具,调用以下工具:
mcp__brightsite__get_page:读取模板页面mcp__brightsite__create_page:创建每个位置页面mcp__brightsite__list_pages:检查slug冲突
资料来源:skills/generate-location-pages/SKILL.md:49-52
client-handoff-checklist
客户端交接前质量检查,调用以下工具:
mcp__brightsite__get_site_identity:获取站点标识mcp__brightsite__list_pagesmcp__brightsite__get_pagemcp__brightsite__list_postsmcp__brightsite__get_post
资料来源:skills/client-handoff-checklist/SKILL.md:8-18
安全与权限
元数据更新风险
SEO元数据字段(meta_title、meta_description、meta_robots、canonical_url、og_image_id)的更新不是暂存的,这意味着修改会直接影响线上元数据。执行此类更新前必须获得明确批准。资料来源:skills/bulk-seo-audit/SKILL.md:70-75
内容检查限制
由于MCP协议未暴露所有字段(如表单投递/接收者配置),某些QA检查在技能层面会有限制。这种情况下会提示用户在UI中验证。资料来源:README.md:18-22
常见问题排查
MCP连接问题
- 确认安装代码片段已正确配置
- 验证BrightSite账户处于活跃状态
- 检查MCP服务器注册名称是否为
brightsite
工具调用失败
- 验证账户ID正确性
- 检查请求参数是否完整
- 确认操作权限(草稿模式vs发布模式)
批量操作超时
- 降低并发量至3-5请求/秒
- 分批次处理大量数据
- 使用进度报告监控执行状态
扩展开发指南
新增技能规范
- 技能文件命名采用kebab-case格式
- 目录结构:
skills/<skill-name>/SKILL.md - 使用标准frontmatter格式(
name和description) - MCP工具引用必须使用规范名称
mcp__brightsite__<tool> - 测试通过后方可提交
工具扩展请求
如果工作流程需要尚不存在的工具,应在项目仓库中提交issue,而不是在技能中虚构工具。MCP工具的扩展由BrightSite平台决定。资料来源:CONTRIBUTING.md:8-11
相关资源
批量SEO审计技能
批量SEO审计技能(Bulk SEO Audit)是一个自动化工作流,用于全面扫描 BrightSite 网站上的所有页面和文章,检测页面级 SEO 问题并生成按严重程度分组的修复建议列表。该技能通过调用 BrightSite MCP 接口获取网站内容,并基于预定义规则进行系统性检查。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
功能概述
该技能的核心目标是帮助代理商在以下场景中执行高效的 SEO 质量检查:
| 使用场景 | 说明 |
|---|---|
| 客户网站移交前 | 作为最终 QA 检查,确保交付质量 |
| 流量下降排查 | 排除页面级 SEO 问题导致的影响 |
| 网站迁移后 | WordPress 导入或域名变更后的校验 |
| 定期维护 | 每 30-90 天对线上网站进行例行检查 |
资料来源:skills/bulk-seo-audit/SKILL.md:1-20
注意:该技能专注于页面级 SEO 检查,不包含外链分析、Core Web Vitals 评估或排名追踪等功能。
审计范围与检查项
严重级别(Critical)
以下问题会直接影响搜索引擎表现,必须修复:
| 检查项 | 问题描述 | 影响 |
|---|---|---|
meta_title 为空 | 标题在搜索结果中缺失 | 降低点击率 |
meta_title 超过 60 字符 | 搜索结果中被截断 | 标题不完整 |
meta_description 为空 | Google 自动生成描述 | 描述内容不可控 |
slug 包含空格/大写/特殊字符 | URL 格式不规范 | 影响索引和分享 |
| 多个实体共享相同 slug | URL 重复 | 潜在 canonical 冲突 |
| 内容体为空或少于 300 字符 | 内容过少 | 被判定为低质量页面 |
资料来源:skills/bulk-seo-audit/SKILL.md:57-65
警告级别(Warning)
以下问题应予以修复,但不紧急:
| 检查项 | 问题描述 |
|---|---|
meta_title 少于 30 字符 | 标题过短,可能缺少关键词 |
meta_description 少于 70 字符 | 描述不够完整 |
meta_description 超过 155 字符 | 搜索结果中被截断 |
资料来源:skills/bulk-seo-audit/SKILL.md:66-68
信息级别(Info)
优化建议,非必须修复:
| 检查项 | 问题描述 |
|---|---|
slug 超过 60 字符 | URL 过长 |
slug 包含停用词 | URL 不够简洁 |
meta_description 未包含标题关键词 | 元描述与标题关联性弱 |
| 文章缺少封面图 | 影响社交分享效果 |
工作流程
graph TD
A[用户输入 Account ID] --> B{网站实体数量}
B -->|超过 200 个| C[请求用户确认]
B -->|200 个以内| D[拉取网站清单]
C -->|确认后| D
D --> E[获取所有页面列表<br/>list_pages]
D --> F[获取所有文章列表<br/>list_posts]
E --> G[遍历实体]
F --> G
G --> H[调用 get_page 或 get_post]
H --> I{检测问题}
I -->|发现 Critical| J[标记为严重问题]
I -->|发现 Warning| K[标记为警告]
I -->|发现 Info| L[标记为信息]
J --> M[生成问题汇总]
K --> M
L --> M
M --> N[输出 Markdown 报告]
N --> O[询问用户是否自动修复]
O -->|用户同意| P[逐项展示修复方案]
O -->|用户拒绝| Q[流程结束]
P --> R[获取用户逐项确认]
R -->|确认单个修复| S[调用 update_page/update_post]
R -->|拒绝| Q
S --> T{还有待修复项?}
T -->|是| R
T -->|否| Q
步骤详解
#### 第一步:拉取网站清单
技能首先获取网站的完整实体列表:
- 调用
mcp__brightsite__list_pages获取所有页面 - 调用
mcp__brightsite__list_posts获取所有文章
如果实体数量超过 200 个,技能会提示用户并请求确认,避免意外执行大规模审计。
资料来源:skills/bulk-seo-audit/SKILL.md:48-53
#### 第二步:获取并评估每个实体
对于每个页面或文章,调用对应的详情接口:
mcp__brightsite__get_page— 获取页面详情mcp__brightsite__get_post— 获取文章详情
页面返回 heex(线上版本)和 heex_staged(未发布草稿);文章返回 content 和 content_staged。审计会同时检查两个版本,因为草稿中的问题会在下次发布时生效。
资料来源:skills/bulk-seo-audit/SKILL.md:55-56
#### 第三步:生成报告
检查完成后,按严重程度和实体类型分组输出 Markdown 表格格式的报告:
--- DRAFT PREVIEW ---
Title: ...
Slug: ...
Meta title: ...
Meta description: ...
Excerpt: ...
[Full post body in markdown]
--- END PREVIEW ---
报告格式包含:
[!]— 严重问题标记[~]— 警告问题标记[i]— 信息问题标记- 实体类型和标题
- 具体问题描述
- 建议修复方案
- 页面/文章 ID(便于在编辑器中定位)
资料来源:skills/bulk-seo-audit/SKILL.md:70-82
报告末尾包含汇总块:
Audit summary程序化SEO页面生成
程序化SEO页面生成(Programmatic SEO,简称pSEO)是一种大规模创建针对特定地理位置优化的落地页面的技术。该功能允许用户通过CSV数据源批量生成符合SEO规范的BrightSite页面,每个页面针对 [服务] + [城市] 格式的关键词进行优化。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
概述
程序化SEO页面生成(Programmatic SEO,简称pSEO)是一种大规模创建针对特定地理位置优化的落地页面的技术。该功能允许用户通过CSV数据源批量生成符合SEO规范的BrightSite页面,每个页面针对 [服务] + [城市] 格式的关键词进行优化。
此技能的主要目的是帮助代理商为客户提供能够覆盖数十甚至数百个地理区域的SEO内容,适用于HVAC、管道维修牙科、房地产、法律、健身等服务行业。
资料来源:skills/generate-location-pages/SKILL.md:1-5
核心工作流程
程序化SEO页面生成采用四阶段工作流程,确保在大规模生成前进行充分的预览和确认。
graph TD
A[用户输入] --> B[Step 1: 确认范围]
B --> C[Step 2: 生成单页示例]
C --> D{用户审核}
D -->|通过| E[Step 3: 批量生成]
D -->|拒绝| F[调整参数]
F --> B
E --> G[Step 4: 输出摘要]
G --> H[运行SEO审计]Step 1: 确认生成范围
在调用任何创建工具之前,系统会向用户展示以下信息进行确认:
| 预览项 | 说明 |
|---|---|
| 生成数量 | 将创建的页面总数 |
| CSV首行数据 | 第一行数据预览 |
| 渲染后的HEEx | 模板替换后的页面内容预览 |
| 元标题 | 每个页面的meta_title预览 |
| 元描述 | 每个页面的meta_description预览 |
| URL路径 | 每个页面将生成的slug和路径 |
系统明确要求用户输入 "yes, generate them" 确认后才能执行批量创建,以防止意外生成大量页面。
资料来源:skills/generate-location-pages/SKILL.md:45-55
Step 2: 生成单页示例
系统首先调用 mcp__brightsite__create_page 仅创建第一行数据的页面。创建完成后返回的响应包含 path 字段(完整URL路径),用户需在BrightSite编辑器中预览并确认页面质量后再继续。
此阶段是防止批量错误的关键检查点,确保模板变量替换和SEO配置正确。
资料来源:skills/generate-location-pages/SKILL.md:56-62
Step 3: 批量生成
用户确认示例页面后,系统遍历CSV剩余数据行,调用 mcp__brightsite__create_page 创建每个页面。创建参数包括:
- account_id # BrightSite账户ID
- title # 页面标题,格式:"{服务} in {城市}, {州}"
- slug # URL别名,kebab-case格式
- heex # 模板内容,变量替换后的HEEx代码
- meta_title # SEO标题,60字符以内
- meta_description # SEO描述,155字符以内
- status # 固定为 "draft",不以草稿模式创建
- layout_id # 指定布局ID(如有)
生成过程中实施限流策略:约5页/秒,避免触发API速率限制。每生成10页输出一次进度报告。
资料来源:skills/generate-location-pages/SKILL.md:63-74
Step 4: 输出摘要
批量创建完成后,系统输出包含以下内容的摘要报告:
- 成功创建的页面总数及失败数量
- 创建的草稿页面URL列表
- 建议的后续操作
资料来源:skills/generate-location-pages/SKILL.md:75-80
输入参数详解
CSV数据源要求
CSV文件是程序化SEO的核心数据源,其列结构直接影响页面质量。
| 列名 | 必需性 | 说明 |
|---|---|---|
| city | 必需 | 城市名称 |
| slug | 必需 | URL别名,kebab-case格式 |
| state | 建议 | 州/省份名称 |
| population | 建议 | 城市人口数据 |
| nearest_highway | 建议 | 最近的公路/高速公路 |
| local_landmark | 建议 | 地标建筑名称 |
| phone | 建议 | 本地联系电话 |
| address | 建议 | 实体店铺地址 |
CSV列越丰富,生成的页面内容差异化程度越高,可有效避免Google因内容过于相似而降低排名。
资料来源:skills/generate-location-pages/SKILL.md:20-27
模板页面
模板页面是程序化生成的基础,可以通过以下两种方式指定:
- 页面ID克隆:提供现有页面的ID,系统复制其结构和布局
- HEEx代码:直接提供HEEx模板代码及结构描述
模板中的变量占位符格式与CSV列名对应,系统自动进行替换。
资料来源:skills/generate-location-pages/SKILL.md:28-31
使用场景
适用场景
程序化SEO页面生成最适合以下情况:
- 客户业务具有地域属性(如紧急管道维修、牙科诊所、律师事务所)
- 目标关键词为
[服务] in [城市]格式 - 需要覆盖10个以上地理位置
- 竞争对手已在使用程序化SEO
不适用场景
对于少于约10个地点的情况,手动创建的页面转换效果更好,因为:
- 可针对每个地点进行深度定制
- 无需额外的CSV准备成本
- 内容差异化程度更高
资料来源:skills/generate-location-pages/SKILL.md:13-18
SEO最佳实践
内容差异化要求
Google对"内容过薄"的程序化页面会采取去索引措施。每个页面必须包含至少2-3个地点特定的变量替换内容,而非仅更换城市名称。
| 反面示例 | 正面示例 |
|---|---|
| 标题:紧急管道维修<br>内容:仅城市名改为Austin/Houston/Dallas | 标题:紧急管道维修<br>内容:包含当地地标、人口规模、社区特点 |
资料来源:skills/generate-location-pages/SKILL.md:88-91
元描述配置
每个程序化页面必须配置独立的meta_description。空白元描述会浪费该页面的搜索排名机会。
元描述应符合以下规范:
- 长度:130-155字符
- 包含目标服务关键词
- 包含城市名称
- 采用行动导向的表述
资料来源:skills/generate-location-pages/SKILL.md:101-103
发布节奏建议
对于新域名,不建议一次性发布50个以上页面。建议分批次发布,每批间隔数天,让网站地图提交显得自然。
| 域名年龄 | 建议发布策略 |
|---|---|
| 新域名 (< 6个月) | 每天5-10页,持续发布 |
| 成熟域名 (> 1年) | 可加速至每天20-30页 |
资料来源:skills/generate-location-pages/SKILL.md:95-98
后续步骤
SEO审计
批量创建完成后,建议运行 bulk-seo-audit 技能对所有新页面进行SEO检查,验证:
- meta_title长度是否合规(≤60字符)
- meta_description是否完整
- 页面slug是否符合规范
- 内部链接结构是否正确
资料来源:skills/bulk-seo-audit/SKILL.md:1-15
客户端交接检查
在将程序化页面交付客户前,建议运行 client-handoff-checklist 进行预发布QA检查:
- 确认所有页面已设置正确的meta_title和meta_description
- 验证页面status状态
- 检查是否存在未发布内容(has_unpublished_changes)
资料来源:skills/client-handoff-checklist/SKILL.md:1-20
使用的MCP工具
| 工具名称 | 用途 |
|---|---|
mcp__brightsite__get_page | 读取模板页面内容 |
mcp__brightsite__create_page | 创建每个地点页面 |
mcp__brightsite__list_pages | 检查slug是否与现有页面冲突 |
资料来源:skills/generate-location-pages/SKILL.md:104-107
常见反模式
| 反模式 | 说明 | 正确做法 |
|---|---|---|
| 内容仅更换城市名 | Google会识别为低质量内容 | 每个页面至少2-3个地点特定变量 |
| 虚构本地事实 | 损害品牌信誉 | 无本地数据时省略该内容区块 |
| 一次性发布大量页面 | 可能触发垃圾内容算法 | 分批次发布,控制节奏 |
| 跳过meta_description | 浪费排名机会 | 为每个页面生成独立描述 |
资料来源:skills/generate-location-pages/SKILL.md:88-103
调用示例
I have a CSV at ~/clients/acme-hvac/locations.csv with columns city,state,slug,population,landmark. The client is Acme HVAC and they do emergency furnace repair. Account ID is YOUR_ACCOUNT_ID. Generate location pages, draft mode, using the template at page ID 8fd2k3jq91pn.
此示例展示了完整的输入格式,包括CSV路径、数据列、服务描述和账户ID。
资料来源:skills/generate-location-pages/SKILL.md:108-111
与其他技能的关系
程序化SEO页面生成通常作为更大工作流的一部分:
graph LR
A[generate-location-pages] --> B[bulk-seo-audit]
B --> C[client-handoff-checklist]
C --> D[发布页面]这种组合确保了大批量生成的内容同时满足SEO标准和客户交付质量要求。
CSV重定向映射
CSV重定向映射(redirect-map-from-csv)是 BrightSite Skills 工具包中的一个自动化技能,用于将电子表格格式的旧URL到新URL的映射关系批量转换为 BrightSite 平台的重定向规则。
继续阅读本节完整说明和来源证据。
概述
CSV重定向映射(redirect-map-from-csv)是 BrightSite Skills 工具包中的一个自动化技能,用于将电子表格格式的旧URL到新URL的映射关系批量转换为 BrightSite 平台的重定向规则。
该技能属于网站迁移工作流的关键环节,在网站重构、域名变更或URL结构优化场景中发挥重要作用。通过批量处理机制,代理商可以一次性为数十甚至数百个页面创建精确的重定向规则,避免手动操作的遗漏和错误。
资料来源:README.md:skills列表
资料来源:README.md:skills列表
WordPress博客迁移
WordPress博客迁移(migrate-wordpress-blog)是BrightSite技能库中的一个核心工具,用于将内容从WordPress平台迁移到BrightSite。该技能专门处理WordPress XML导出文件,将帖子内容批量导入目标账户,同时保留原始URL结构并在必要时生成301重定向以维护SEO价值。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
概述
WordPress博客迁移(migrate-wordpress-blog)是BrightSite技能库中的一个核心工具,用于将内容从WordPress平台迁移到BrightSite。该技能专门处理WordPress XML导出文件,将帖子内容批量导入目标账户,同时保留原始URL结构并在必要时生成301重定向以维护SEO价值。
资料来源:README.md:30
核心功能
| 功能 | 说明 |
|---|---|
| XML解析 | 解析WordPress WXR格式导出文件 |
| 内容迁移 | 将帖子标题、正文、分类、标签等元数据导入BrightSite |
| Slug保留 | 尽可能保持原始URL结构 |
| 301重定向 | 对URL发生变化的帖子自动生成重定向规则 |
| 草稿模式 | 所有导入内容以草稿状态创建,便于审核后再发布 |
资料来源:README.md:29
工作流程
graph TD
A[用户提供WordPress XML导出文件] --> B[解析XML结构]
B --> C[提取帖子内容、元数据、原始slug]
C --> D{检查slug冲突}
D -->|无冲突| E[直接创建草稿帖子]
D -->|有冲突| F[生成新slug]
F --> G[创建草稿帖子]
E --> H[生成301重定向映射]
G --> H
H --> I[输出迁移报告]
I --> J[用户审核后手动发布]使用场景
该技能适用于以下情况:
- 平台迁移项目:代理商需要将客户从WordPress迁移到BrightSite时使用
- 批量内容导入:需要一次性迁移大量博客文章而非手动复制粘贴
- SEO保护需求:迁移后需确保搜索引擎仍能正确索引旧URL对应的内容
资料来源:CONTRIBUTING.md:8-10
输入要求
用户在调用此技能时需要提供:
| 参数 | 必需 | 说明 |
|---|---|---|
| Account ID | 是 | BrightSite目标账户ID(NanoID格式,如 8fd2k3jq91pn) |
| XML文件路径 | 是 | WordPress导出的XML文件路径或内容 |
| 发布状态 | 否 | 默认以草稿模式导入 |
资料来源:README.md:42-44
注意事项
SEO保护机制
迁移过程中最重要的考量是SEO价值维护。当原WordPress站点的帖子slug与BrightSite现有内容冲突,或因格式化需求需要调整slug时,技能会自动生成301永久重定向。
⚠️ 重要提示:301重定向对于保持搜索引擎排名至关重要。BrightSite使用 mcp__brightsite__create_redirect 工具来创建重定向规则。
资料来源:skills/blog-post-from-outline/SKILL.md:89-91
草稿优先策略
与其他BrightSite技能一致,该迁移工具始终以草稿模式创建内容,从不自动发布。这确保了:
- 迁移后的内容需要人工审核
- 图片、内链等资源可以重新校验
- 格式问题可以在发布前修复
资料来源:skills/bulk-seo-audit/SKILL.md:71-73
技能集成
迁移完成后,建议结合使用以下技能进行后续操作:
| 技能 | 用途 |
|---|---|
bulk-seo-audit | 审计迁移后所有帖子的SEO元数据完整性 |
client-handoff-checklist | 在将迁移完成的网站交付客户前进行最终检查 |
blog-post-from-outline | 如需创建新的迁移后博客内容 |
资料来源:README.md:27-32
社区实践
根据社区反馈,WordPress迁移是代理商在接手新客户时最常见的任务之一。社交媒体上有关于Claude Code Skills的讨论中多次提到内容迁移是AI辅助数字营销的关键场景之一。
资料来源:社区上下文(Twitter/X讨论)
相关文件结构
技能安装后的目录结构:
~/.claude/skills/migrate-wordpress-blog/SKILL.md
~/.claude/skills/generate-location-pages/SKILL.md
~/.claude/skills/bulk-seo-audit/SKILL.md
~/.claude/skills/redirect-map-from-csv/SKILL.md
~/.claude/skills/client-handoff-checklist/SKILL.md
~/.claude/skills/blog-post-from-outline/SKILL.md
资料来源:README.md:63-70
扩展阅读
如需创建自定义技能,请参考 CONTRIBUTING.md 中的规范:
- 技能必须基于真实工作流场景
- 必须映射到现有的BrightSite MCP工具
- 必须包含"Anti-patterns to avoid"反模式章节以防止常见错误
资料来源:CONTRIBUTING.md:8-18
资料来源:README.md:30
大纲转博客文章
大纲转博客文章(blog-post-from-outline)是一个 Claude 技能(Skill),用于将结构化的大纲转换为 BrightSite 平台的完整博客文章草稿。该技能遵循严格的内容创作工作流,确保生成的博客文章具备良好的 SEO 优化结构、元数据配置和可发布质量。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
功能概述
核心用途
该技能的主要功能是将用户提供的outline(包含bullet points、H2/H3标题和关键论点)转化为结构完整、格式规范的博客文章草稿。技能特别强调内容质量而非泛泛生成——它要求用户已完成思考过程,提供具体的大纲和目标关键词,而非仅仅给出一个宽泛的主题。
适用场景
| 场景类型 | 具体说明 |
|---|---|
| 机构内容创作 | 代理机构需要根据客户的内容简报快速生成草稿 |
| 专家内容转化 | 领域专家通过语音备忘录或Loom录制内容,机构获取转录后生成outline |
| 写作辅助 | 作者拥有结构化outline但不擅长撰写连接性散文 |
不适用场景
该技能不适用于以下情况:
- 仅提供标题或主题时的泛泛生成(输出质量较低)
- 长篇支柱内容(>2000词)——建议分段迭代完成
资料来源:skills/blog-post-from-outline/SKILL.md
工作流程
该技能采用五步工作流程,确保每一步都经过用户确认,避免生成不符合预期的内容。
graph TD
A[用户提供大纲] --> B[步骤1: 确认理解]
B --> C{用户确认?}
C -->|需要更多信息| D[返回询问细节]
D --> B
C -->|确认| E[步骤2: 起草文章]
E --> F[步骤3: 生成元数据]
F --> G[步骤4: 展示草稿预览]
G --> H{用户审核?}
H -->|需要修改| I[迭代修订]
I --> G
H -->|批准| J[步骤5: 创建草稿]
J --> K[返回文章ID]步骤1:确认理解
在起草之前,技能会向用户回显以下关键信息并等待确认:
- H2结构:将使用的标题层级
- 目标关键词:及其放置位置(标题、H1、前100词、一个H2、meta)
- 行动号召(CTA):文章末尾的行动请求
- 目标语气:正在模仿的参考风格
注意:如果任何信息不清晰,必须返回询问而非直接起草。
资料来源:skills/blog-post-from-outline/SKILL.md
步骤2:起草文章
文章起草遵循严格的结构约束:
| 元素 | 要求 |
|---|---|
| 标题 | 60字符以内,自然包含目标关键词,行动/利益导向 |
| 首段 | 2-3句吸引读者,提及目标关键词一次,设定后续内容预期 |
| H2结构 | 匹配用户提供的大纲,每个H2包含具体收获、示例或证据 |
| 语气 | 短句、主动语态、无流行语(utilize、leverage、synergy) |
| 行动号召 | 文章末尾一段,直接请求而非委婉暗示 |
| 内部链接 | 如用户提及相关文章或页面,自然融入1-2个内部链接 |
| 长度 | 目标字数±15%范围内 |
步骤3:生成元数据
文章元数据包含四个关键字段:
| 字段 | 字符限制 | 说明 |
|---|---|---|
meta_title | < 60字符 | 通常与标题相同,但可更精简以利于搜索 |
meta_description | 130-155字符 | 包含目标关键词,描述利益而非摘要 |
excerpt | 1-2句 | 用于博客列表页面,促使用户点击 |
slug | < 60字符 | 标题的kebab-case版本,移除停用词 |
步骤4:展示草稿预览
完整草稿以Markdown格式展示,预览格式如下:
--- DRAFT PREVIEW ---
Title: ...
Slug: ...
Meta title: ...
Meta description: ...
Excerpt: ...
[完整文章Markdown正文]
--- END PREVIEW ---
等待用户批准或请求修改。常见修订请求包括:语气偏差、某个H2较弱、CTA需要调整等。
步骤5:创建草稿
用户批准后,将Markdown正文转换为纯HTML,调用 mcp__brightsite__create_post 接口创建草稿:
account_id:账户IDtitle:文章标题slug:URL slugcontent:HTML正文(纯HTML,不支持HEEx或Phoenix模板)excerpt:摘要meta_title:元标题meta_description:元描述status: "draft":始终创建为草稿
技能返回文章ID及提示:Draft created: post ID 8fd2k3jq91pn. Open it in the BrightSite editor to add a feature image, internal links, and publish when ready.
资料来源:skills/blog-post-from-outline/SKILL.md
用户输入要求
必需参数
| 参数 | 说明 | 示例 |
|---|---|---|
| Account ID | BrightSite账户ID | 8fd2k3jq91pn |
| Outline | 子弹点、H2/H3标题、关键论点 | 结构化程度越高越好 |
| Target Keyword | 文章主关键词 | "small business HVAC marketing" |
| Audience | 一句话描述目标读者 | "small business owners evaluating CRMs" |
| Voice/Tone Reference | 参考文章链接或语气描述 | "conversational, no fluff, US English" |
| Word Count | 目标字数,默认800-1200词 | 1000 |
| CTA | 读者末尾应采取的行动 | "book a strategy call" |
资料来源:skills/blog-post-from-outline/SKILL.md
反模式与质量控制
该技能定义了明确的行为边界,避免常见的AI生成内容问题。
必须避免的行为
| 反模式 | 说明 | 风险 |
|---|---|---|
| 自动发布 | 即使用户要求"发布",也创建为草稿 | 让用户审核后再发布 |
| 无大纲生成 | 仅给主题时询问大纲而非直接生成 | 避免泛泛内容 |
| 凑字数 | 自然长度不足时硬凑 | 损害SEO和跳出率 |
| AI语气 | 使用"dive into"、"unleash"、"in today's..."等 | 降低专业度 |
| 虚构数据 | 概要提到统计数字时询问来源 | 避免虚假信息 |
质量标准
"不要评判风格偏好为问题。'标题没有使用有力词汇'不是SEO问题,是文案观点。保持审核客观。"
资料来源:skills/bulk-seo-audit/SKILL.md
使用的工具
| 工具名称 | 用途 |
|---|---|
mcp__brightsite__create_post | 创建博客文章草稿 |
mcp__brightsite__list_posts | 查找内部链接机会(可选) |
mcp__brightsite__list_pages | 查找内部链接机会(可选) |
mcp__brightsite__get_blog_settings | 确认博客URL前缀(可选) |
注意:文章正文只支持纯HTML,不支持HEEx、Phoenix模板助手或页面组件。
资料来源:skills/blog-post-from-outline/SKILL.md
调用示例
Account `YOUR_ACCOUNT_ID`. Target keyword: "small business HVAC marketing."
Audience: HVAC company owners with 5-20 employees.
Voice: like the post at /blog/hvac-seo-basics on the same site. 1000 words.
CTA: book a strategy call.
Outline:
- Most HVAC marketing fails because it's interchangeable
- 3 things that actually work: Google Business Profile reviews, neighborhood-specific landing pages, seasonal email follow-up
- For each: why it works, one example, how to start this week
- Wrap with: pick one, do it for 90 days
与其他技能的关系
该技能是BrightSite技能库内容工作流的一部分,与以下技能协同:
| 技能 | 关系说明 |
|---|---|
| bulk-seo-audit | 草稿创建后,可运行SEO审核检查元数据质量 |
| client-handoff-checklist | 最终交付前验证所有配置是否完整 |
| generate-location-pages | 批量生成落地页后可使用本技能为每个页面撰写博客内容 |
资料来源:README.md
技能开发规范
如果您希望为该项目贡献新的技能,需遵循以下原则:
- 编码真实工作流 - 必须是在客户站点实际运行过的,而非假设性的
- 映射到现有MCP工具 - 引用
mcp__brightsite__<tool>格式的规范工具名 - 防止模型犯错 - 反模式部分是任何技能最有价值的章节
"如果工作流需要的工具不存在,先开issue而非写技能——我们会考虑添加该工具。"
资料来源:CONTRIBUTING.md
总结
大纲转博客文章技能通过结构化的五步工作流程,将用户提供的outline转化为高质量、可发布的博客文章草稿。其核心价值在于:
- 质量优先:要求用户先完成思考,避免泛泛生成
- 用户控制:每步确认,不自动发布,尊重用户决策
- SEO优化:内置元数据规范和关键词放置策略
- 批量协作:可与SEO审核、客户端交接清单等技能协同工作
该技能特别适合内容代理机构、专业博客运营者和需要高效内容生产流程的团队使用。
客户端交接检查清单
客户端交接检查清单(Client Handoff Checklist)是 BrightSite Skills 仓库中的一个核心技能模块,专为网站上线前的质量保证(QA)而设计。该技能通过系统化的检查流程,验证网站身份、错误页面、博客设置、表单配置和分析工具是否正确配置,确保在正式交付给客户之前排除所有关键问题。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
概述
客户端交接检查清单(Client Handoff Checklist)是 BrightSite Skills 仓库中的一个核心技能模块,专为网站上线前的质量保证(QA)而设计。该技能通过系统化的检查流程,验证网站身份、错误页面、博客设置、表单配置和分析工具是否正确配置,确保在正式交付给客户之前排除所有关键问题。
资料来源:skills/client-handoff-checklist/SKILL.md:1-1
核心目标
| 目标类别 | 描述 |
|---|---|
| 完整性检查 | 确保所有必要的页面和配置项已创建 |
| 正确性检查 | 验证元数据、SEO 配置和内容质量的正确性 |
| 一致性检查 | 确认暂存版本与线上版本保持一致 |
| 可发布性检查 | 确认网站满足上线条件 |
定位与范围
该检查清单是 BrightSite 代理工作流 中的最后一道质量门关。它不执行修复操作,仅提供问题诊断和报告功能。这与 bulk-seo-audit 技能形成互补——后者专注于 SEO 问题审计,而本清单覆盖更广泛的站点配置问题。
贡献指南
本文档描述了如何为 BrightSite Skills 项目贡献新的技能(Skills),包括技能的设计原则、创建流程、代码规范以及错误报告机制。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
项目概述
BrightSite Skills 是一个为 BrightSite 平台设计的 Claude 技能集合,旨在帮助代理商自动化网站管理、内容创建和 SEO 优化等工作流程。
资料来源:README.md:1-9
优秀技能的标准
一个技能要被接受,必须满足以下三个核心条件:
必须是真实工作流程
技能应该编码你在实际客户网站上运行过的工作流程,而非假设性的功能。BrightSite 团队倾向于接收经过实战验证的技能实现。
必须基于现有 MCP 工具
技能必须映射到当前 BrightSite MCP 服务器已提供的工具。如果工作流程需要不存在的工具,应先提交 issue 讨论添加工具的可能性,而不是创建无法执行的技能。
必须防止模型犯错
最有价值的部分通常是"应避免的反模式"(Anti-patterns to avoid)。技能应该帮助 AI 模型避免常见的、会影响客户网站的错误。
资料来源:CONTRIBUTING.md:6-18
创建新技能的流程
graph TD
A[Fork 仓库] --> B[创建 SKILL.md 文件]
B --> C[使用标准 frontmatter 格式]
C --> D[引用规范的 MCP 工具名称]
D --> E[在真实账户测试]
E --> F[添加行到 README.md 表格]
F --> G[提交 Pull Request]步骤详解
#### 1. Fork 仓库
首先在 GitHub 上 fork BrightSiteHQ/skills 仓库到你的个人账户。
#### 2. 创建技能文件
在 skills/ 目录下创建新文件夹,命名规则为 kebab-case 格式:
skills/<your-skill-name>/SKILL.md
每个技能文件对应一个独立的工作流程,不要在一个文件中塞入多个功能。
#### 3. 使用标准 frontmatter
每个 SKILL.md 必须包含以下 YAML frontmatter:
| 字段 | 描述 | 示例 |
|---|---|---|
name | 技能唯一标识符 | blog-post-from-outline |
description | 触发技能的自然语言描述 | 包含"draft a blog post"、"write a post from this outline"等短语 |
frontmatter 之后跟随 markdown 格式的技能说明文档。
#### 4. 引用 MCP 工具规范
使用标准的 mcp__brightsite__<tool> 格式引用工具,例如:
mcp__brightsite__list_pagesmcp__brightsite__create_pagemcp__brightsite__get_post
不要自行发明不存在的工具名称。
#### 5. 测试验证
在提交前,必须在真实的 BrightSite 账户(或测试账户)上运行技能验证其功能。如果无法提供测试账户,请在 PR 中说明,团队会协助运行测试。
#### 6. 更新文档
在 README.md 的技能列表表格中添加新技能的条目。
技能文档结构规范
必须包含的章节
| 章节 | 说明 |
|---|---|
| 描述头部 | 使用场景和限制 |
| 工具列表 | 使用的 MCP 工具 |
| 输入参数 | 用户需要提供的信息 |
| 工作流程 | 步骤说明 |
| 反模式 | 应避免的错误 |
描述性要求
要具体:避免模糊的描述如"验证输入"。应该写成"在调用 mcp__brightsite__create_page 前,将 redirect_type 从字符串转换为整数"。
标注危险步骤:每个技能都有一个潜在的危险操作,需要在文档中明确标注。
禁止营销语言:避免使用"强大的"、"无缝的"、"健壮的"等词汇。这些对模型理解技能无益。
禁止表情符号:技能输出中不应使用 emoji,除非用户明确要求。
技能使用示例
以下是常见的使用场景描述方式,这些描述会触发相应技能的自动加载:
| 用户输入示例 | 触发技能 |
|---|---|
"I have a WordPress export I need to import into account 8fd2k3jq91pn" | redirect-map-from-csv |
| "Generate location pages for these 40 cities" | generate-location-pages |
| "Run an SEO audit on this site before we hand it off" | bulk-seo-audit |
| "Draft a blog post from this outline" | blog-post-from-outline |
资料来源:README.md:40-47
账户 ID 说明
BrightSite 账户 ID 是未前缀的 NanoID 格式,示例:8fd2k3jq91pn。可以在以下位置找到:
- 仪表板 URL 中
- Settings → API 页面
在技能文档中,YOUR_ACCOUNT_ID 占位符需要替换为实际 ID。
资料来源:README.md:48-51
错误报告流程
当发现技能与 MCP 实际行为不符时,应提交 GitHub Issue,包含以下信息:
必填信息
| 信息项 | 说明 |
|---|---|
| 技能名称 | 出问题的技能标识 |
| MCP 工具调用 | 请求和响应的完整内容 |
| 期望行为 | 应该产生什么结果 |
| 实际行为 | 实际发生了什么 |
优先级说明
当技能与当前 MCP schema 不对齐时(如字段重命名、工具添加等),属于高优先级修复,应在 Issue 标题中标注。
质量检查清单
在提交技能前,确认以下检查项:
- [ ] frontmatter 包含
name和description字段 - [ ] 文件路径使用 kebab-case 命名
- [ ] MCP 工具引用使用标准
mcp__brightsite__前缀 - [ ] 包含"反模式"章节
- [ ] 所有步骤都有具体说明
- [ ] 不含 emoji 或营销用语
- [ ] 已在 README.md 表格中注册
- [ ] 在真实账户测试通过
许可协议
通过贡献代码,你同意你的贡献将采用本仓库中 MIT 协议授权。
相关资源
| 资源 | 链接 |
|---|---|
| BrightSite 官网 | https://onbrightsite.com |
| MCP 服务 | https://onbrightsite.com/mcp |
| GitHub 仓库 | https://github.com/BrightSiteHQ/skills |
资料来源:README.md:1-9
失败模式与踩坑日记
保留 Doramagic 在发现、验证和编译中沉淀的项目专属风险,不把社区讨论只当作装饰信息。
这类外部讨论可能代表真实用户在安装、配置、升级或生产使用时遇到阻力;发布前不能只依赖官方 README。
安装可能改变本机 AI 工具行为,用户需要知道写入位置和回滚方法。
这类外部讨论可能代表真实用户在安装、配置、升级或生产使用时遇到阻力;发布前不能只依赖官方 README。
这类外部讨论可能代表真实用户在安装、配置、升级或生产使用时遇到阻力;发布前不能只依赖官方 README。
Pitfall Log / 踩坑日志
项目:BrightSiteHQ/skills
摘要:发现 12 个潜在踩坑项,其中 0 个为 high/blocking;最高优先级:安装坑 - 社区讨论暴露的待验证问题:I built a CLI that installs MCP, skills, prompts, commands and sub ...。
1. 安装坑 · 社区讨论暴露的待验证问题:I built a CLI that installs MCP, skills, prompts, commands and sub ...
- 严重度:medium
- 证据强度:source_linked
- 发现:I built a CLI that installs MCP, skills, prompts, commands and sub ... 6 Apr 2026 · Project & Supported Tools. The source code is hosted on GitHub: https://github.com/pea3nut/agent-add ... r/mcp - I built a tool that auto- ...
- 对用户的影响:这类外部讨论可能代表真实用户在安装、配置、升级或生产使用时遇到阻力;发布前不能只依赖官方 README。
- 建议检查:Pack Agent 需要打开来源链接,确认问题是否仍然存在,并把验证结论写入说明书和边界卡。
- 证据:social_signal:reddit | ssig_6d54ef81557a451081be71b052d0e31b | https://www.reddit.com/r/ClaudeAI/comments/1sdrk6k/i_built_a_cli_that_installs_mcp_skills_prompts/ | I built a CLI that installs MCP, skills, prompts, commands and sub ...
2. 配置坑 · 可能修改宿主 AI 配置
- 严重度:medium
- 证据强度:source_linked
- 发现:项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主,或安装命令涉及用户配置目录。
- 对用户的影响:安装可能改变本机 AI 工具行为,用户需要知道写入位置和回滚方法。
- 建议检查:列出会写入的配置文件、目录和卸载/回滚步骤。
- 防护动作:涉及宿主配置目录时必须给回滚路径,不能只给安装命令。
- 证据:capability.host_targets | github_repo:1240228986 | https://github.com/BrightSiteHQ/skills | host_targets=mcp_host, claude, claude_code, cursor, chatgpt
3. 能力坑 · 社区讨论暴露的待验证问题:GitHub Coding Agent Alternatives? : r/ClaudeAI - Reddit
- 严重度:medium
- 证据强度:source_linked
- 发现:GitHub Coding Agent Alternatives? : r/ClaudeAI - Reddit 24 Jun 2025 · I built a workflow tool for running multiple or custom agents for coding. ... I maintain an open-source library of 181 agent skills. I ...
- 对用户的影响:这类外部讨论可能代表真实用户在安装、配置、升级或生产使用时遇到阻力;发布前不能只依赖官方 README。
- 建议检查:Pack Agent 需要打开来源链接,确认问题是否仍然存在,并把验证结论写入说明书和边界卡。
- 证据:social_signal:reddit | ssig_8721fba6b9124b6c808eacc107d6dc1d | https://www.reddit.com/r/ClaudeAI/comments/1ljf9kn/github_coding_agent_alternatives/ | GitHub Coding Agent Alternatives? : r/ClaudeAI - Reddit
4. 能力坑 · 社区讨论暴露的待验证问题:I built Muninn, an open-source proxy for AI coding agents like Claude ...
- 严重度:medium
- 证据强度:source_linked
- 发现:I built Muninn, an open-source proxy for AI coding agents like Claude ... 12 Jan 2026 · We built an open-source coding agent CLI that can be run locally ... Turn 10,000 API endpoints into one CLI tool instead of MCP, Skills and tools ...
- 对用户的影响:这类外部讨论可能代表真实用户在安装、配置、升级或生产使用时遇到阻力;发布前不能只依赖官方 README。
- 建议检查:Pack Agent 需要打开来源链接,确认问题是否仍然存在,并把验证结论写入说明书和边界卡。
- 证据:social_signal:reddit | ssig_6102ff6da0284536abb5e26f2533abed | https://www.reddit.com/r/LocalLLaMA/comments/1qai4ul/i_built_muninn_an_opensource_proxy_for_ai_coding/ | I built Muninn, an open-source proxy for AI coding agents like Claude ...
5. 能力坑 · 社区讨论暴露的待验证问题:OSS alternatives to Claude Code as an agent foundation? : r/LocalLLaMA
- 严重度:medium
- 证据强度:source_linked
- 发现:OSS alternatives to Claude Code as an agent foundation? : r/LocalLLaMA 4 Dec 2025 · - Tool/MCP & domain-knowledge/skills integration that actually works reliably - ... https://github.com/ovh/shai Open source and you can add ...
- 对用户的影响:这类外部讨论可能代表真实用户在安装、配置、升级或生产使用时遇到阻力;发布前不能只依赖官方 README。
- 建议检查:Pack Agent 需要打开来源链接,确认问题是否仍然存在,并把验证结论写入说明书和边界卡。
- 证据:social_signal:reddit | ssig_b9197826c5ca4b98befca959e370dc3d | https://www.reddit.com/r/LocalLLaMA/comments/1peern1/oss_alternatives_to_claude_code_as_an_agent/ | OSS alternatives to Claude Code as an agent foundation? : r/LocalLLaMA
6. 能力坑 · 能力判断依赖假设
- 严重度:medium
- 证据强度:source_linked
- 发现:README/documentation is current enough for a first validation pass.
- 对用户的影响:假设不成立时,用户拿不到承诺的能力。
- 建议检查:将假设转成下游验证清单。
- 防护动作:假设必须转成验证项;没有验证结果前不能写成事实。
- 证据:capability.assumptions | github_repo:1240228986 | https://github.com/BrightSiteHQ/skills | README/documentation is current enough for a first validation pass.
7. 运行坑 · 社区讨论暴露的待验证问题:you need somewhere between 1-10 Claude skills depending on what ...
- 严重度:medium
- 证据强度:source_linked
- 发现:you need somewhere between 1-10 Claude skills depending on what ... 20 Mar 2026 · https://github.com/haris-musa/excel-mcp-server ... Claude Inspector — See hidden Claude Code prompt mechanics https://github.com/kangraemin/claude ...
- 对用户的影响:这类外部讨论可能代表真实用户在安装、配置、升级或生产使用时遇到阻力;发布前不能只依赖官方 README。
- 建议检查:Pack Agent 需要打开来源链接,确认问题是否仍然存在,并把验证结论写入说明书和边界卡。
- 证据:social_signal:x | ssig_504e57203f64433a83bf7ec96631f94c | https://x.com/Hesamation/status/2035136966719582695 | you need somewhere between 1-10 Claude skills depending on what ...
8. 维护坑 · 维护活跃度未知
- 严重度:medium
- 证据强度:source_linked
- 发现:未记录 last_activity_observed。
- 对用户的影响:新项目、停更项目和活跃项目会被混在一起,推荐信任度下降。
- 建议检查:补 GitHub 最近 commit、release、issue/PR 响应信号。
- 防护动作:维护活跃度未知时,推荐强度不能标为高信任。
- 证据:evidence.maintainer_signals | github_repo:1240228986 | https://github.com/BrightSiteHQ/skills | last_activity_observed missing
9. 安全/权限坑 · 下游验证发现风险项
- 严重度:medium
- 证据强度:source_linked
- 发现:no_demo
- 对用户的影响:下游已经要求复核,不能在页面中弱化。
- 建议检查:进入安全/权限治理复核队列。
- 防护动作:下游风险存在时必须保持 review/recommendation 降级。
- 证据:downstream_validation.risk_items | github_repo:1240228986 | https://github.com/BrightSiteHQ/skills | no_demo; severity=medium
10. 安全/权限坑 · 存在评分风险
- 严重度:medium
- 证据强度:source_linked
- 发现:no_demo
- 对用户的影响:风险会影响是否适合普通用户安装。
- 建议检查:把风险写入边界卡,并确认是否需要人工复核。
- 防护动作:评分风险必须进入边界卡,不能只作为内部分数。
- 证据:risks.scoring_risks | github_repo:1240228986 | https://github.com/BrightSiteHQ/skills | no_demo; severity=medium
11. 维护坑 · issue/PR 响应质量未知
- 严重度:low
- 证据强度:source_linked
- 发现:issue_or_pr_quality=unknown。
- 对用户的影响:用户无法判断遇到问题后是否有人维护。
- 建议检查:抽样最近 issue/PR,判断是否长期无人处理。
- 防护动作:issue/PR 响应未知时,必须提示维护风险。
- 证据:evidence.maintainer_signals | github_repo:1240228986 | https://github.com/BrightSiteHQ/skills | issue_or_pr_quality=unknown
12. 维护坑 · 发布节奏不明确
- 严重度:low
- 证据强度:source_linked
- 发现:release_recency=unknown。
- 对用户的影响:安装命令和文档可能落后于代码,用户踩坑概率升高。
- 建议检查:确认最近 release/tag 和 README 安装命令是否一致。
- 防护动作:发布节奏未知或过期时,安装说明必须标注可能漂移。
- 证据:evidence.maintainer_signals | github_repo:1240228986 | https://github.com/BrightSiteHQ/skills | release_recency=unknown
来源:Doramagic 发现、验证与编译记录