Skill 是如何产生的 — 基于一次会话的完整总结

Skill 是如何产生的 — 基于一次会话的完整总结

一、需求理解阶段

用户提出需求:"读取 https://openrouter.ai/apps 页面中的热点信息、应用排名,只要 Top10"。这是一个明确的、可重复的任务 — 每次执行都需要从同一页面提取相同结构的数据。这正是 Skill 的典型应用场景。

二、环境探索阶段

在实现需求之前,需要确认可用的工具链:

  1. 检查 Python 环境 — 发现系统只有 Python 3.8,browser-use 库不兼容
  2. 检查 Node.js — 系统默认 PATH 中没有 Node.js
  3. 发现关键路径 — 用户提供 C:\Users\xx\.trae-cn\binaries\node\versions\24.15.0,Node.js v24.15.0 可用
  4. 确认 MCP 工具.copilotcode/mcp.json 已配置 Playwright MCP 服务器,但需要正确的 Node.js 路径

关键决策:更新 MCP 配置,使用 cmd /c set PATH=...&& npx -y @playwright/mcp@0.0.38 --headless 启动 Playwright MCP 服务器。

三、数据提取阶段

使用 Playwright MCP 工具链完成数据获取:

  1. mcp--playwright--browser_navigate — 导航到目标页面
  2. mcp--playwright--browser_snapshot — 获取页面无障碍快照(比截图更适合数据提取)
  3. 从快照中解析出结构化数据:Global Ranking、Trending、Category Rankings
  4. mcp--playwright--browser_close — 关闭浏览器

四、Skill 创建阶段(6 步流程)

Step 1: 理解 Skill 的具体使用场景

基于实际操作经验,明确 Skill 需要支持:

  • 获取全球排名 Top 10
  • 识别趋势/热点应用
  • 提取分类排名
  • 分析 Token 使用量

Step 2: 规划可复用的 Skill 内容

分析哪些内容值得固化:

  • 页面结构参考references/page_structure.md(选择器、数据格式、页面区域说明)
  • 操作流程SKILL.md 中的步骤说明
  • 输出模板SKILL.md 中的格式化模板

不需要的内容:scripts(Playwright MCP 已提供)、assets(无输出资源)

Step 3: 初始化 Skill 目录

运行 init_skill.py 生成标准目录结构:

openrouter-apps-rankings/
├── SKILL.md
├── scripts/example.py      ← 删除(不需要)
├── references/api_reference.md  ← 替换为 page_structure.md
└── assets/example_asset.txt     ← 删除(不需要)

Step 4: 编辑 Skill 内容

  • 删除不需要的示例文件(scripts/assets/
  • 编写 SKILL.md:包含 frontmatter 元数据 + 4 步操作流程 + 输出模板 + 故障排除
  • 编写 references/page_structure.md:页面结构、选择器、Token 格式说明

踩坑记录

  • YAML frontmatter 中 description 含冒号需用引号包裹
  • Windows GBK 编码不支持 emoji 字符,需移除或使用纯 ASCII

Step 5: 打包 Skill

运行 package_skill.py,自动验证并打包为 .skill 文件(本质是 zip 格式):

  • 验证 YAML frontmatter 格式
  • 验证目录结构
  • 生成 openrouter-apps-rankings.skill

Step 6: 迭代(待后续使用验证)

五、Skill 的核心设计原则

原则 本次实践体现
简洁至上 SKILL.md 仅 92 行,只包含 Claude 不知道的关键信息
渐进式加载 元数据(description)始终在上下文中;SKILL.md 触发后加载;references 按需加载
适度自由度 操作步骤明确(低自由度),但输出格式允许调整(高自由度)
不重复造轮子 使用 Playwright MCP 而非自写脚本;不包含 Claude 已知的知识

六、最终产出

d:/trae/
├── openrouter-apps-rankings.skill          ← 可分发的 Skill 包
└── skills/openrouter-apps-rankings/
    ├── SKILL.md                            ← 核心指令文件
    └── references/
        └── page_structure.md               ← 页面结构参考

Skill 的本质是将一次成功的操作经验固化为可复用的流程指南,让未来的 Claude 实例无需重新探索即可高效完成相同任务。

posted @ 2026-04-30 16:09  liqing45  阅读(27)  评论(0)    收藏  举报