# Skills 详解

Skills 是 Claude Code SEO Assistant 的自动触发功能，会在适当的上下文中自动激活，提供实时的 SEO 建议。

---

## 🎯 Skills vs Commands

**Skills（自动）**
- ✅ 无需手动调用
- ✅ 上下文感知
- ✅ 实时建议
- ✅ 被动触发

**Commands（手动）**
- ✅ 主动调用
- ✅ 完整分析
- ✅ 详细报告
- ✅ 按需执行

**最佳实践：** 使用 Skills 进行日常优化，使用 Commands 执行深度分析。

---

## 📋 7 个自动 Skills

### 1. metadata-optimizer

**触发条件：**
- 打开或编辑包含 `metadata` 导出的文件
- 编辑 `layout.tsx` 或 `page.tsx`
- 修改 `<title>`, `<meta>` 标签

**自动功能：**
- 分析当前元数据
- 提供 Title/Description 优化建议
- 检查 OG 和 Twitter Cards 标签
- 生成改进建议

**示例场景：**
```typescript
// app/page.tsx
export const metadata = {
  title: '我的网站',  // ← 触发 metadata-optimizer
  description: '欢迎访问'
}

// 自动建议：
// ⚠️  Title 过短（建议 20-30 字符）
// ⚠️  Description 过短（建议 70-80 字符）
// ⚠️  缺少 OG 标签
```

**相关文件：** [skills/metadata-optimizer/SKILL.md](../skills/metadata-optimizer/SKILL.md)

---

### 2. seo-auditor

**触发条件：**
- 打开任何页面文件
- 扫描项目目录
- 检测到 Next.js 路由

**自动功能：**
- 快速 SEO 健康检查
- 识别缺失的元数据
- 检测基本的 SEO 问题
- 生成快速评分

**示例场景：**
```bash
# 打开任何页面文件
claude-code app/about/page.tsx

# 自动触发
✅ SEO 快速检查完成
📊 SEO 评分: 72/100
⚠️  缺少 Description
⚠️  标题长度不理想
```

**相关文件：** [skills/seo-auditor/SKILL.md](../skills/seo-auditor/SKILL.md)

---

### 3. structured-data

**触发条件：**
- 编辑或创建 JSON-LD 脚本
- 添加 `<script type="application/ld+json">`
- 修改结构化数据文件

**自动功能：**
- 验证 JSON-LD 语法
- 检查 Schema.org 必需字段
- 提供结构化数据优化建议
- 生成 Google 测试工具链接

**示例场景：**
```javascript
// 添加结构化数据
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",  // ← 触发 structured-data skill
  "headline": "标题"
}
</script>

// 自动建议：
// ⚠️  缺少必需字段: author, datePublished
// ⚠️  建议添加: image, publisher
```

**相关文件：** [skills/structured-data/SKILL.md](../skills/structured-data/SKILL.md)

---

### 4. content-optimizer

**触发条件：**
- 编辑内容文件（.md, .tsx）
- 修改文章或博客内容
- 添加或修改标题

**自动功能：**
- 分析标题结构（H1-H6）
- 计算关键词密度
- 评估可读性
- 识别内链机会

**示例场景：**
```markdown
# 编辑博客文章
## SEO 优化指南  ← 触发 content-optimizer

### 什么是 SEO
SEO 是...  ← 自动分析内容质量

# 自动分析：
# ✅ 标题层级正确
# ⚠️  关键词密度: 0.5%（建议 2-4%）
# ⚠️  缺少内链到相关文章
```

**相关文件：** [skills/content-optimizer/SKILL.md](../skills/content-optimizer/SKILL.md)

---

### 5. guest-blogger

**触发条件：**
- 提及客座博客、guest post
- 讨论外链建设
- 搜索投稿机会

**自动功能：**
- 搜索客座博客机会
- 生成投稿邮件模板
- 提供高级搜索语法
- 评估目标网站质量

**示例场景：**
```bash
# 在对话中提及
"我想找一些技术博客的客座博客机会"

# 自动触发
✅ 找到 15 个客座博客机会
📧 已生成投稿邮件模板
🔍 搜索语法: inurl:write-for-us "SEO"
```

**相关文件：** [skills/guest-blogger/SKILL.md](../skills/guest-blogger/SKILL.md)

---

### 6. off-page-seo

**触发条件：**
- 提及外链、backlinks
- 讨论竞争对手
- 分析 SEO 策略

