用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/richfrem/Project_Sanctuary --skill spec-kitty-specify命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | spec-kitty-specify |
| description | Create or update the feature specification from a natural language feature |
Version: 0.11.0+
IMPORTANT: Specify works in the planning repository. NO worktrees are created.
# Run from project root:
cd /path/to/project/root # Your planning repository
# All planning artifacts are created in the planning repo and committed:
# - kitty-specs/###-feature/spec.md → Created in planning repo
# - Committed to target branch (from create-feature JSON: target_branch/base_branch)
# - NO worktrees created
Worktrees are created later during /spec-kitty.implement, not during planning.
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Before running any scripts or writing to disk you must conduct a structured discovery interview.
Scope proportionality (CRITICAL): FIRST, gauge the inherent complexity of the request:
User signals to reduce questioning: If the user says "just testing", "quick prototype", "skip to next phase", "stop asking questions" - recognize this as a signal to minimize discovery and proceed with reasonable defaults.
First response rule:
WAITING_FOR_DISCOVERY_INPUTIf the user provides no initial description (empty command), stay in Interactive Interview Mode: keep probing with one question at a time.
Conversational cadence: After each user reply, decide if you have ENOUGH context for this feature's complexity level. For trivial features, 1-2 questions is sufficient. Only continue asking if truly necessary for the scope.
Discovery requirements (scale to feature complexity):
#, Question, Why it matters, and Current insight. Do not render this table to the user.After completing discovery and confirming the Intent Summary, determine the appropriate mission for this feature.
software-dev: For building software features, APIs, CLI tools, applications
research: For investigations, literature reviews, technical analysis
Analyze the feature description to identify the primary goal:
Check for explicit mission requests in the user's description:
Confirm with user (unless explicit):
"Based on your description, this sounds like a [software-dev/research] project. I'll use the [mission name] mission. Does that work for you?"
Handle user response:
Handle --mission flag: If the user provides --mission <key> in their command, skip inference and use the specified mission directly.
Store the final mission selection in your notes and include it in the spec output. Do not pass a --mission flag to feature creation.
Planning happens in the planning repository - NO worktree created!
kitty-specs/###-feature/spec.md directly in planning repoWorktrees created later: Use spec-kitty implement WP## to create a workspace for each work package. Worktrees are created later during implement (e.g., .worktrees/###-feature-WP##).
kitty-specs/###-feature/spec.mdcreate-feature --json → target_branch)The text the user typed after /spec-kitty.specify in the triggering message is the initial feature description. Capture it verbatim, but treat it only as a starting point for discovery—not the final truth. Your job is to interrogate the request, surface gaps, and co-create a complete specification with the user.
Given that feature description, do this:
[NEEDS CLARIFICATION: …] to at most three critical decisions the user has postponed).Check discovery status:
WAITING_FOR_DISCOVERY_INPUT. Do not surface the table; keep it internal. Do not call the creation command yet.When discovery is complete and the intent summary, title, and mission are confirmed, run the feature creation command from repo root:
spec-kitty agent feature create-feature "<slug>" --json
Where <slug> is a kebab-case version of the friendly title (e.g., "Checkout Upsell Flow" → "checkout-upsell-flow").
The command returns JSON with:
result: "success" or error messagefeature: Feature number and slug (e.g., "014-checkout-upsell-flow")feature_dir: Absolute path to the feature directory inside the main repotarget_branch / base_branch: deterministic branch contract for downstream commandsParse these values for use in subsequent steps. All file paths are absolute.
IMPORTANT: You must only ever run this command once. The JSON is provided in the terminal output - always refer to it to get the actual paths you're looking for.
Stay in the main repository: No worktree is created during specify.
Read the files created by create-feature:
<feature_dir>/spec.md (already created, may be empty/template-filled)<feature_dir>/meta.json (already created with feature identity metadata)The software-dev spec template is bundled at .kittify/missions/software-dev/templates/spec-template.md.
Update <feature_dir>/meta.json only when needed:
NOTE: The script creates and checks out the new branch and initializes the spec file before writing.
When creating this spec from a user prompt:
Examples of reasonable defaults (don't ask about these):
Success criteria must be:
Good examples:
Bad examples (implementation-focused):
create-featurefeature_numberslugfeature_slugcreated_attarget_branchfriendly_name matches the confirmed title.mission is correct.source_description.vcs exists ("git" default).Expected meta.json shape (preserve existing values unless explicitly changed):
{
"feature_number": "014",
"slug": "014-checkout-upsell-flow",
"feature_slug": "014-checkout-upsell-flow",
"created_at": "2026-03-06T12:34:56Z",
"target_branch": "main",
"friendly_name": "Checkout Upsell Flow",
"mission": "software-dev",
"source_description": "optional source summary",
"vcs": "git"
}
Do not regenerate timestamps or directory paths via shell commands.
Generate the specification content by following this flow:
$ARGUMENTS)[NEEDS CLARIFICATION: …] when the user explicitly defers the decisionUpdate the existing <feature_dir>/spec.md using the template structure, replacing placeholders with concrete details derived from the feature description while preserving section order and headings.
Specification Quality Validation: After writing the initial spec, validate it against quality criteria:
a. Create Spec Quality Checklist: Generate a checklist file at feature_dir/checklists/requirements.md using the checklist template structure with these validation items:
# Specification Quality Checklist: [FEATURE NAME]
**Purpose**: Validate specification completeness and quality before proceeding to planning
**Created**: [DATE]
**Feature**: [Link to spec.md]
## Content Quality
- [ ] No implementation details (languages, frameworks, APIs)
- [ ] Focused on user value and business needs
- [ ] Written for non-technical stakeholders
- [ ] All mandatory sections completed
## Requirement Completeness
- [ ] No [NEEDS CLARIFICATION] markers remain
- [ ] Requirements are testable and unambiguous
- [ ] Success criteria are measurable
- [ ] Success criteria are technology-agnostic (no implementation details)
- [ ] All acceptance scenarios are defined
- [ ] Edge cases are identified
- [ ] Scope is clearly bounded
- [ ] Dependencies and assumptions identified
## Feature Readiness
- [ ] All functional requirements have clear acceptance criteria
- [ ] User scenarios cover primary flows
- [ ] Feature meets measurable outcomes defined in Success Criteria
- [ ] No implementation details leak into specification
## Notes
- Items marked incomplete require spec updates before `/spec-kitty.clarify` or `/spec-kitty.plan`
b. Run Validation Check: Review the spec against each checklist item:
c. Handle Validation Results:
If all items pass: Mark checklist complete and proceed to step 6
If items fail (excluding [NEEDS CLARIFICATION]):
If [NEEDS CLARIFICATION] markers remain:
Extract all [NEEDS CLARIFICATION: ...] markers from the spec
Re-confirm with the user whether each outstanding decision truly needs to stay unresolved. Do not assume away critical gaps.
For each clarification the user has explicitly deferred, present options using plain text—no tables:
Question [N]: [Topic]
Context: [Quote relevant spec section]
Need: [Specific question from NEEDS CLARIFICATION marker]
Options: (A) [First answer — implications] · (B) [Second answer — implications] · (C) [Third answer — implications] · (D) Custom (describe your own answer)
Reply with a letter or a custom answer.
Number questions sequentially (Q1, Q2, Q3 - max 3 total)
Present all questions together before waiting for responses
Wait for user to respond with their choices for all questions (e.g., "Q1: A, Q2: Custom - [details], Q3: B")
Update the spec by replacing each [NEEDS CLARIFICATION] marker with the user's selected or provided answer
Re-run validation after all clarifications are resolved
d. Update Checklist: After each validation iteration, update the checklist file with current pass/fail status
Report completion with feature directory, spec file path, checklist results, and readiness for the next phase (/spec-kitty.clarify or /spec-kitty.plan).