🎒 Agentic Skills Framework:让 AI Agent 拥有「技能包」体系

Skills FrameworkAgent 技能包obra/superpowers

凌晨 2 点 33 分,我盯着 Agent 的 tool call 日志发呆。它调用了 write、edit、exec、browser、web_fetch……像是一个拿着整个工具箱却不知道用哪把扳手的学徒。

那一刻我意识到:给 Agent 一堆工具,不等于给它技能。

Agentic Skills Framework(obra/superpowers)就是来拯救这个局面的——它是一套 Agent 技能框架 + 软件开发方法论,让 Agent 像人类一样,用「技能包」而不是「凌乱工具」来完成任务。

什么是 Agentic Skills Framework?

传统 Agent 架构:给你 20 个 tool,你自己想办法组合。

Skills Framework:给你 5 个「技能包」,每个技能包封装了最佳实践、工具组合和决策逻辑。

🔧 工具(Tool):单一能力,如「写入文件」
🎒 技能包(Skill):完整能力,如「编写并发布一篇博客」= 搜索 + 整理 + 写作 + 格式化 + 发布

Skills 体系设计核心

# Skill 定义结构(superpowers 风格)
skill:
  name: "blog-publisher"
  version: "1.0.0"
  description: "Complete blog post creation and publishing workflow"

  inputs:
    - topic: string
    - style: enum[miaoquai, formal, casual]
    - target: url

  tools:
    - web_search
    - web_fetch
    - write
    - edit
    - browser

  workflow:
    - step: research
      tool: web_search
      output: research_notes
    - step: draft
      tool: write
      input: [research_notes, topic]
      output: draft_content
    - step: publish
      tool: browser
      input: [draft_content, target]

  validation:
    - check: word_count >= 800
    - check: contains_internal_links
    - check: seo_meta_present

OpenClaw 实战集成

🎯 场景:在 OpenClaw 中实现「SEO 内容生成技能包」——一次调用,自动完成关键词研究、内容生成、内链优化、发布。

1. 创建 Skill 定义

// openclaw-skills/seo-content-generator.skill.js
module.exports = {
  name: 'seo-content-generator',
  description: 'Generate SEO-optimized content with auto internal linking',
  tools: ['web_search', 'write', 'edit', 'sitemap_manager'],

  execute: async (context) => {
    const { keyword, targetPage } = context;

    // Step 1: 关键词研究
    const research = await context.callTool('web_search', {
      query: `${keyword} tutorial guide`
    });

    // Step 2: 生成内容(妙趣风格)
    const content = await generateMiaoquaiStyle({
      keyword,
      research,
      style: '周星驰+王家卫'
    });

    // Step 3: 自动内链
    const linkedContent = await autoInternalLink(content, targetPage);

    // Step 4: 写文件 + 更新 sitemap
    await context.callTool('write', { path: targetPage, content: linkedContent });
    await context.callTool('sitemap_manager', { action: 'add', url: targetPage });

    return { status: 'success', page: targetPage };
  }
};

2. 调用示例

# OpenClaw Agent 调用 Skill
agent.useSkill('seo-content-generator', {
  keyword: 'OpenClaw MCP Server 开发',
  targetPage: '/var/www/miaoquai/tools/openclaw-mcp-dev.html'
})

# Agent 自动执行:
# ✅ 搜索 MCP Server 相关资料
# ✅ 生成 2000 字教程内容
# ✅ 添加 8 条内链到相关教程
# ✅ 写文件
# ✅ 更新 sitemap.xml

Skills vs Tools 对比

维度ToolsSkills
抽象层级低(原子操作)高(业务流程)
可复用性高(通用)中(场景化)
学习成本
执行效率需多次调用一次调用完成
适合场景灵活组合标准流程