work-schedule

star 25

需求排期录入工具——将工作事项同步到企业微信智能表格。 当用户提到"加入排期"、"录入排期"、"更新排期表"、"需求排期"、"把 xxx 加到排期"等意图时触发。 也适用于用户提供新周期 schema/key 要求配置新文档的场景。

ZhuoZhuoCrayon By ZhuoZhuoCrayon schedule Updated 6/8/2026

name: work-schedule description: > 需求排期录入工具——将工作事项同步到企业微信智能表格。 当用户提到"加入排期"、"录入排期"、"更新排期表"、"需求排期"、"把 xxx 加到排期"等意图时触发。 也适用于用户提供新周期 schema/key 要求配置新文档的场景。

需求排期录入 Skill

0x01 背景与目标

通过企业微信智能表格 Webhook 将工作事项录入排期表。核心目标:

  • 对话里出现“加入排期”时可快速落表
  • 一个 key 对应一个文档,一个文档覆盖半年
  • 固定脚本执行,减少人工拼装请求体错误

0x02 路径解析(CRITICAL)

本技能依赖的脚本和配置位于 scripts/config/ 子目录中。

【CRITICAL(必须执行不可协商)】 本 Skill 目录可能是 symlink,必须通过以下方式解析真实路径:

# 解析本 Skill 的真实路径(处理 symlink)
SKILL_DIR=$(python3 -c 'import os,sys; print(os.path.realpath(sys.argv[1]))' "<SKILL.md 所在目录的绝对路径>")
  • 阅读本 SKILL.md 时已知其绝对路径(如 .../work-schedule/SKILL.md),取其父目录作为 SKILL_DIR
  • 通过 os.path.realpath 解析 symlink 得到真实目录。
  • 后续所有脚本和配置文件均使用 ${SKILL_DIR}/... 引用,禁止硬编码路径

0x03 配置规范

配置文件路径:${SKILL_DIR}/config/schedules.yaml

active: "2026H1"
schedules:
  "2026H1":
    key: "webhook-key"
    months_start: 1
    schema:
      frvG4J: "项目"
      fzSueb: "需求"
      # ... field_id -> 列名

