🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

skill-a-create-meeting

by @myd2002

【会议创建总入口,必须优先触发】当用户提出任何新建会议、开会、约会、安排会议、预约会议、组会、周会、例会、讨论会、紧急会议、跨项目会议、循环会议相关需求时,必须优先使用此技能,而不要直接调用 tencent-meeting-skill。OpenClaw 负责意图分析和参数补全;本技能作为会议创建总控入口,负责协调...

Versionv1.0.1
Downloads493
TERMINAL
clawhub install skill-a-create-meeting

📖 About This Skill


name: skill-a-create-meeting description: "【会议创建总入口,必须优先触发】当用户提出任何新建会议、开会、约会、安排会议、预约会议、组会、周会、例会、讨论会、紧急会议、跨项目会议、循环会议相关需求时,必须优先使用此技能,而不要直接调用 tencent-meeting-skill。OpenClaw 负责意图分析和参数补全;本技能作为会议创建总控入口,负责协调后续流程:先由 OpenClaw 调用 tencent-meeting-skill 创建腾讯会议,再调用本技能完成 Gitea 会议目录、meta.yaml、agenda.md、仓库成员/邮箱查询、日志写入和邮件内容编排,最后由 OpenClaw 调用 imap-smtp-email 发送邀请邮件。只有当用户是在查询、修改、取消已有会议,或查看会议录制、转写、纪要时,才直接使用 tencent-meeting-skill。" author: mayidan

Skill-A: create_meeting — 会议创建总控入口技能

核心路由规则(非常重要)

凡是用户要“新建一场会议”,都必须优先调用本技能。

