Token导航 LogoToken导航TokenDH.com
待分类需要联网github未标认证来源可访问许可证需确认审计通过

spec-init规范初始化

Agent Skill

用于围绕 GitHub 仓库、Issue、Pull Request、分支、提交和代码协作流程提供辅助能力。它适合让 Agent 查询项目状态、整理变更、辅助创建或检查协作事项,并把仓库中的信息转成可执行的下一步。使用时需要区分只读查询和写入操作;涉及创建 PR、修改 Issue、推送分支或访问私有仓库时,应确认 token 权限、目标仓库范围和用户授权。

总安装

2,571

周安装

103

GitHub Stars

7

下载量

832
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:spec-init(规范初始化)
来源仓库:https://github.com/zixun-github/aisdlc
仓库路径:skills/spec-init
安装命令:
npx skills add https://github.com/zixun-github/aisdlc --skill spec-init
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/zixun-github/aisdlc --skill spec-init

简介

spec-init 用于围绕 GitHub 仓库、Issue、Pull Request 和代码协作流程提供辅助能力。

  • 适合让 Agent 查询项目状态、整理变更、辅助创建或检查协作事项。
  • 使用时需要区分只读查询和写入操作;涉及创建 PR、修改 Issue 或访问私有仓库时,应确认 token 权限。
  • 建议结合原始 README 核验具体用法和功能边界。
  • 注意目标仓库范围和用户授权是否匹配当前操作需求。

SKILL.md

spec-init

概览

spec-init 用于在本仓库里创建一个新的需求级 Spec Pack:自动递增三位编号、创建并切换到 {num}-{short-name} 分支、生成 .aisdlc/specs/{num}-{short-name}/ 目录结构,并把原始需求写入 requirements/raw.md(UTF-8 with BOM)。

约束:即使仓库包含 .gitmodulesspec-init 也只初始化根项目的 Spec 分支与 Spec Pack;子仓分支不在本阶段批量创建。

何时使用 / 不使用

  • 使用时机

- 用户要开始一个"新需求"的 Spec(还没有 {num}-{short-name} 分支与 .aisdlc/specs/... 目录)。 - 用户只给了中文需求文本(不方便先手动建文件),担心参数编码导致乱码。 - 需要确保分支命名、编号来源、目录结构符合仓库约定。

  • 不要用在

- 已经在一个合法的 {num}-{short-name} spec 分支上,且 .aisdlc/specs/{num}-{short-name}/ 已存在并结构完整(这时直接进入后续命令)。

快速参考

  • 分支命名{num}-{short-name}num 为三位数字;short-name 为 kebab-case,小写字母/数字/连字符)
  • 统一输出位置.aisdlc/specs/{num}-{short-name}/
  • 必备子目录requirements/design/implementation/verification/release/
  • 初始文件requirements/raw.md(内容=原始需求;编码=UTF-8 with BOM)
  • 脚本位置<本SKILL.md目录>/scripts/
  • 脚本入口(PowerShell)spec-create-branch.ps1-File 直接执行,需 PowerShell 5.0+)
  • 脚本入口(Bash)spec-create-branch.sh(命令行参数见 --help;stdout 输出 JSON)
  • 关键副作用:脚本执行成功后会删除传入的源文件(无论是原始文件还是临时文件)。
  • 与子仓的边界:若后续实现涉及 submodule,原则上由实现计划在 I1 -> I2 之间创建并校验与根项目同名的 Spec 分支

实施步骤(Agent 行为规范)

1) 解析用户输入 → 一律落到文件路径

强制规则:始终以文件路径方式传入需求内容(避免中文内容在参数传递/编码上出问题)。

  • 输入是文件路径:直接用该路径作为 $sourceFilePath(但要提示"会被删除")。
  • 输入是文本:用 Agent 的 Write 工具 将文本直接写入仓库根目录下的临时文件 _sdlc-raw-temp.md,然后用该路径作为 $sourceFilePath

- 无需担心残留:脚本执行成功后会自动删除该源文件。

示例(Agent 操作):

1. Write 工具 → 路径: {REPO_ROOT}/_sdlc-raw-temp.md,内容: 用户提供的原始需求文本
2. 将 {REPO_ROOT}/_sdlc-raw-temp.md 作为 $sourceFilePath / --source-file 传入脚本

2) 生成 short-name(2-4 词,kebab-case)

从原始需求提炼 2-4 个词的短名称,优先"动词-名词",保留常见技术缩写(如 oauth2jwtapi):

  • 示例:批量导出订单 + 异步任务 → export-orders-batchadd-order-export
  • 若不确定,宁可更通用、更短:export-orders