**自动功能：**
- 竞争对手外链分析
- 断链机会识别
- 摩天大楼技术建议
- 外链质量评估

**示例场景：**
```bash
# 提及竞争对手
"我的竞争对手 example.com 有很多外链"

# 自动触发
✅ 分析竞争对手外链
📊 发现 23 个高质量外链来源
💡 建议: 5 个可复用的外链机会
```

**相关文件：** [skills/off-page-seo/SKILL.md](../skills/off-page-seo/SKILL.md)

---

### 7. local-seo

**触发条件：**
- 检测到地址、电话号码
- 编辑本地商家信息
- 提及 Google Business Profile

**自动功能：**
- NAP 一致性检查
- 本地关键词建议
- GBP 优化建议
- LocalBusiness Schema 生成

**示例场景：**
```typescript
// 检测到本地商家信息
const address = "123 Main Street, San Francisco, CA";
const phone = "+1 (415) 555-0123";

// 自动触发 local-seo
✅ 检测到本地商家信息
📍 NAP 检查: 一致
💡 建议添加 LocalBusiness Schema
🔍 本地关键词: "plumber san francisco"
```

**相关文件：** [skills/local-seo/SKILL.md](../skills/local-seo/SKILL.md)

---

## 🔧 Skills 配置

### 自动触发控制

可以在项目配置中控制 Skills 的自动触发：

```json
// .claude/settings.local.json
{
  "seo": {
    "skills": {
      "metadata-optimizer": true,
      "seo-auditor": true,
      "structured-data": true,
      "content-optimizer": false,  // 禁用
      "guest-blogger": true,
      "off-page-seo": true,
      "local-seo": true
    }
  }
}
```

### 触发频率控制

避免 Skills 过于频繁触发：

```json
{
  "seo": {
    "skills": {
      "throttle": {
        "minInterval": 30000,  // 30 秒
        "maxTriggersPerSession": 10
      }
    }
  }
}
```

---

## 💡 使用技巧

### 1. 利用 Skills 提高效率

**开发时：**
- 让 Skills 自动提供即时反馈
- 不需要手动运行命令
- 边开发边优化

**示例工作流：**
```bash
# 1. 打开页面文件
claude-code app/blog/post-1.tsx

# 2. Skills 自动触发
# ✅ metadata-optimizer: Title 建议
# ✅ content-optimizer: 关键词密度

# 3. 根据建议修改
# 无需手动运行命令
```

### 2. Skills + Commands 组合

使用 Skills 发现问题，用 Commands 深度分析：

```bash
# Skills 发现问题
⚠️  SEO 评分较低

# 深度分析
/seo-audit          # 完整审计
/ee-audit          # 权威性检查
/content-strategy   # 内容策略
```

### 3. 抑制不必要的 Skills

如果某些 Skills 不需要：

```bash
# 临时禁用特定 skill
claude-code --disable-skill content-optimizer
```

---

## 🎓 Skills vs Agents 对比

| 特性 | Skills | Agents |
|-----|--------|--------|
| 触发方式 | 自动 | 手动启动 |
| 分析深度 | 快速检查 | 深度分析 |
| 适用场景 | 日常开发 | 复杂任务 |
| 响应速度 | 即时 | 需要时间 |
| 上下文 | 单文件/局部 | 全局/多文件 |

**何时使用 Skills：**
- ✅ 日常开发工作
- ✅ 快速反馈
- ✅ 局部优化

**何时使用 Agents：**
- ✅ 复杂的多步骤分析
- ✅ 全局 SEO 策略
- ✅ 跨文件的深度审计

---

## 📚 相关资源

### Skills 文件位置

```
skills/
├── metadata-optimizer/
│   └── SKILL.md
├── seo-auditor/
│   └── SKILL.md
├── structured-data/
│   └── SKILL.md
├── content-optimizer/
│   └── SKILL.md
├── guest-blogger/
│   └── SKILL.md
├── off-page-seo/
│   └── SKILL.md
└── local-seo/
    └── SKILL.md
```

### 自定义 Skills

你可以创建自定义 Skills：

```bash
# 创建自定义 skill
mkdir -p skills/my-skill
echo "# My Custom Skill" > skills/my-skill/SKILL.md
```

---

**相关文档：**
- [命令参考](commands.md) - 手动命令详解
- [快速开始](getting-started.md) - 使用方式说明
- [功能特性](features.md) - 所有功能介绍

---

**需要帮助？** 访问 [GitHub Issues](https://github.com/huifer/claude-code-seo/issues)
