Skill 是如何产生的 — 基于一次会话的完整总结
Skill 是如何产生的 — 基于一次会话的完整总结
一、需求理解阶段
用户提出需求:"读取 https://openrouter.ai/apps 页面中的热点信息、应用排名,只要 Top10"。这是一个明确的、可重复的任务 — 每次执行都需要从同一页面提取相同结构的数据。这正是 Skill 的典型应用场景。
二、环境探索阶段
在实现需求之前,需要确认可用的工具链:
- 检查 Python 环境 — 发现系统只有 Python 3.8,
browser-use库不兼容 - 检查 Node.js — 系统默认 PATH 中没有 Node.js
- 发现关键路径 — 用户提供
C:\Users\xx\.trae-cn\binaries\node\versions\24.15.0,Node.js v24.15.0 可用 - 确认 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 工具链完成数据获取:
mcp--playwright--browser_navigate— 导航到目标页面mcp--playwright--browser_snapshot— 获取页面无障碍快照(比截图更适合数据提取)- 从快照中解析出结构化数据:Global Ranking、Trending、Category Rankings
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 实例无需重新探索即可高效完成相同任务。

浙公网安备 33010602011771号