Synchronize project documentation with recent code changes, refactors, and feature implementations in the current branch.
日本語の概要は準備中です。原文の説明を表示しています。
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Check for extension hooks (before clarification):
.specify/extensions.yml exists in the project root.hooks.before_clarify keyenabled is explicitly false. Treat hooks without an enabled field as enabled by default.condition expressions:
condition field, or it is null/empty, treat the hook as executablecondition, skip the hook and leave condition evaluation to the HookExecutor implementation.) with hyphens (-). For example, speckit.git.commit → /speckit-git-commit.optional flag:
optional: true):
## Extension Hooks
**Optional Pre-Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
optional: false):
## Extension Hooks
**Automatic Pre-Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
Wait for the result of the hook command before proceeding to the Outline.
After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal {command} id shown above, e.g. a skills-mode agent runs it as /skill:speckit-... or $speckit-...). Emitting the block alone does not run the hook..specify/extensions.yml does not exist, skip silentlyGoal: Detect and reduce ambiguity or missing decision points in the active feature specification and record the clarifications directly in the spec file.
Note: This clarification workflow is expected to run (and be completed) BEFORE invoking /speckit-plan. If the user explicitly states they are skipping clarification (e.g., exploratory spike), you may proceed, but must warn that downstream rework risk increases.
Execution steps:
Run .specify/scripts/bash/check-prerequisites.sh --json --paths-only from repo root once (combined --json --paths-only mode / -Json -PathsOnly). Parse minimal JSON payload fields:
FEATURE_DIRFEATURE_SPECIMPL_PLAN, TASKS for future chained flows.)/speckit-specify or verify feature branch environment.IF EXISTS: Load .specify/memory/constitution.md for project principles and governance constraints.
Load the current spec file. Perform a structured ambiguity & coverage scan using this taxonomy. For each category, mark status: Clear / Partial / Missing. Produce an internal coverage map used for prioritization (do not output raw map unless no questions will be asked).
Functional Scope & Behavior:
Domain & Data Model:
Interaction & UX Flow:
Non-Functional Quality Attributes:
Integration & External Dependencies:
Edge Cases & Failure Handling:
Constraints & Tradeoffs:
Terminology & Consistency:
Completion Signals:
Misc / Placeholders:
For each category with Partial or Missing status, add a candidate question opportunity unless:
Generate (internally) a prioritized queue of candidate clarification questions (maximum 5). Do NOT output them all at once. Apply these constraints:
Sequential questioning loop (interactive):
Present EXACTLY ONE question at a time.
Question writing quality (applies to every question, MC or short-answer):
**Question:** followed by a full interrogative that ends with ?. The question text before the ? must make sense on its own.Acceptance device/runtime matrix (FR-023) is INVALID — it is a label, not a question.?, the only permitted suffix is an optional parenthesized requirement/question id. Exact format: **Question:** <interrogative>? or **Question:** <interrogative>? (FR-023). Never put the id before the ?, and never use the id (alone or with a topic label) as the whole prompt.For multiple‑choice questions:
**Recommended:** Option [X] - <reasoning>| Option | Description |
|---|---|
| A | <Option A description> |
| B | <Option B description> |
| C | <Option C description> (add D/E as needed up to 5) |
| Short | Provide a different short answer (<=5 words) (Include only if free-form alternative is appropriate) |
You can reply with the option letter (e.g., "A"), accept the recommendation by saying "yes" or "recommended", or provide your own short answer.For short‑answer style (no meaningful discrete options):
**Suggested:** <your proposed answer> - <brief reasoning>Format: Short answer (<=5 words). You can accept the suggestion by saying "yes" or "suggested", or provide your own answer.After the user answers:
Stop asking further questions when:
Never reveal future queued questions in advance.
If no valid questions exist at start, immediately report no critical ambiguities.
Integration after EACH accepted answer (incremental update approach):
## Clarifications section exists (create it just after the highest-level contextual/overview section per the spec template if missing).### Session YYYY-MM-DD subheading for today.- Q: <question> → A: <final answer>.(formerly referred to as "X") once.Validation (performed after EACH write plus final pass):
## Clarifications, ### Session YYYY-MM-DD.Write the updated spec back to FEATURE_SPEC.
Re-validate Spec Quality Checklist (if it exists):
FEATURE_DIR/checklists/requirements.md exists.- [ ], - [x], or - [X] (case-insensitive, tolerant of leading whitespace for nested items) outside of code fences. Ignore all other content (headings, notes, non-checkbox bullets, metadata).[ ] to [x].[x]/[X] to [ ].[ ]/[x] marker portion of checkbox lines whose state changed. All other file content — headings, metadata, notes, line ordering, whitespace — must remain unchanged to avoid noisy diffs.Behavior rules:
/speckit-specify first (do not create a new spec here).Context for prioritization: $ARGUMENTS
You MUST complete this section before reporting completion to the user.
Check if .specify/extensions.yml exists in the project root.
hooks.after_clarify, skip to the Completion Report.hooks.after_clarify key.enabled is explicitly false. Treat hooks without an enabled field as enabled by default.condition expressions:
condition field, or it is null/empty, treat the hook as executablecondition, skip the hook and leave condition evaluation to the HookExecutor implementation.) with hyphens (-). For example, speckit.git.commit → /speckit-git-commit.optional flag:
optional: false) — You MUST emit EXECUTE_COMMAND: for each mandatory hook:
## Extension Hooks
**Automatic Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal {command} id shown above, e.g. a skills-mode agent runs it as /skill:speckit-... or $speckit-...). Emitting the block alone does not run the hook.optional: true):
## Extension Hooks
**Optional Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
Report completion (after questioning loop ends or early termination):
FEATURE_DIR/checklists/requirements.md was re-validated): show before/after pass counts (e.g., "Spec Quality Checklist: 12/16 → 15/16 items passing") and list any items that changed state — both newly checked (unchecked → checked) and any regressions (checked → unchecked). If any items remain unchecked, list them as areas needing attention./speckit-plan or run /speckit-clarify again later post-plan.FEATURE_DIR/checklists/requirements.md exists)まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Synchronize project documentation with recent code changes, refactors, and feature implementations in the current branch.
日本語の概要は準備中です。原文の説明を表示しています。
Build and create a git commit following this repository's established message format. Use when the user asks to "commit", "commit all changes", "commit and document", or similar. Also applicable when any agent (gemini-cli, codex, qwen, opencode, claude-code) needs to stage and commit a set of changes with a properly structured message.
日本語の概要は準備中です。原文の説明を表示しています。
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
日本語の概要は準備中です。原文の説明を表示しています。
Perform cross-artifact consistency analysis across spec.md, plan.md, and tasks.md. Use after task generation to identify gaps, duplications, and inconsistencies before implementation.
日本語の概要は準備中です。原文の説明を表示しています。
Generate custom quality checklists for validating requirements completeness and clarity. Use to create unit tests for English that ensure spec quality before implementation.
日本語の概要は準備中です。原文の説明を表示しています。
Generate a custom checklist for the current feature based on user requirements.
日本語の概要は準備中です。原文の説明を表示しています。