用户提出需求:"读取 https://openrouter.ai/apps 页面中的热点信息、应用排名,只要 Top10"。这是一个明确的、可重复的任务 — 每次执行都需要从同一页面提取相同结构的数据。这正是 Skill 的典型应用场景。
在实现需求之前,需要确认可用的工具链:
- 检查 Python 环境 — 发现系统只有 Python 3.8,
browser-use库不兼容 - 检查 Node.js — 系统默认 PATH 中没有 Node.js
- 发现关键路径 — 用户提供
C:Usersxx.trae-cnbinaries odeversions24.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— 关闭浏览器
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.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 实例无需重新探索即可高效完成相同任务。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/283342.html