This tile was archived by the owner on Feb 4, 2026
Reason: Superseded by tessl-labs/intent-integrity-kit
tessl install tessl-labs/spec-kit@0.6.4Specification-driven development workflow skills for AI coding assistants
Create or update a feature specification from a natural language feature description.
$ARGUMENTSYou MUST consider the user input before proceeding (if not empty).
Before ANY action, load and internalize the project constitution:
Read constitution:
cat .specify/memory/constitution.md 2>/dev/null || echo "NO_CONSTITUTION"If file doesn't exist:
WARNING: Project constitution not found at .specify/memory/constitution.md
Proceeding without constitution.
Recommendation: Run /speckit-00-constitution first to define project principles.If exists, parse all principles, constraints, and governance rules.
The text the user typed after /speckit-01-specify is the feature description.
Analyze the feature description and create a 2-4 word short name:
Examples:
Before creating a feature branch, check context and ask user:
Check current branch:
git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "no-git"Decide whether to prompt:
^[0-9]{3}-): suggest skipping branch creationAsk user (with context-aware default):
Create feature branch? [Y/n]
- Y (default): Create new branch 'NNN-feature-name'
- n: Stay on current branch, create feature directory onlyIf user declines branch creation (answers 'n', 'no', or 'skip'):
--skip-branch flag to the scriptUnix/macOS/Linux:
# With branch creation (default):
bash .tessl/tiles/tessl-labs/spec-kit/skills/speckit-01-specify/scripts/bash/create-new-feature.sh --json "$ARGUMENTS" --short-name "your-short-name"
# Without branch creation (if user declined):
bash .tessl/tiles/tessl-labs/spec-kit/skills/speckit-01-specify/scripts/bash/create-new-feature.sh --json --skip-branch "$ARGUMENTS" --short-name "your-short-name"Windows (PowerShell):
# With branch creation (default):
pwsh .tessl/tiles/tessl-labs/spec-kit/skills/speckit-01-specify/scripts/powershell/create-new-feature.ps1 -Json "$ARGUMENTS" -ShortName "your-short-name"
# Without branch creation (if user declined):
pwsh .tessl/tiles/tessl-labs/spec-kit/skills/speckit-01-specify/scripts/powershell/create-new-feature.ps1 -Json -SkipBranch "$ARGUMENTS" -ShortName "your-short-name"Parse the JSON output for BRANCH_NAME, SPEC_FILE, and FEATURE_NUM.
IMPORTANT: Only run this script ONCE per feature. The JSON output contains the paths you need.
Read .tessl/tiles/tessl-labs/spec-kit/skills/speckit-01-specify/templates/spec-template.md to understand required sections.
Follow this execution flow:
Parse user description from Input
ERROR: No feature description provided.
Usage: /speckit-01-specify <feature description>
Example: /speckit-01-specify Add user authentication with OAuth2 supportExtract key concepts from description
For unclear aspects:
[NEEDS CLARIFICATION: specific question] if:
Fill User Scenarios & Testing section
Generate Functional Requirements
Define Success Criteria
Identify Key Entities (if data involved)
Write to SPEC_FILE using the template structure.
Before finalizing, scan the draft specification for implementation details that belong in /speckit-03-plan:
Check for violations - specification MUST NOT mention:
Allowed technical terms (these describe WHAT, not HOW):
If violations found:
╭─────────────────────────────────────────────────────────────────╮
│ PHASE SEPARATION VIOLATION DETECTED │
├─────────────────────────────────────────────────────────────────┤
│ Specification contains implementation details: │
│ - [list each violation] │
│ │
│ Implementation decisions belong in /speckit-03-plan. │
│ Specification defines WHAT users need, not HOW to build it. │
├─────────────────────────────────────────────────────────────────┤
│ ACTION: Removing implementation details... │
╰─────────────────────────────────────────────────────────────────╯Auto-fix: Rewrite violating sections to be implementation-agnostic:
Re-validate after fixes until no violations remain.
Generate a checklist file at FEATURE_DIR/checklists/requirements.md:
# Specification Quality Checklist: [FEATURE NAME]
**Purpose**: Validate specification completeness and quality before 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
- [ ] 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 `/speckit-02-clarify` or `/speckit-03-plan`If [NEEDS CLARIFICATION] markers remain (max 3):
Present each question in this format:
## Question [N]: [Topic]
**Context**: [Quote relevant spec section]
**What we need to know**: [Specific question]
**Suggested Answers**:
| Option | Answer | Implications |
|--------|--------|--------------|
| A | [First answer] | [Impact] |
| B | [Second answer] | [Impact] |
| C | [Third answer] | [Impact] |
| Custom | Provide your own | [Instructions] |
**Your choice**: _[Wait for user response]_Output:
/speckit-02-clarify or /speckit-03-plan)Success criteria must be:
Good examples:
Bad examples:
If spec.md already exists, perform semantic diff before overwriting:
test -f "$SPEC_FILE" && echo "EXISTING_SPEC_FOUND"Read and parse existing spec.md
Extract semantic elements:
Compare with new content:
╭─────────────────────────────────────────────────────╮
│ SEMANTIC DIFF: spec.md │
├─────────────────────────────────────────────────────┤
│ User Stories: │
│ + Added: US4 "Export Tasks" │
│ ~ Changed: US2 title updated │
│ - Removed: None │
│ │
│ Requirements: │
│ + Added: FR-011, FR-012 │
│ ~ Changed: FR-003 description modified │
│ - Removed: FR-008 (verify intentional) │
│ │
│ Success Criteria: │
│ + Added: SC-008 │
│ ~ Changed: None │
│ - Removed: None │
├─────────────────────────────────────────────────────┤
│ DOWNSTREAM IMPACT: │
│ ⚠ plan.md may need updates (new requirements) │
│ ⚠ tasks.md may need regeneration │
│ ⚠ checklists may be invalidated │
╰─────────────────────────────────────────────────────╯Ask for confirmation:
If changes detected, warn about affected artifacts:
After completing the specification:
Recommended: Run /speckit-02-clarify to resolve ambiguities
Required: Run /speckit-03-plan to create the technical implementation plan
Suggest to user:
Specification complete! Next steps:
- /speckit-02-clarify - (Recommended) Resolve any ambiguities and improve spec quality
- /speckit-03-plan - Create technical implementation plan