[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M77TY1SPBKAJ3Z53VHPFBPAP":3,"skill-same:01M77TY1SPBKAJ3Z53VHPFBPAP":49},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":31,"ownerHtmlUrl":32,"ownerBlogUrl":6,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M77TY1SPBKAJ3Z53VHPFBPAP","skill-composer",null,"编排多个OpenClaw技能成自动化工作流，一次命令完成复杂任务。","Lord1Egypt\u002Fawesome-skill-forge","Lord1Egypt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F99746359?v=4","01M7592YDNT0XK9WJ0T2MQVPDN","Mohamed Mounir Ali AL Keshita","01M75GRFNHC8VZNWEB8DKDE433",3,"MIT","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fs\u002Fskill-composer\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: skill-composer\ndescription: 编排多个OpenClaw技能成自动化工作流，一次命令完成复杂任务。\nhomepage: https:\u002F\u002Fgithub.com\u002Futopiabenben\u002Fai-skills\nversion: 1.0.0\n# 首次发布时间：2026-03-16\n# 作者：小叮当（智脑）\n# 许可证：MIT\n---\n\n# Skill Composer - 技能组合器\n\n把多个OpenClaw技能串联成自动化工作流，一个命令完成多步操作！\n\n## 为什么需要？\n\n单个技能只能解决一步问题。真实场景往往需要多步：\n- **视频处理**：整理 → 提取字幕 → 发布到公众号\n- **内容创作**：搜索素材 → 总结 → 多平台裁剪 → 发布\n- **数据流程**：下载数据 → 分析 → 生成图表 → 插入报告\n\nSkill Composer 让你用 YAML 定义工作流，一键执行！\n\n## 快速开始\n\n### 1. 创建工作流文件\n\n创建 `workflow.yaml`：\n\n```yaml\nname: \"示例：视频处理流程\"\nsteps:\n  - name: \"整理视频\"\n    skill: video-organizer\n    args:\n      - --input\n      - \u002Fpath\u002Fto\u002Fvideos\n      - --output\n      - \u002Ftmp\u002Forganized\n    output: organized\n\n  - name: \"生成字幕\"\n    skill: auto-subtitle\n    args:\n      - --input\n      - \"{{organized}}\"\n      - --output\n      - \u002Ftmp\u002Fsubtitles\n    output: subtitles\n\n  - name: \"发布到公众号\"\n    skill: social-publisher\n    args:\n      - --input\n      - \"{{subtitles}}\"\n      - --platform\n      - wechat\n```\n\n### 2. 运行工作流\n\n```bash\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py run workflow.yaml\n```\n\n### 3. 预览（不实际执行）\n\n```bash\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py preview workflow.yaml\n```\n\n## 工作流语法\n\n### 结构\n- `name`: 工作流名称（可选）\n- `steps`: 步骤列表\n- 每个 step 包含：\n  - `name`: 步骤名称（可选，用于日志）\n  - `skill`: 要调用的技能名称\n  - `args`: 参数列表（字符串数组）\n  - `output`: 输出引用名（用于后续步骤引用）\n  - `if`: 条件表达式（可选）\n\n### 变量插值\n使用 `{{变量名}}` 引用前一步的输出目录\u002F文件。\n\n示例：\n```yaml\nargs:\n  - --input\n  - \"{{organized}}\"  # 引用名为 'organized' 的前一步输出\n```\n\n### 条件执行\n```yaml\n- name: \"只在有错误时执行\"\n  skill: error-notifier\n  if: \"{{previous_step.status}} == 'failed'\"\n```\n\n## 命令行接口\n\n```bash\n# 运行工作流\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py run \u003Cworkflow.yaml>\n\n# 预览\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py preview \u003Cworkflow.yaml>\n\n# 验证语法\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py validate \u003Cworkflow.yaml>\n\n# 列出可用示例\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py examples\n```\n\n## 示例工作流\n\n### 示例1：内容创作流程\n```yaml\nname: \"公众号文章创作\"\nsteps:\n  - skill: content-researcher\n    args: [\"--topic\", \"AI技能开发\", \"--count\", \"10\"]\n    output: research\n\n  - skill: ai-content-tailor\n    args: [\"--input\", \"{{research}}\", \"--platform\", \"wechat\"]\n    output: article\n\n  - skill: wechat-formatter\n    args: [\"--input\", \"{{article}}\", \"--output\", \".\u002Ffinal.md\"]\n```\n\n### 示例2：数据仪表板生成\n```yaml\nname: \"每周股票报告\"\nsteps:\n  - skill: tushare-finance\n    args: [\"--get\", \"daily\", \"--code\", \"000001.SZ\", \"--start\", \"2025-01-01\"]\n    output: raw_data\n\n  - skill: data-chart-tool\n    args: [\"--input\", \"{{raw_data}}\", \"--type\", \"line\", \"--output\", \"chart.png\"]\n    output: chart\n\n  - skill: social-publisher\n    args: [\"--input\", \"{{chart}}\", \"--template\", \"weekly-report\"]\n```\n\n## 错误处理\n\n- 默认：任何步骤失败则停止整个工作流\n- 可配置：`continue-on-error: true` 在 workflow 级别\n- 每个步骤状态可用：`{{step_name.status}}`（success\u002Ffailed）\n\n## 限制\n\n- 当前仅支持串行步骤（下一步依赖前一步完成）\n- 不支持并行执行（未来版本）\n- 步骤间传递的是文件路径，不是内容\n\n## 与现有技能配合\n\nSkill Composer 不重复造轮子，它是指挥官：\n- 复用所有已安装的技能\n- 专注于步骤编排\n- 让单个技能的价值加倍\n\n**示例技能组合**：\n- `video-organizer` + `auto-subtitle` + `social-publisher` → 完整视频发布流水线\n- `content-researcher` + `ai-content-tailor` + `wechat-formatter` → 内容生产流水线\n- `data-chart-tool` + `social-publisher` → 数据报告自动化\n\n## 技术实现\n\n- Python 3 + PyYAML\n- 调用 OpenClaw exec 工具运行每个技能\n- 自动处理依赖顺序\n- 详细日志输出\n\n## 开发状态\n\n- [ ] 核心 YAML 解析\n- [ ] 步骤顺序执行\n- [ ] 变量插值 {{output}}\n- [ ] 错误处理和状态跟踪\n- [ ] 示例工作流\n- [ ] 单元测试\n- [ ] skill-creator 验证\n- [ ] clawhub 发布\n\n## 待办\n\n未来增强：\n- [ ] 并行步骤支持（无依赖的步骤可以同时执行）\n- [ ] 可视化工作流编辑器\n- [ ] 工作flow模板库\n- [ ] 步骤结果缓存（避免重复执行）\n- [ ] 更好的错误恢复机制\n\n---\n\n## 📞 支持\n\n- GitHub Issues: https:\u002F\u002Fgithub.com\u002Futopiabenben\u002Fai-skills\u002Fissues\n- 作品集网站: https:\u002F\u002Futopiabenben.github.io\u002Fai-skills\u002F","# Skill Composer - 技能组合器\n\n把多个OpenClaw技能串联成自动化工作流，一个命令完成多步操作！\n\n## 为什么需要？\n\n单个技能只能解决一步问题。真实场景往往需要多步：\n- **视频处理**：整理 → 提取字幕 → 发布到公众号\n- **内容创作**：搜索素材 → 总结 → 多平台裁剪 → 发布\n- **数据流程**：下载数据 → 分析 → 生成图表 → 插入报告\n\nSkill Composer 让你用 YAML 定义工作流，一键执行！\n\n## 快速开始\n\n### 1. 创建工作流文件\n\n创建 `workflow.yaml`：\n\n```yaml\nname: \"示例：视频处理流程\"\nsteps:\n  - name: \"整理视频\"\n    skill: video-organizer\n    args:\n      - --input\n      - \u002Fpath\u002Fto\u002Fvideos\n      - --output\n      - \u002Ftmp\u002Forganized\n    output: organized\n\n  - name: \"生成字幕\"\n    skill: auto-subtitle\n    args:\n      - --input\n      - \"{{organized}}\"\n      - --output\n      - \u002Ftmp\u002Fsubtitles\n    output: subtitles\n\n  - name: \"发布到公众号\"\n    skill: social-publisher\n    args:\n      - --input\n      - \"{{subtitles}}\"\n      - --platform\n      - wechat\n```\n\n### 2. 运行工作流\n\n```bash\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py run workflow.yaml\n```\n\n### 3. 预览（不实际执行）\n\n```bash\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py preview workflow.yaml\n```\n\n## 工作流语法\n\n### 结构\n- `name`: 工作流名称（可选）\n- `steps`: 步骤列表\n- 每个 step 包含：\n  - `name`: 步骤名称（可选，用于日志）\n  - `skill`: 要调用的技能名称\n  - `args`: 参数列表（字符串数组）\n  - `output`: 输出引用名（用于后续步骤引用）\n  - `if`: 条件表达式（可选）\n\n### 变量插值\n使用 `{{变量名}}` 引用前一步的输出目录\u002F文件。\n\n示例：\n```yaml\nargs:\n  - --input\n  - \"{{organized}}\"  # 引用名为 'organized' 的前一步输出\n```\n\n### 条件执行\n```yaml\n- name: \"只在有错误时执行\"\n  skill: error-notifier\n  if: \"{{previous_step.status}} == 'failed'\"\n```\n\n## 命令行接口\n\n```bash\n# 运行工作流\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py run \u003Cworkflow.yaml>\n\n# 预览\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py preview \u003Cworkflow.yaml>\n\n# 验证语法\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py validate \u003Cworkflow.yaml>\n\n# 列出可用示例\npython3 {baseDir}\u002Fscripts\u002Fcomposer.py examples\n```\n\n## 示例工作流\n\n### 示例1：内容创作流程\n```yaml\nname: \"公众号文章创作\"\nsteps:\n  - skill: content-researcher\n    args: [\"--topic\", \"AI技能开发\", \"--count\", \"10\"]\n    output: research\n\n  - skill: ai-content-tailor\n    args: [\"--input\", \"{{research}}\", \"--platform\", \"wechat\"]\n    output: article\n\n  - skill: wechat-formatter\n    args: [\"--input\", \"{{article}}\", \"--output\", \".\u002Ffinal.md\"]\n```\n\n### 示例2：数据仪表板生成\n```yaml\nname: \"每周股票报告\"\nsteps:\n  - skill: tushare-finance\n    args: [\"--get\", \"daily\", \"--code\", \"000001.SZ\", \"--start\", \"2025-01-01\"]\n    output: raw_data\n\n  - skill: data-chart-tool\n    args: [\"--input\", \"{{raw_data}}\", \"--type\", \"line\", \"--output\", \"chart.png\"]\n    output: chart\n\n  - skill: social-publisher\n    args: [\"--input\", \"{{chart}}\", \"--template\", \"weekly-report\"]\n```\n\n## 错误处理\n\n- 默认：任何步骤失败则停止整个工作流\n- 可配置：`continue-on-error: true` 在 workflow 级别\n- 每个步骤状态可用：`{{step_name.status}}`（success\u002Ffailed）\n\n## 限制\n\n- 当前仅支持串行步骤（下一步依赖前一步完成）\n- 不支持并行执行（未来版本）\n- 步骤间传递的是文件路径，不是内容\n\n## 与现有技能配合\n\nSkill Composer 不重复造轮子，它是指挥官：\n- 复用所有已安装的技能\n- 专注于步骤编排\n- 让单个技能的价值加倍\n\n**示例技能组合**：\n- `video-organizer` + `auto-subtitle` + `social-publisher` → 完整视频发布流水线\n- `content-researcher` + `ai-content-tailor` + `wechat-formatter` → 内容生产流水线\n- `data-chart-tool` + `social-publisher` → 数据报告自动化\n\n## 技术实现\n\n- Python 3 + PyYAML\n- 调用 OpenClaw exec 工具运行每个技能\n- 自动处理依赖顺序\n- 详细日志输出\n\n## 开发状态\n\n- [ ] 核心 YAML 解析\n- [ ] 步骤顺序执行\n- [ ] 变量插值 {{output}}\n- [ ] 错误处理和状态跟踪\n- [ ] 示例工作流\n- [ ] 单元测试\n- [ ] skill-creator 验证\n- [ ] clawhub 发布\n\n## 待办\n\n未来增强：\n- [ ] 并行步骤支持（无依赖的步骤可以同时执行）\n- [ ] 可视化工作流编辑器\n- [ ] 工作flow模板库\n- [ ] 步骤结果缓存（避免重复执行）\n- [ ] 更好的错误恢复机制\n\n---\n\n## 📞 支持\n\n- GitHub Issues: https:\u002F\u002Fgithub.com\u002Futopiabenben\u002Fai-skills\u002Fissues\n- 作品集网站: https:\u002F\u002Futopiabenben.github.io\u002Fai-skills\u002F",{"name":5,"version":24,"homepage":25,"description":7},"1.0.0","https:\u002F\u002Fgithub.com\u002Futopiabenben\u002Fai-skills","master","4aa004da461d820f4ea5499e58eb8d196cf99016","community\u002Fclawhub\u002Fs\u002Fskill-composer",0,"https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge","https:\u002F\u002Fskill-explorer-rho.vercel.app","https:\u002F\u002Fgithub.com\u002FLord1Egypt","Unbreakable. Unstoppable. Unmatched⚡.\r\n Speaker of machine tongues 🤖  | World-builder of decentralized dreams 🌐 | Defender of the digital realm🛡️.","2026-06-10 08:21:01",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add Lord1Egypt\u002Fawesome-skill-forge --skill skill-composer",{"tool":41,"command":42},"bunx","bunx skills add Lord1Egypt\u002Fawesome-skill-forge --skill skill-composer",{"tool":44,"command":45},"pnpm","pnpm dlx skills add Lord1Egypt\u002Fawesome-skill-forge --skill skill-composer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fs\u002Fskill-composer\u002FSKILL.md",true,[],[50,57,64,71,78,85],{"skillNo":51,"name":52,"nameZh":6,"description":53,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":54,"categories":55,"keywords":56,"publishedAt":19},"01M785WKJB99G3STR1NF9NRTJW","youtube-content","YouTube transcripts to summaries, threads, blogs.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fyoutube-content\u002FSKILL.md",[],[],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":19},"01M785WEFHB0G2S9YA6EPR3H0E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fxurl\u002FSKILL.md",[],[],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":19},"01M785W98EDN4EFJXJPMQEHCRC","touchdesigner-mcp","Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftouchdesigner-mcp\u002FSKILL.md",[],[],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":19},"01M785W5S9FP3QBH2V191E025P","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[],[],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":19},"01M785W2AS08NSSH9YATCV6FJB","teams-meeting-pipeline","Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fteams-meeting-pipeline\u002FSKILL.md",[],[],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":19},"01M785VXKW4T34BTP1SCHW1R7F","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",[],[]]