skills/linear-workflow/SKILL.md
产品无关的 Linear 工作流,用于创建、更新、检查和讨论产品 issue、元数据、状态、范围、确认事项和长期产品文档同步。
npx skillsauth add grepug/skills linear-workflowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
这个 skill 必须保持产品无关。默认规则应该能适用于不同产品、团队和仓库。不要把具体产品名、团队私有状态流、固定标签集合或产品专属文档路径写死到这个 skill 里。产品专属规则只能作为明确标注的示例出现,或来自当前仓库、Linear 工作区、用户明确指令中已经发现的约定。
Linear 是产品执行合同和进度管理层。一个 Linear issue 应该清楚说明:要解决什么问题、为什么重要、包含什么、不包含什么、怎样验收、还有哪些产品问题需要决策。
如果团队使用长期产品文档、PRD、设计文档或仓库内规划文件,它们是长期产品记忆。Linear issue 应该足够完整,让开发者或 AI agent 可以主要根据 issue 执行工作;但除非团队明确约定,否则 Linear 不会自动替代长期文档。
如果 Linear 讨论形成了稳定决定,并且这个决定会改变产品行为、范围、验收标准、数据规则、状态规则、语言规则或 agent 行为,应该询问是否需要同步到相关长期文档。除非用户或团队工作流明确授权,不要因为 Linear 中出现了新决定就静默修改产品文档。
在以下情况使用这个 skill:
如果 Linear 和长期文档不一致,先确认哪一个包含最新已接受的决定。不要用过期或冲突信息静默覆盖任何一边。
Linear issue 和评论应该使用目标仓库或工作区的语言。按以下顺序判断:
AGENTS.md、贡献文档、工作流文档或产品文档。Linear 使用的语言可以和 GitHub issue、PR、代码或仓库日常沟通语言不同。
创建或更新 Linear 元数据前:
标签应该描述 issue 类型、归属、决策状态或流程路由。优先使用工作区已有标签。
创建或更新 issue 时,先查看 Linear 中现有标签的备注,并根据备注选择需要打上的标签。不要在 skill 中写死某个工作区的具体标签清单;标签含义以 Linear 当前备注为准。
常见的可移植标签类别:
这些名称只是示例,不是固定默认值。如果工作区使用 Needs PM、Question、Design 或本地化标签等不同名称,使用工作区约定。
如果工作区存在用于产品复查的确认标签,例如 待产品确认、Needs PM 或同类标签,只要改动了 issue 正文,就必须打上该标签,方便产品负责人定位被改过且需要关注的 issue。这个规则和“是否仍有未决产品问题”无关;即使待确认问题已经写“无”,正文被改过也要加上复查标签。
不要用临时标签表达发布范围、产品区域、里程碑或文档同步状态;如果工作区已有 project、milestone、cycle 或 comment 能更准确表达这些概念,优先使用它们。
使用工作区已有状态流。如果没有清晰约定,推荐一个最小可移植状态流:
这些状态名称只是示例。不要假设每个工作区都有 Testing、Duplicate 或完全相同的状态。发现重复 issue 时,除非工作区已有明确重复处理规则,否则先询问哪个 issue 应保留为 canonical。
创建新 issue 时:
每个 issue 都应该让开发者或 AI agent 能主要根据 issue 内容完成工作。精细 UI、动效、视觉设计或实现细节仍然可以依赖链接的来源材料,但 Linear 正文应该包含当前执行合同。
issue 正文只保留最终执行版本,不记录修订过程、错误原因或“修改后为什么这样写”的说明。原本有问题的内容被修正后,默认直接替换为正确版本;除非用户或产品负责人明确要求保留过程说明,否则不要再单独写一段解释。
正文要精简到执行所需,不要为了填满栏目写空话。每一句都应该帮助执行方理解目标、范围、边界或验收;如果一句话只是背景铺垫、重复标题、解释“为什么这样改”、泛泛强调重要性,默认删掉或移到评论。
如果 issue 是 agent prompt、接口合同或复杂规则,可以保留必要的输入、输出、规则和示例;但示例只保留能消除歧义的最小数量,不把教程、推理过程或长篇说明塞进正文。
每个 issue 应包含:
来源链接和文档同步说明在相关时有价值,但不能替代执行合同。不要把“引用文档”“相关文档”和“文档同步”作为固定栏目;只有明确要求,或不引用会导致执行方无法理解当前任务时,才用一句话说明必要来源。保持 issue 正文为当前最新合同;把决策历史保留在评论中。
每个 issue 应描述一个清晰的产品能力、流程步骤、技术任务或决策路径。避免把不相关模块或不相关验收路径混进同一个 issue。
写入或改写 issue 前,先检查同一 project、milestone、parent、相关 issue 或搜索结果里是否已有相邻任务。正文只能写当前 issue 自己负责的部分;相邻模块的规则只用一句边界说明或关联关系指向,不要重复展开。
如果两个 issue 都需要提到同一流程,按职责拆开:
如果为了让当前 issue 可执行,必须引用另一个模块,只写“使用某某 issue 的结果/规则”,不要复制它的完整规则。发现正文开始承接多个模块时,应拆分、改关联,或把不属于当前 issue 的内容移到对应 issue。
示例:
如果一个 issue 开始包含两个独立验收路径,建议拆分或建立关联 issue。
创建 issue 前,必须先判断它和已有 issue 的关系,而不是只检查是否重复。关系判断的目的,是让开发、测试和产品验收时能看清先后顺序、主次结构和需要一起考虑的范围。
检查后按实际关系处理:
不要因为两个 issue 都属于同一功能、同一页面、同一 milestone 或都提到了同一对象,就一股脑建立关联。每个关系都应该能回答一个问题:它表示主次、先后阻塞,还是需要一起考虑。
如果关系不确定,先向用户或产品负责人说明候选关系和理由,再创建或关联。不要用“相关”掩盖边界不清或应该拆分的问题。
Issue 不要太粗,也不要太细。
合适的 issue:
过粗的 issue:
过细的 issue:
如果某个概念更像阶段管理,例如“首次体验”“内容创建”“计费准备”“上线基础能力”或“市场适配”,根据工作区约定,建议使用 project、milestone、cycle 或 parent issue。
当用户或工作区约定让目标清楚时,使用现有 project、milestone、cycle 和 parent issue。
创建或重大调整 project、milestone 或 cycle 前先询问。这类变更通常会影响多个 issue 的计划结构。
如果不确定应该归属哪个 project 或 milestone,询问产品负责人或用户,不要猜。
当 issue 存在未解决产品决策时,使用工作区的确认标签、阻塞状态或明确评论。示例包括:
决策完成后,更新 issue 正文,让正文反映最新执行合同。只有没有其他阻塞性产品问题时,才移除确认标签或阻塞状态。
不要假设 Linear 决定会自动更新长期产品文档。当稳定 Linear 决定改变长期产品记忆时,先询问是否同步。
以下情况应询问是否同步长期文档:
推荐询问方式:
“这个决定会影响长期产品文档。要我同步更新相关文档吗?”
只有在明确授权后,或仓库指引说明这类同步自动进行时,才更新长期文档。
待产品确认 或同类标签,方便产品负责人之后统一检查。使用这个 skill 后,结果应尽量满足:
development
Measure and safely clean reclaimable macOS developer storage, including Xcode, simulator, CoreDevice, rebuildable project artifacts, Docker or OrbStack, VS Code, app cache, WeChat media, and Time Machine local snapshots.
development
Govern inline documentation coverage and comment quality in repo-owned source files. Use when Codex needs to audit or fix file headers, type docs, function or method contract docs, non-obvious inline comments, generated-file exclusions, or repo documentation rules for TypeScript, JavaScript, and Swift projects, including setting up a reusable docs/rules policy in a project-agnostic way.
data-ai
One-sentence summary of what this skill helps an agent do and when it should be used.
development
Bump version/build number, archive an Xcode project, upload to App Store Connect, then tag and push the release in git. Use when a user wants to release an iOS or macOS app to the App Store — tasks like "archive and upload to ASC", "bump version and release", "release version 2.1.0 build 42", "release from git tag", or "retry a failed upload".