{
  "skills": [
    {
      "name": "publish-skill",
      "directory": "publish-skill",
      "description": "通过 SSH 将本地 Codex Skill 或项目级 skills/index.json 同步到一个或多个 Skills Hub，并保持 index.json 的 directory、files 与服务器目录一致。用户要求部署、上传、同步、发布或贡献本地 Skill 时使用。",
      "files": [
        "SKILL.md",
        "agents/openai.yaml"
      ]
    },
    {
      "name": "swing-ccms-report-work",
      "directory": "swing-ccms-report-work",
      "description": "使用 swing-cli report-work 进行 CCMS 自动报工。当用户要求报工、填报工时、报一下昨天/今天/某天的工时、查询或申报工时记录、生成报工提案、提交或删除工时记录时使用。",
      "files": [
        "SKILL.md"
      ]
    },
    {
      "name": "swing-cli-action-gen",
      "directory": "swing-cli-action-gen",
      "description": "Swing System 按钮权限 Action 创建。从一个或多个 Vue 页面提取 v-permission，按 PAGE+权限标识去重，从按钮 tip/文本提取中文 displayName，关联 PAGE 路由并预览完整 batch-add payload，统一确认后批量创建。",
      "files": [
        "SKILL.md"
      ]
    },
    {
      "name": "swing-cli-menu-gen",
      "directory": "swing-cli-menu-gen",
      "description": "Swing System 菜单和页面路由创建、更新与一致性校验。读取前端页面的 route-manifest.json，对照 views 目录和平台现有路由，通过整体树、完整参数表和 swing-cli route add/update 命令预览全部 MENU/PAGE 变更，统一确认后同步。",
      "files": [
        "SKILL.md"
      ]
    },
    {
      "name": "swing-cli-role-assign",
      "directory": "swing-cli-role-assign",
      "description": "Swing System 角色权限分配。查询平台角色，将菜单/页面路由和按钮 action 权限分配给指定角色。",
      "files": [
        "SKILL.md"
      ]
    },
    {
      "name": "swing-sdk-vue",
      "directory": "swing-sdk-vue",
      "description": "Swing SDK Web Vue3，基于 Vue 3 + TypeScript 的 Monorepo 前端开发工具包，包含 Swing 平台前端开发所需的核心、系统、工作流、数据服务、通知、对象存储、物联网和 Widget 组件能力。",
      "files": [
        "SKILL.md",
        "references/REFERENCE.md"
      ]
    },
    {
      "name": "swing-wechat-env-config",
      "directory": "swing-wechat-env-config",
      "description": "微信公众号工作流的自动环境与草稿推送条件预检。由 swing-wechat-workflow 完成极速/高质量模式选择后自动运行；首次需要生图时按用户选择检查 swing-wechat 内置生图或当前 Agent ImgGen，仅为内置生图按需补装缺失的 Baoyu Skill，同时检查 Python/Node、图片预览展示、附件读取、微信公众号凭据、多账号、IP 白名单和草稿连接方式；凭据缺失时调用 swing-wechat-secret-config 安全配置。不得在聊天中索取或输出密钥。",
      "files": [
        "SKILL.md"
      ]
    },
    {
      "name": "swing-wechat-html",
      "directory": "swing-wechat-html",
      "description": "将 Markdown 文章转换为微信公众号兼容的内联样式 HTML，抟微科技 Tiny Wings 品牌排版风格。替代秀米(xiumi.us)手动排版。支持技术干货、行业洞察、企业文化、营销推广等多种主题配色。包含文章批量抓取和排版风格分析能力，可从已发布文章中提取真实配色并生成排版模板。当需要将文章内容排版为微信公众号格式、生成微信兼容 HTML、进行公众号排版、抓取公众号文章、分析排版风格时使用。",
      "files": [
        "SKILL.md",
        "scripts/analyze_styles.py",
        "scripts/docx_to_md.py",
        "scripts/fetch_articles.py",
        "scripts/md_to_wechat.py"
      ]
    },
    {
      "name": "swing-wechat-layout",
      "directory": "swing-wechat-layout",
      "description": "抟微科技微信公众号品牌固定结构模板。包含联系我们标准化区块、文章编号/作者署名/END标记/今日话题等固定元素。所有布局和排列方式硬性统一，仅配色跟随文章主色。在排版阶段自动套用，无需用户确认。",
      "files": [
        "SKILL.md"
      ]
    },
    {
      "name": "swing-wechat-markdown",
      "directory": "swing-wechat-markdown",
      "description": "抟微科技Tiny Wings公众号文章写作风格指南。当需要撰写符合该公众号风格的微信推文、行业分析、产品介绍、展会和活动报道、文化宣导类文章时使用。基于对该公众号近两年27篇已发布文章的深度分析提炼而成。包含完整的语言风格规范、文章结构模板、用词偏好、排版格式标准及内容主题方向指引。",
      "files": [
        "SKILL.md"
      ]
    },
    {
      "name": "swing-wechat-publish",
      "directory": "swing-wechat-publish",
      "description": "将排版好的 HTML 文章和图片上传到微信公众号并创建草稿。当用户要求发布微信公众号、推送草稿、上传素材或管理公众号内容时使用；必须先展示完整成品并获得明确的“确认推送草稿”，只创建草稿，禁止 Agent 自动正式发布。需要微信公众号 AppID 和 AppSecret。",
      "files": [
        "SKILL.md",
        "scripts/publish_to_wechat.py"
      ]
    },
    {
      "name": "swing-wechat-secret-config",
      "directory": "swing-wechat-secret-config",
      "description": "安全配置或迁移微信公众号 AppID/AppSecret。由 swing-wechat-env-config 在发布凭据缺失时自动调用，也用于用户要求配置、修改或迁移微信公众号密钥时；通过本地终端隐藏输入 AppSecret，保存到本地用户配置目录，禁止在聊天、命令参数或日志中传递密钥。",
      "files": [
        "SKILL.md",
        "agents/openai.yaml",
        "scripts/configure_wechat_credentials.py"
      ]
    },
    {
      "name": "swing-wechat-workflow",
      "directory": "swing-wechat-workflow",
      "description": "微信公众号内容生产与草稿推送的统一网关。用户要求写、生成、润色、排版或发布微信公众号文章，创建公众号草稿，或发送文本、Markdown、Word/PDF、图片、截图、链接等资料并要求转成公众号内容时使用；先识别并确认目标公众号，再加载对应品牌画像，统一编排写作、视觉、排版和草稿推送；首次需要生图时让用户选择 swing-wechat 内置生图或当前 Agent ImgGen，只有用户明确确认后才创建草稿，绝不自动正式发布。",
      "files": [
        "SKILL.md",
        "profiles/brand_profiles.json",
        "scripts/resolve_brand_profile.py"
      ]
    }
  ]
}