包括但不限于这些表达:

  • 开个会
  • 新建会议
  • 约个会
  • 安排一个会
  • 预约会议
  • 开组会 / 周会 / 例会
  • 开紧急会议
  • 开讨论会
  • 今晚 11 点 40 建个会
  • 晚上 11 点 30 开组会
  • 从下周开始每周一开会
  • 建一个跨项目会议
  • 不要在用户首次提出“新建会议”需求时直接调用 tencent-meeting-skill

    只有以下场景,才直接调用 tencent-meeting-skill

  • 查询已有会议详情
  • 通过会议号查会议信息
  • 修改已有会议
  • 取消已有会议
  • 查询参会人 / 邀请人 / 等候室
  • 查询录制、转写、AI纪要

  • 定位

    本技能是 会议创建总入口 / 总控技能

    不负责 LLM 分析,也 不直接操作腾讯会议或 SMTP

    职责分工如下:

  • OpenClaw
  • - 理解用户自然语言 - 补问缺失参数 - 判断项目归属 - 决定何时调用下游 skill

  • Skill-A(本技能)
  • - 作为“新建会议”场景的统一入口 - 约束正确调用顺序 - 在 Gitea 中创建会议目录与文件 - 查询仓库成员与邮箱 - 生成邀请邮件 HTML - 写日志 - 把后续发信所需参数整理返回给 OpenClaw

  • tencent-meeting-skill
  • - 仅作为本技能下游依赖 - 负责实际创建腾讯会议 - 返回 meeting_id / meeting_code / join_url

  • imap-smtp-email
  • - 仅作为本技能下游依赖 - 负责实际发送邀请邮件


    配置要求

    配置文件路径:~/.config/skill-a-create-meeting/.env

    首次使用前运行:

    bash setup.sh
    


    调用前提

    在调用本技能前,OpenClaw 必须先完成以下工作:

    1. 解析用户意图

    必须先从用户输入中确认这些信息:

  • time:会议开始时间(ISO8601,带时区,默认 +08:00)
  • topic:会议主题
  • repo:目标仓库,如 owner/repo
  • categorysinglecross-project
  • organizer:组织者 Gitea 用户名
  • 2. 如有缺失,必须先追问用户

    特别是以下情况必须先问清楚,不能直接跳过:

  • 用户没说项目归属
  • 用户没说会议主题
  • 用户时间表达不清楚
  • 用户是临时会议还是循环会议不明确
  • 3. 先调用 tencent-meeting-skill 创建腾讯会议

    拿到以下字段后,才能调用本技能:

  • meeting_id
  • meeting_code
  • join_url

  • 输入参数

    必填参数:

  • time
  • topic
  • repo
  • category
  • organizer
  • meeting_id
  • meeting_code
  • join_url
  • 可选参数:

  • duration:默认 60 分钟
  • attendees:逗号分隔的 Gitea 用户名列表;若不传,则自动取该仓库成员
  • meeting_typead-hocrecurring
  • series_id:循环会议系列 ID

  • 严格工作流(必须按顺序执行)

    第一步:OpenClaw 先处理用户对话

    OpenClaw 必须先完成:

  • 识别这是“新建会议”需求
  • 决定项目归属
  • 补齐缺失参数
  • 明确会议时间、主题、仓库、组织者
  • 不要在本技能内再次做自然语言分析。


    第二步:OpenClaw 调用 tencent-meeting-skill 创建腾讯会议

    OpenClaw 应先调用腾讯会议 skill,拿到:

  • meeting_id
  • meeting_code
  • join_url

  • 第三步:调用本技能,完成 Gitea 侧落库与邮件内容准备

    node main.js prepare \
      --time "2026-04-22T15:00:00+08:00" \
      --topic "v2 设计评审" \
      --repo "mayidan/project-test" \
      --category "single" \
      --organizer "mayidan" \
      --meeting-id "xxx" \
      --meeting-code "123456789" \
      --join-url "https://meeting.tencent.com/..." \
      --duration 60
    

    本技能会完成以下动作:

    1. 解析时间并确定会议目录名 meetings/YYYY-MM-DD-HHMM/ 2. 自动获取仓库成员(如果 --attendees 未传) 3. 获取成员邮箱与仓库 owner 邮箱 4. 查找上次同类会议并生成 agenda 回顾(若无摘要能力则降级为“暂无参考记录”) 5. 创建 meta.yamlagenda.md 6. 生成邀请邮件 HTML 与邮件主题 7. 写运行日志到 aifusion-meta/logs/YYYY-MM-DD.jsonl 8. 返回后续发信所需 JSON


    第四步:OpenClaw 调用 imap-smtp-email 发送邀请邮件

    收到本技能输出后,OpenClaw 必须使用 imap-smtp-email 发送:

  • 收件人:invite_email.to
  • 主题:invite_email.subject
  • HTML 正文:invite_email.html

  • 输出 JSON 说明

    本技能返回 JSON,关键字段包括:

  • user_message:展示给用户的话术
  • invite_email:邀请邮件发件参数
  • repo_member_usernames:仓库成员列表
  • repo_member_emails:仓库成员邮箱列表
  • repo_owner_email:仓库 owner 邮箱(供后续 Skill-B 发会前简报使用)
  • agenda_gitea_url:议程文件链接
  • meeting_dir:会议目录名

  • 错误处理规则

    | 错误场景 | 处理方式 | |----------|----------| | 参数缺失 | 直接报错,不执行任何写入 | | 腾讯会议信息缺失 | 直接报错,不创建 Gitea 目录 | | Gitea 写入失败 | 报错,由 OpenClaw 决定是否回滚会议 | | 仓库成员邮箱部分缺失 | 不阻塞主流程,返回能拿到的邮箱 | | 上次会议摘要不可用 | agenda 中写“暂无参考记录” |


    典型触发示例

    以下用户表达,都应该优先触发本技能

    | 用户说 | OpenClaw 应做什么 | |--------|-------------------| | "周三下午 3 点开个组会" | 解析时间 → 追问项目 → 调 tencent-meeting-skill → 调本技能 → 调邮件 skill | | "晚上 11 点 30 开组会" | 解析时间 → 追问项目 → 调 tencent-meeting-skill → 调本技能 | | "新建一个晚上 11 点 40 的会议" | 解析时间 → 追问主题/项目 → 调 tencent-meeting-skill → 调本技能 | | "帮我约个今晚的会" | 解析时间 → 追问主题/项目 → 调 tencent-meeting-skill → 调本技能 | | "从下周一起每周一下午 3 点开例会连续 10 周" | 解析循环规则 → 追问项目 → 调 tencent-meeting-skill → 调本技能 | | "帮灵巧手项目约个会,后天上午 10 点" | 识别仓库 → 调 tencent-meeting-skill → 调本技能 | | "开个跨项目全员会议,明天下午 2 点" | 识别 cross-project → 调 tencent-meeting-skill → 调本技能 |


    非本技能直接处理的场景

    以下场景不要优先调用本技能,而应直接使用 tencent-meeting-skill

  • “帮我查一下这个会议号对应的会议”
  • “把明天下午那个会改到 4 点”
  • “取消今晚那个会议”
  • “帮我看看这场会议谁参加了”
  • “导出这场会议的转写”
  • “获取这场会议的 AI 纪要”