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.
git clone --depth 1 https://github.com/doggy8088/spec-kitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/doggy8088/spec-kit/specify)<a href="https://agentmods.dev/commands/doggy8088/spec-kit/specify"><img src="https://agentmods.dev/badge/commands/doggy8088/spec-kit/specify/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/doggy8088/spec-kit/specify"><img src="https://agentmods.dev/badge/commands/doggy8088/spec-kit/specify.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00018 | $0.03648 |
| Opus 5.5 | $0.00007 | $0.01459 |
| Sonnet 5.5 | $0.00004 | $0.00730 |
| Haiku 4.5 | $0.00002 | $0.00365 |
Grade A, and why
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 1mo 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 — 256 lines — stays where its author put it; the contents beside it link to each section on GitHub.
用戶輸入
$ARGUMENTS
你在繼續操作前,必須考慮用戶輸入(若非空)。
大綱
用戶在觸發訊息中的 /speckit.specify 後輸入的文字就是功能描述。請假設即使下方出現 {ARGS},你在本次對話中也總是能取得該功能描述。除非用戶下達了空指令,否則不要要求用戶重複輸入。
根據該功能描述,請執行以下步驟:
-
產生一個簡潔的短名稱(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. 尋找所有來源中該 short-name 的最大 feature 編號:
- 遠端分支:`git ls-remote --heads origin | grep -E 'refs/heads/[0-9]+-
- 本地分支:`
- 本地分支:
specs/[0-9]+-<short-name> - Specs 目錄:檢查符合
{SCRIPT}的目錄
- 遠端分支:`git ls-remote --heads origin | grep -E 'refs/heads/[0-9]+-
c. 決定下一個可用編號:
- 從上述三個來源擷取所有編號
- 找出最大編號 N
- 新分支編號使用 N+1
d. 執行腳本 --number N+1,傳入計算出的編號與 short-name:
- 傳遞
--short-name "your-short-name"與{SCRIPT} --json --number 5 --short-name "user-auth" "Add user authentication"以及功能描述 - Bash 範例:
{SCRIPT} -Json -Number 5 -ShortName "user-auth" "Add user authentication" - PowerShell 範例:
templates/spec-template.md
重要事項:
- 必須檢查三個來源(遠端分支、本地分支、Specs 目錄)以找出最大編號
- 僅匹配與 short-name 完全相符的分支/目錄
- 若未找到任何符合該 short-name 的分支/目錄,則從編號 1 開始
- 每個功能只能執行此腳本一次
- JSON 會作為終端機輸出提供——請務必參考該輸出以取得實際內容
- JSON 輸出將包含 BRANCH_NAME 與 SPEC_FILE 路徑
- 若參數中有單引號,如 "I'm Groot",請使用跳脫語法:例如
'I'\''m Groot'(或盡可能使用雙引號:"I'm Groot")
-
載入
FEATURE_DIR/checklists/requirements.md以了解所需章節。 -
請依照以下執行流程操作:
- 從輸入解析用戶功能描述
若為空:錯誤 "No feature description provided" - 從描述中擷取關鍵概念
識別:角色(actors)、動作(actions)、資料(data)、限制(constraints) - 對於不明確之處:
- 根據上下文與產業標準做合理推測
- 僅在以下情況標記為 [NEEDS CLARIFICATION: 具體問題]:
- 選擇會顯著影響功能範圍或用戶體驗
- 存在多種合理解釋且影響不同
- 無合理預設值可用
- 限制:最多僅能有 3 個 [NEEDS CLARIFICATION] 標記
- 釐清事項依影響力排序:範圍 > 安全性/隱私 > 用戶體驗 > 技術細節
- 填寫 User Scenarios & Testing 章節
若無明確用戶流程:錯誤 "Cannot determine user scenarios" - 產生 Functional Requirements
每項需求必須可測試
對於未明確說明的細節,採用合理預設(並於 Assumptions 章節記錄假設) - 定義 Success Criteria
創建可衡量、與技術無關的成果
同時包含量化指標(時間、效能、數量)與質化指標(用戶滿意度、任務完成度)
每項標準必須可驗證,且不涉及實作細節 - 識別 Key Entities(若涉及資料)
- 回傳:SUCCESS(spec ready for planning)
- 從輸入解析用戶功能描述
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.
- 1mo ago First seen · 256 lines · 18 tokens per session scan A d882c48bd73c
specify is a command published in the GitHub repository doggy8088/spec-kit (292 stars, last pushed 12mo ago), licensed MIT. It adds 18 tokens to every session and 3,648 once invoked, about $0.0001 per session on Opus 5.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.
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.
speckit.bug.fix
Apply the remediation from a bug assessment and record what was changed.