Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/studyzy/tapd-ai-cli/speckit.specifygit clone --depth 1 https://github.com/studyzy/tapd-ai-cliWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00011 | $0.03315 |
| Opus 5 | $0.00005 | $0.01657 |
| Sonnet 5 | $0.00002 | $0.00663 |
| Haiku 4.5 | $0.00001 | $0.00331 |
Grade A, and why
speckit.specify scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 259 lines — stays where its author put it; the contents beside it link to each section on GitHub.
用户输入
$ARGUMENTS
在继续之前, 你必须考虑用户输入(如果不为空).
概述
用户在触发消息中 /speckit.specify 后输入的文本就是功能描述. 假设你始终可以在本次对话中访问它, 即使下面字面上显示 $ARGUMENTS. 除非用户提供了空命令, 否则不要要求用户重复.
基于该功能描述, 执行以下操作:
-
为分支生成一个简短名称(2-4个词):
- 分析功能描述并提取最有意义的关键词
- 创建一个2-4个词的简短名称, 捕捉功能的核心
- 尽可能使用动-名词格式(例如, "add-user-auth", "fix-payment-bug")
- 保留技术术语和缩写(OAuth2, API, JWT等)
- 保持简洁但足够描述性, 便于快速理解功能
- 示例:
- "I want to add user authentication" → "user-auth"
- "Implement OAuth2 integration for the API" → "oauth2-api-integration"
- "Create a dashboard for analytics" → "analytics-dashboard"
- "Fix payment processing timeout bug" → "fix-payment-timeout"
-
在创建新分支之前检查现有分支:
a. 首先, 获取所有远程分支以确保我们有最新信息:
git fetch --all --pruneb. 查找所有来源中简短名称的最高功能编号:
- 远程分支:
git ls-remote --heads origin | grep -E 'refs/heads/[0-9]+-<short-name>$' - 本地分支:
git branch | grep -E '^[* ]*[0-9]+-<short-name>$' - 规范目录: 检查匹配
specs/[0-9]+-<short-name>的目录
c. 确定下一个可用编号:
- 从所有三个来源提取所有编号
- 找到最高编号 N
- 对新分支编号使用 N+1
d. 使用计算出的编号和简短名称运行脚本
.specify/scripts/bash/create-new-feature.sh --json "$ARGUMENTS":- 传递
--number N+1和--short-name "your-short-name"以及功能描述 - Bash 示例:
.specify/scripts/bash/create-new-feature.sh --json "$ARGUMENTS" --json --number 5 --short-name "user-auth" "添加用户认证" - PowerShell 示例:
.specify/scripts/bash/create-new-feature.sh --json "$ARGUMENTS" -Json -Number 5 -ShortName "user-auth" "添加用户认证"
重要说明:
- 检查所有三个来源(远程分支, 本地分支, 规范目录)以找到最高编号
- 仅匹配具有精确简短名称模式的分支/目录
- 如果没有找到具有此简短名称的现有分支/目录, 从编号 1 开始
- 你必须且只能运行此脚本一次
- JSON 在终端中作为输出提供 - 请始终参考它以获取你要查找的实际内容
- JSON 输出将包含 BRANCH_NAME 和 SPEC_FILE 路径
- 对于参数中的单引号(如 "I'm Groot"), 使用转义语法: 例如 'I'''m Groot'(或尽可能使用双引号: "I'm Groot")
- 远程分支:
-
加载
.specify/templates/spec-template.md以了解必需的章节. -
遵循此执行流程:
- 从输入解析用户描述 如果为空: 错误 "未提供功能描述"
- 从描述中提取关键概念 识别: 参与者, 操作, 数据, 约束
- 对于不明确的方面:
- 基于上下文和行业标准做出有根据的猜测
- 仅在以下情况下标记为 [NEEDS CLARIFICATION: 具体问题]:
- 选择显著影响功能范围或用户体验
- 存在多个合理的解释且有不同的含义
- 没有合理的默认值
- 限制: 最多 3 个 [NEEDS CLARIFICATION] 标记
- 按影响优先级排序: 范围 > 安全/隐私 > 用户体验 > 技术细节
- 填写用户场景和测试章节 如果没有明确的用户流程: 错误 "无法确定用户场景"
- 生成功能需求 每个需求必须是可测试的 对未指定的细节使用合理的默认值(在假设章节中记录假设)
- 定义成功标准 创建可衡量的, 技术无关的结果 包括定量指标(时间, 性能, 数量)和定性措施(用户满意度, 任务完成) 每个标准必须无需实现细节即可验证
- 识别关键实体(如果涉及数据)
- 返回: 成功(规范准备好进行规划)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 259 lines · 11 tokens per session scan A f97ab42eb3cb
speckit.specify is a command published in the GitHub repository studyzy/tapd-ai-cli (54 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 11 tokens to every session and 3,315 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.
implement
Execute the implementation plan by processing and executing all tasks defined in tasks.md.