| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #!/usr/bin/env python3
- """批量生成应用层子技能(ESM 结构,含 references 指向 VOC 包)"""
- import os
- BASE = '/opt/data/projects/fmode-skills/skills'
- skills = [
- {
- "dir": "fmode-voc-intelligence",
- "slug": "fmode-skill-fmode-voc-intelligence",
- "version": "0.3.38",
- "title": "VOC 用户经营洞察",
- "summary": "小红书/抖音/视频号 VOC 情报:趋势情报、问题池、单点深挖、竞品图谱、7天内容计划、口播脚本、成本测算、用量账单。",
- "triggers": "VOC、小红书趋势、抖音趋势、视频号、问题池、竞品、内容计划、口播脚本、用户声音、经营洞察、趋势情报",
- "sub_skills": ["xiaohongshu-trend-intelligence", "douyin-trend-intelligence", "voc-issue-pool", "voc-problem-deep-dive", "voc-competitor-map", "voc-content-plan", "voc-speaking-script", "voc-cost-controller", "voc-api-catalog", "voc-business-workflow", "fmode-image-analysis"],
- "src": "npm @vocmarket/voc-skill 0.3.38",
- },
- {
- "dir": "fmode-tihao",
- "slug": "fmode-skill-fmode-tihao",
- "version": "1.0.19",
- "title": "提号 SOP 达人/博主研究",
- "summary": "达人/博主候选研究:读取brief、调用VOC电商代理、豆包视觉分析、达人排名、导出商务可用名单。",
- "triggers": "提号、达人、博主、创作者研究、brief、商务名单、红人、kol",
- "sub_skills": ["tihao-creator-sourcing"],
- "src": "npm @vocmarket/tihao 1.0.19",
- },
- {
- "dir": "fmode-pay",
- "slug": "fmode-skill-fmode-pay",
- "version": "0.1.0",
- "title": "微信特约商户自动化进件",
- "summary": "微信服务商特约商户进件:资料收集 → APIv3 签名 → 云函数提交 → 二维码签约 → 归档。",
- "triggers": "微信商户、进件、特约商户、fmode-pay、商户开通、支付开通",
- "sub_skills": ["wxpay-merchant-apply", "wxpay-merchant-status", "wxpay-merchant-upload", "wxpay-merchant-archive"],
- "src": "本次 fmode-pay 开发",
- },
- {
- "dir": "fmode-courseware",
- "slug": "fmode-skill-fmode-courseware",
- "version": "0.1.0",
- "title": "课程课件生产标准",
- "summary": "课件/报告 HTML 生产标准:委派 FmodeCode、基准学习、素材归档、证据链、分层验收。",
- "triggers": "课件、课程、导入课、课纲、验收、skill-present",
- "sub_skills": ["skill-present-course-production", "html-course-delivery", "html-report-delivery"],
- "src": "skill-present 抽取",
- },
- {
- "dir": "fmode-report-publish",
- "slug": "fmode-skill-fmode-report-publish",
- "version": "0.1.0",
- "title": "HTML 报告制作发布",
- "summary": "网页报告交付:手机侧边栏 + 区块化 + 数据优先,交付到 S3 公开 URL。",
- "triggers": "出报告、HTML报告、可视化报告、S3、报告交付、发布链接",
- "sub_skills": ["html-report-delivery", "fmode-storage"],
- "src": "Hermes html-report-delivery 抽取",
- },
- {
- "dir": "fmode-product-lab",
- "slug": "fmode-skill-fmode-product-lab",
- "version": "0.2.0",
- "title": "新品研发实验室",
- "summary": "新品研发:VOC 采集 + KANO + 市场分析 + 竞争 + 定位 + 错位竞争全流程。",
- "triggers": "新品研发、产品开发、健康快消、VOC、KANO、市场分析、定位、竞品",
- "sub_skills": ["product-lab-workflow"],
- "src": "npm fmode-product-lab 0.2.0",
- },
- ]
- for s in skills:
- d = os.path.join(BASE, s['dir'])
- os.makedirs(os.path.join(d, 'scripts'), exist_ok=True)
- os.makedirs(os.path.join(d, 'references'), exist_ok=True)
- sub_lines = "\n".join(f"- `{sub}`" for sub in s['sub_skills'])
- ref_lines = f"- 原始来源: {s['src']}"
- skill_md = f"""---
- slug: {s['slug']}
- displayName: {s['dir']}
- version: {s['version']}
- name: {s['dir']}
- description: {s['summary']} 触发词:{s['triggers']}
- tags: [FmodeAgent, FmodeCode, 应用级, {s['dir'].replace('fmode-','')}]
- platform: Both
- level: 应用级
- category: 平台基础设施
- icon: 🏢
- license: MPL-2.0
- author: Fmode (未来飞马)
- ---
- # {s['title']}
- ## 触发词
- {s['triggers']}
- ## 能力分解
- {s['sub_skills']}
- {ref_lines}
- ## 使用规则
- - 用户只需要自然语言描述业务场景,不要强迫了解参数
- - 未明确要求真实采集前,先使用演示样例(sample);明确 live 时再检查凭证/余额
- - 首轮输出采用"初步判断、机会假设、待校准"口径,附证据
- ## License
- MPL-2.0 © 2026 Fmode (未来飞马)
- """
- with open(os.path.join(d, 'SKILL.md'), 'w', encoding='utf-8') as f:
- f.write(skill_md)
- with open(os.path.join(d, 'references', 'source.md'), 'w', encoding='utf-8') as f:
- f.write(f"# {s['title']} 参考\n\n{ref_lines}\n")
- print(f"✅ 生成 {s['dir']}")
- print("🎉 应用层子技能生成完毕")
|