3) 调用脚本创建分支与 Spec Pack

按操作系统自动选择脚本实现(不要硬跑"另一种")。

  • Windows / PowerShell:用 powershell -NoProfile -ExecutionPolicy Bypass -File "<脚本路径>"... 调用
  • macOS/Linux / Bash:直接执行 spec-create-branch.sh(stdout 输出 JSON)

执行参数(只填参数即可)

  • PowerShell(Main):

- -ShortName <kebab-case> - -SourceFilePath <需求文件路径> - -Title <可选> - 调用形态: powershell -NoProfile -ExecutionPolicy Bypass -File "<本SKILL.md目录>/scripts/spec-create-branch.ps1" -ShortName "<kebab-case>" -SourceFilePath "<需求文件路径>" [-Title "<标题>"]

  • Bash(spec-create-branch.sh):

- --short-name <kebab-case> - --source-file <需求文件路径> - --title <可选> - 调用形态:spec-create-branch.sh --short-name <...> --source-file <...> [--title <...>]

脚本职责边界:

  • 若当前目录位于 submodule 内,脚本应先回溯到根项目,再在根项目创建 Spec 分支与 .aisdlc/specs/...
  • 不在此阶段创建 submodule 分支,也不生成额外的 repo 清单文件

4) 验收(DoD)

检查以下事实是否同时成立(缺一不可):

  • 当前分支名(git branch --show-current)符合 {num}-{short-name}
  • .aisdlc/specs/<branchName>/ 存在,且包含 5 个必需子目录(requirements/design/implementation/verification/release/)。
  • .aisdlc/specs/<branchName>/requirements/raw.md 存在,内容等于原始需求(注意文件头有 UTF-8 BOM)。
  • 传入的源文件已被删除(这不是 bug;若用户需要保留,应在步骤 1 之前自行备份)。
  • 若仓库包含 .gitmodules:本阶段不要求任何子仓已创建分支;后续应由 I1/I2 门禁处理

5) 完成后:立即交回 using-aisdlc 继续自动推进

spec-init 的 DoD 通过后,本技能不做"下一步分流"判定(避免出现第二个路由源)。统一做法:

  • 输出 ROUTER_SUMMARY(见下节)
  • 立即调用 using-aisdlc 路由下一步(Router 默认自动续跑;进入 R1:spec-product-clarify

完成后输出与自动路由(必须执行)

Spec Pack 初始化完成后(无论成功或失败),必须完成以下动作(按顺序,不可省略):

  1. 输出 ROUTER_SUMMARY(YAML 形态,供 Router 决策;按实际结果填写):

创建成功时:

ROUTER_SUMMARY:
  stage: R0
  artifacts:
    - "{FEATURE_DIR}/requirements/raw.md"
  needs_human_review: false
  blocked: false
  block_reason: ""
  notes: "Spec Pack 已初始化完成;建议 Router 进入 R1(spec-product-clarify)"

任一 DoD 未满足并停止时:

ROUTER_SUMMARY:
  stage: R0
  artifacts: []
  needs_human_review: true
  blocked: true
  block_reason: "<填写失败点与最小修复动作>"
  notes: "未完成初始化,需先修复再继续"
  1. 立即执行 using-aisdlc:将上述 ROUTER_SUMMARY 作为路由输入传递给 using-aisdlc,由 Router 判定下一步并自动推进(无需等待用户说「继续」)。

- 若 Router 判定可自动续跑:在同一轮对话内继续执行下一步 worker skill(如 R1 等) - 若 Router 触发硬中断:停下并输出阻断原因、需要的输入、候选下一步

  1. 对话输出:在调用 using-aisdlc 前,可简短说明「本阶段产物已落盘,正在调用 using-aisdlc 路由下一步。」

常见错误(以及怎么避免)

  • 自创分支/目录结构:不要用 spec/<slug>feature/<slug>features/<slug>;本仓库规范是 {num}-{short-name} + .aisdlc/specs/...
  • 把中文需求当作命令行参数直接传递:一律写入文件,再传路径。
  • 误以为脚本不会删源文件:它会删除 SourceFilePath 指向的文件;对用户的原始文件务必先确认是否需要备份。
  • 短名称不规范:避免大写、下划线、中文;避免前后连字符与连续 --;尽量 2-4 词。
  • 把 submodule 当作 Spec 根目录:即使从子仓目录触发,也必须回到根项目创建 .aisdlc/specs/...

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.16%
按下载量换算309

Claude

29.12%
按下载量换算242

Cursor

17.47%
按下载量换算145

Gemini CLI

8.75%
按下载量换算73

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills