Community编程与开发github.com

sigma-create-ticket

创建或编辑 SPEC、EPIC 或 TICKET 类型的问题。也是 /sigma-to-spec 和 /sigma-to-tickets 技能的网关。只有此技能运行 gh issue create 或 gh issue edit。

sigma-create-ticket 是什么?

此AI技能专为管理GitHub问题而设计,负责创建和编辑SPEC、EPIC和TICKET类型的问题。它是 /sigma-to-spec 和 /sigma-to-tickets 技能的网关,确保所有问题创建和编辑操作集中处理,避免标签、标题和父级关系不一致。技能要求严格遵循CONVENTIONS.md中的约定,在创建或编辑前必须读取该文件。它通过 gh 命令与GitHub交互,支持批量问题创建时需要用户确认,而由上游技能确认的问题则直接处理。技能处理标签确保机制、标题前缀自动补全、问题匹配避免重复创建,以及创建后修正分支名和模式标签。支持多种工作流:规格说明(SPEC)创建后转交 /sigma-to-tickets,工单(TICKET)创建后转交 /sigma-implement,史诗(EPIC)则提示 /sigma-implement 不处理史诗。适用于Claude Code等AI Agent开发工具,需要在具有工作仓库的Git环境中运行。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sigma-michael/sigma-build-factory/tree/HEAD/sigma-create-ticket

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

/sigma-create-ticket

概述

/sigma-create-ticket 用于创建和编辑 SPEC、EPIC 和 TICKET 类型的问题。它是 /sigma-to-spec 和 /sigma-to-tickets 的网关。/sigma-unslop 不会调用它。

此技能是唯一运行 gh issue create 或 gh issue edit 的技能。它不实现、不审查、不合并。

在创建或编辑前,请阅读 CONVENTIONS.md。该文件包含标题、标签和正文的详细规范。

何时使用

  • 使用场景: 用户调用 /sigma-create-ticket,或 /sigma-to-spec 或 /sigma-to-tickets 在本次会话中传递了正文。
  • 列出或查看: /sigma-to-spec 请求 list-specs。/sigma-to-tickets 请求 view。执行读取并返回。不要创建。
  • 不要使用: 工作仍处于方案访谈阶段(/sigma-plan)、规范阶段(/sigma-to-spec)或拆分阶段(/sigma-to-tickets)。不实现、不审查、不合并。

输入

交接信息包含 caller、action(list-specs、view、create 或 update)、kind(spec、epic 或 ticket)、title、body,有时还有 number、parent 和 blocked-by。

用户的同意是在本次会话中的回复。以下回复视为同意,不会再次提问:

  • /sigma-to-spec 用户在摘要后表示同意
  • /sigma-to-tickets 用户在粒度和阻塞项后表示同意

任何其他包含2个或更多问题的批次,都需要在此处获得同意。

问题约定

  • SPEC: 标题 SPEC: <名称>,标签 spec,无父级。正文:该功能的定义、非定义、验收标准ID、scripts/ 下的脚本通配符、超出范围。无未解决的问题。
  • EPIC: 标题 EPIC: <名称>,标签 type:epic。父级为 SPEC。
  • TICKET: 标题 TICKET: <名称>,标签 type:ticket 加上 agent:hitl 或 agent:afk。父级为 EPIC,或当 /sigma-to-tickets 指定时为 SPEC。从审查中分离出的工单没有 SPEC 父级,除非交接信息中指定了史诗。正文部分:上下文、验收标准、超出范围、分支 agent/{N}-{slug}、模式 hitl 或 afk。

此技能确保的标签:spec、type:epic、type:ticket、agent:hitl、agent:afk。模式标签与模式行一致。

步骤

步骤 1 - 确定工作仓库

运行 gh repo view --json nameWithOwner。当输出 owner/name 时完成。如果失败,告知用户在工作仓库中运行或运行 gh auth login,然后停止。

如果仓库名以 sigma-build-factory 结尾,则停止。问题应属于工作仓库。

步骤 2 - 读取或写入

在创建或编辑前,读取 CONVENTIONS.md。

list-specs 运行:

gh issue list --repo "$REPO" --label spec --state all --limit 50 \
  --json number,title,state,url,body

view 运行 gh issue view <N> --repo "$REPO" --json number,title,labels,state,url,body。

将 JSON 返回给调用者。不确保标签,不提问。

当调用者获得列表或问题,或写入路径继续到步骤 3 时完成。

步骤 3 - 同意关口

来自输入中三个同意情况之一的交接信息已准备好提交。

直接批次(2个或更多问题),本次会话无同意:显示每个问题的标题、类型、父级和模式。提问一次:“提交这些问题?”等待。沉默不提交。

直接单个问题:当标题、类型或功能通道父级缺失时提问一次。当这些字段存在时,直接提交。

