← ClaudeAtlas

stylework-yunxiao-requirement-synclisted

StyleWork 云效需求同步 / 云效导出到钉钉表格:当用户要把云效某个月或某批需求导出为 Excel,并复制到已有钉钉在线表格的新 Sheet,按迭代排序、分组留空、设置黄色加粗表头、冻结首行和置顶时使用。也适用于登录过期后扫码继续、用户直接提供本地 Excel、或检查本次同步结果。V1 只做云效到钉钉,不用于需求排期判断、钉钉反向写回云效、创建新的钉钉文件或修改已有 Sheet。
PANGKAIFENG/ai-product-manager-skills · ★ 11 · AI & Automation · score 77
Install: claude install-skill PANGKAIFENG/ai-product-manager-skills
# StyleWork 云效需求同步 ## Overview 把用户指定的云效需求视图通过界面导出,转换成固定字段和迭代分组,再写入已有钉钉表格的一个新 Sheet。这个 Skill 有外部写入副作用,必须先完成本地预检,再创建 Sheet;不得覆盖或修改旧 Sheet。 ## Hard Boundaries - V1 只执行“云效 -> 钉钉”,不把钉钉内容写回云效。 - 内置浏览器只负责云效��面、登录和 Excel 导出;不得自行抓取云效分页接口或私有 API 替代导出。 - 钉钉文档探测、新建 Sheet、写入、设样式、冻结和置顶只能使用 `dws`。 - DWS 缺能力或失败时不得改用浏览器、`curl`、HTTP API、人工复制粘贴或其他写入方式绕过。 - 不创建新的钉钉文件,只在用户给定的现有在线表格中新增 Sheet。 - 用户未明确要求执行同步时,只给预检或说明,不产生外部写入。 ## Context Intake 按以下优先级取得云效视图 URL 和钉钉表格 URL: 1. 当前用户消息中的明确 URL; 2. `$HOME/Documents/Codex/stylework-yunxiao-requirement-sync.local.json` 的 `yunxiao_view_url` 与 `dingtalk_sheet_url`; 3. 缺少时各问一次,不猜测、不搜索历史浏览记录。 月份优先取用户明确指定的目标月份;否则从导出数据的迭代字段推断。存在多个月份且用户未指定时,在写入前询问一次。浏览器导出不可用时,接受用户给出的本地 Excel。 ## Fixed Field Contract 读取 `references/field-contract.md`。最终列顺序严格为: `标题、负责人、创建者、迭代、技术难度、优先级、客户名称、URL` - 不包含 `父ID`。 - 不包含 `描述`。 - `创建者` 不得改成 `创建人`。 - 不得去重、合并相似标题或擅自过滤行。 - 缺失非关键值保持空白,不补造描述、难度、优先级、客户或负责人。 ## Workflow ### 1. Load tool contracts 执行前读取当前运行时的 `browser:control-in-app-browser`、`spreadsheets` 和 `dws` Skill。实际浏览器自动化前必须读取内置浏览器的实时工具文档;不要依赖过期 selector 或截图坐标。 ### 2. Export from Yunxiao 1. 在内置浏览器打开目标视图并确认当前筛选范围与目标月份一致。 2. 若登录失效,暂停并请用户在内置浏览器扫码;用户确认完成后继续当前步骤,不重启整套流程。 3. 通过云效界面打开导出,选择固定 8 个字段并下载 Excel。 4. 浏览器导出失败时报告原因,并切换为等待用户提供本地 Excel;不得私自调用云效 API。 ### 3. Preflight and transform locally 用 Spreadsheets 能力读取 Excel,按 `references/field-contract.md` 生成一个只含 8 列的 CSV 中间文件: 1. 校验表头、原始数据行数、空标题、空迭代、空 URL 和迭代格式。 2. 解析 `YY.M.W`,按年份、月份、周次升序排序;同迭代内保持原始顺序。 3. 不同迭代之间插入恰好 3 个空行。 4. 未知迭代、目标