字段含义:

  • active:当前默认周期
  • key:Webhook key(仅保存在 schedules.yaml
  • months_start17,用于 H1/H2 月份映射
  • schemafield_id -> 列名,不同文档 field_id 不同

新增周期时必须执行:

  1. 解析用户提供的 schema + key
  2. 打印拟新增配置摘要(period/key/months_start/schema)并确认
  3. 用户确认后再写入 ${SKILL_DIR}/config/schedules.yaml
  4. 按用户要求决定是否切换 active

0x04 字段 Schema(扩展版)

以下为 2026H1 示例,实际以 ${SKILL_DIR}/config/schedules.yaml 为准。

field_id 列名 类型 默认值 字段说明
frvG4J 项目 multi_select 必填(模型推测) 观测平台 / 业务支持 / APM / APM / 日常支持
fzSueb 需求 text 必填 不含细节的短语标题(例如:LOL 社区版支持
fc5FyT 需求类型 multi_select 研发 研发 / 纯跟进 / 设计 / 原型 / 修复
f53B4X 优先级 multi_select P0 P0 / P1 / P2 / done
fiWfNd 进度 multi_select 未启动 未启动 / 评审中 / 暂时挂起 / 待产品确认方案 / 方案就绪 / 开发中 / 灰度中 / 已上线发布 / 跟进中
fl1uff 文档/链接 link [] 文档链接,支持空
f0B8fw 事项类型 multi_select 规划 规划 / 新增
ffio2F 备注 text "" 需求详情、背景、范围、约束等完整说明
fYhKHf 1 月 month_tags 自动计算 例如 ["P2-排期"]
f6MQpU 2 月 month_tags 自动计算 例如 ["P2-排期"]
fYDW9O 3 月 month_tags 自动计算 例如 ["P2-排期"]
fNocoV 4 月 month_tags 自动计算 例如 ["P2-排期"]
fB1bqi 5 月 month_tags 自动计算 例如 ["P2-排期"]
fxHuQY 6 月 month_tags 自动计算 例如 ["P2-排期"]
fjgnwh 图片 image [] 图片附件,默认空

值格式规则:

类型 格式 示例
multi_select [{"text": "值"}] [{"text": "APM"}]
text 原始字符串 "需求描述"
link [{"link":"url","text":"显示文本"}][] [{"link":"https://...","text":"设计文档"}]
month_tags [{"text":"Px-排期"}] [{"text":"P2-排期"}]
image [] []

0x05 月份自动计算规则

这里的 P1/P2/P3 是“旬别标签”,不是“优先级”。

  • Day 1-10 -> P1-*
  • Day 11-20 -> P2-*
  • Day 21-31 -> P3-*

月份标签支持:

  • P1-排期 / P2-排期 / P3-排期
  • P1-完成 / P2-完成 / P3-完成
  • P1-延后 / P2-延后 / P3-延后

若未提供 月份,脚本按当前日期自动填充一个月份标签,并按以下规则选择后缀:

  • 事项完成(如 优先级=done进度=已上线发布)-> Px-完成
  • 事项延后(如 进度=暂时挂起)-> Px-延后
  • 其他情况 -> Px-排期

0x06 项目归属规则

项目归属由模型在对话阶段推测,脚本不再内置项目推测逻辑。建议按以下口径:

  • 观测平台 / 业务支持:具体的业务支持事项
  • APM:涉及 APM 的较大、长期跟进事项
  • APM / 日常支持:区别于 APM 主线的一些小优化、小修复

0x07 执行流程

CRITICAL(必须执行不可协商):未收到用户明确确认前,禁止实际写入排期表。

可视为“明确确认”的典型表达:

  • 确认新增
  • 可以新增
  • 就按这个加
  • 🉑

若用户仅描述事项(未确认),只能输出“待写入预览 JSON”,不能执行写入命令。

  1. 用户提出“加入排期”
  2. 构造记录 JSON(项目 必填,月份 可省略由脚本自动补)
  3. 严格区分 需求备注
    • 需求:不包含细节的概括短语(例如:LOL 社区版支持
    • 备注:具体详情(背景、版本范围、约束、进展)
  4. 优先级默认 P0,除非用户明确指定其他值
  5. 先在对话中打印记录,用户确认
  6. 执行脚本写入
  7. 返回接口结果

执行命令:

python3 "${SKILL_DIR}/scripts/add_record.py" \
  --config "${SKILL_DIR}/config/schedules.yaml" \
  --record /tmp/schedule_record.json

说明:

  • 需要 full_network 权限
  • 脚本默认会二次确认请求体
  • 只有在用户已明确确认新增后,才允许使用 --yes 跳过脚本二次确认

0x08 输入与命令示例

记录 JSON(列名语义):

{
  "项目": "观测平台 / 业务支持",
  "需求": "LOL 社区版支持",
  "需求类型": "研发",
  "优先级": "P0",
  "进度": "跟进中",
  "事项类型": "规划",
  "备注": "正在进行升级验证:3.9 -> 3.10,3.10 -> 3.11",
  "文档/链接": [],
  "月份": {
    "3": ["P2-排期"]
  }
}

预览模式(仅打印请求体):

python3 "${SKILL_DIR}/scripts/add_record.py" \
  --config "${SKILL_DIR}/config/schedules.yaml" \
  --record /tmp/schedule_record.json \
  --dry-run
Install via CLI
npx skills add https://github.com/ZhuoZhuoCrayon/ai-workspace --skill work-schedule
Repository Details
star Stars 25
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator
ZhuoZhuoCrayon
ZhuoZhuoCrayon Explore all skills →