更新操作,本次会话无同意:显示问题编号和标题,提问一次,然后编辑。不要创建第二个问题。

当同意被记录,或单个完整创建请求准备提交时完成。

步骤 4 - 确保标签存在

在写入路径中,列出标签并创建任何缺失的约定标签:

gh label list --repo "$REPO" --limit 100 --json name
gh label create <name> --repo "$REPO" --description "<来自 CONVENTIONS.md>"

当 gh label list 显示 spec、type:epic、type:ticket、agent:hitl 和 agent:afk 时完成。

步骤 5 - 匹配现有问题

列出问题并比较精确标题 SPEC: <名称>、EPIC: <名称> 或 TICKET: <名称>。

gh issue list --repo "$REPO" --state all --limit 200 --json number,title,state,url

已确认的更新则编辑该编号。不创建。如果新标题已存在于另一个问题上,则停止该项目并报告两个编号。

如果创建时发现一个精确标题,则报告 exists 并重用编号。不创建第二个问题,不编辑正文。两个精确标题则停止该项目。

当每个项目状态为创建、更新、重用或冲突时完成。

步骤 6 - 创建或编辑

将正文写入临时文件。不要写入工作仓库。

当短名称缺少前缀时,补充标题前缀。不要重复前缀。

按顺序创建:史诗在其工单之前,阻塞项在其依赖项之前。当交接信息指定父级时,添加 --parent。当阻塞项编号已存在时,添加 --blocked-by。当标志没有值时省略。

gh issue create --repo "$REPO" --title "<标题>" --label "<标签>" --body-file "$f"

从 URL 中解析 N。如果工单正文中的 Branch 行缺失或仍包含 {N},则编辑该行,使其为 agent/<N>-<slug>。slug 是前缀后的名称,小写,空格替换为连字符。

gh issue edit <N> --repo "$REPO" --body-file "$f"

对于已确认的更新,gh issue edit 替换标题和正文并修正标签。移除另一个模式标签,仅保留匹配的那个。编辑时不改变父级。

SPEC 只获取标签 spec。EPIC 只获取 type:epic。TICKET 获取 type:ticket 和一个模式标签。

记录 gh 失败并继续独立项目。不要创建失败史诗的子问题。不要关闭父级。

当 gh issue view <N> --json title,labels,body 显示正确的标题、标签,以及工单的 Branch agent/<N>-<slug> 和模式与标签匹配时完成。

步骤 7 - 返回

返回每个项目的编号、标题和 URL,包括 exists 和失败。

当调用者是其他技能时,到此停止。该技能指定下一步命令。当用户调用了 /sigma-create-ticket,指定下一步命令但不执行它。SPEC 转交 /sigma-to-tickets <N>。工单转交 /sigma-implement <N>。对于史诗,说明 /sigma-implement 拒绝处理史诗。

硬性规则

规则原因 / 违规表现
此技能是唯一运行 gh issue create 或 gh issue edit 的技能。其他技能的列出和查看也在此处运行。第二条写入路径会导致标题、标签和父级不一致。
确保五个标签存在,然后创建或编辑。缺失的标签会导致批次中下一个问题失败。
已确认的更新编辑该问题。精确标题匹配不创建重复。第二个 SPEC: 或 TICKET: 会拆分一个功能。
直接批次等待同意。已在本次会话中由 /sigma-to-spec 或 /sigma-to-tickets 确认的正文不再提问。再次提问会阻碍交接。在沉默中提交直接批次会创建用户未见过的问题。
创建后,编辑工单使 Branch 为 agent/<N>-<slug>。模式标签与模式行匹配。残留的 {N},或 afk 与 agent:hitl 一起,会将构建者发送到错误的分支或模式。
创建时设置父级(当交接信息指定时)。来自规范的工单父级为 EPIC 或 SPEC。来自审查的工单省略父级,除非交接信息指定了史诗。虚构 SPEC 父级会复制审查工单不需要实现的验收标准。
不实现、不审查、不合并。此技能提交问题后停止。

验证

  • gh repo view 返回了工作仓库,且仓库名不以 sigma-build-factory 结尾。
  • 在创建或编辑前已读取 CONVENTIONS.md。
  • list-specs 和 view 返回了 JSON 并未创建。
  • 创建或编辑前五个标签已存在。
  • 直接批次获得了明确同意。本次会话中的上游同意未再次提问。
  • 已确认的更新编辑了指定问题。没有第二个问题具有相同精确标题。
  • 新工单的 Branch 行为 agent/<N>-<slug>,且模式标签与模式行匹配。
  • 来自规范的史诗父级为相应 SPEC。来自规范的工单父级为 EPIC 或 SPEC。来自审查的工单没有 SPEC 父级,除非交接信息指定了史诗。
  • 返回了编号、标题和 URL。此技能未实现、审查或合并。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能