linear-sync 用于把当前分支关联的 Linear 议题在 In Progress、In Review、Done 之间推进。它从分支名提取前导议题 ID,解析该议题所属团队的实时状态 ID,再按状态规则转换,是议题状态转换规则的统一来源。
配置来自同目录 config.json:linearTeamName 是议题无团队时的回退团队名,issueKeys 是可能作为分支名前缀的团队 key 列表。
用法:直接运行 linear-sync 执行默认的 In Progress 转换;加 --dry-run 时仍执行只读的解析与查询,报告每个议题打算做的转换或跳过原因,但不调用 save_issue,末尾输出 DRY RUN — no issues were changed。
议题 ID 只取分支名开头,并按大写匹配,例如 r-7-x 与 R-7-x 都解析为 R-7;分支名中后出现的 slug 片段不会被当作议题。目标状态按每个议题自身团队解析,优先按状态类型而非显示名(显示名可被重命名),例如 In Progress 取 started 中名为 In Progress 的状态,否则取位置最早的 started;In Review 取名称含 Review 的 started,否则取位置最晚的 started。转换是幂等的,仅在当前状态早于目标时应用;completed 与 canceled 等终态不会被自动推进。
该技能不附带脚本,直接调用 Linear MCP 工具 get_issue、list_issue_statuses、save_issue。调用方决定何时触发:开始工作时转 In Progress,PR 开启或更新后转 In Review,分支清理时经确认才转 Done。团队名比 key 更稳定,因此按名称解析。其他具体限制资料未提供。