complete-spec

complete-spec

Interactive conversation to resolve [NEEDS CLARIFICATION] markers using /speckit.clarify command. Claude asks questions about missing features, UX/UI details, behavior, and priorities. Updates specs in .specify/memory/ with answers to create complete, unambiguous documentation. This is Step 5 of 6 in the reverse engineering process.

0bintang
0fork
Diperbarui 1/1/2026
SKILL.md
readonlyread-only
name
complete-spec
description

Interactive conversation to resolve [NEEDS CLARIFICATION] markers using /speckit.clarify command. Claude asks questions about missing features, UX/UI details, behavior, and priorities. Updates specs in .specify/memory/ with answers to create complete, unambiguous documentation. This is Step 5 of 6 in the reverse engineering process.

Complete Specification (with GitHub Spec Kit)

Step 5 of 6 in the Reverse Engineering to Spec-Driven Development process.

Estimated Time: 30-60 minutes (interactive)
Prerequisites: Step 4 completed (docs/gap-analysis-report.md exists with clarifications list)
Output: Updated specs in specs/ with all [NEEDS CLARIFICATION] markers resolved


When to Use This Skill

Use this skill when:

  • You've completed Step 4 (Gap Analysis)
  • Have [NEEDS CLARIFICATION] markers in specifications
  • Ready for interactive clarification session using /speckit.clarify
  • Want to finalize specifications before implementation

Trigger Phrases:

  • "Complete the specification"
  • "Resolve clarifications"
  • "Run speckit clarify"
  • "Let's clarify the missing details"

What This Skill Does

Uses /speckit.clarify and interactive conversation to fill specification gaps:

  1. Use /speckit.clarify - GitHub Spec Kit's built-in clarification tool
  2. Interactive Q&A - Ask questions about missing features and details
  3. Update Specifications - Add answers to specs in specs/
  4. Resolve Ambiguities - Remove all [NEEDS CLARIFICATION] markers
  5. Update Implementation Plans - Refine plans in specs/
  6. Finalize for Implementation - Ready for /speckit.tasks and /speckit.implement

Note: /speckit.clarify provides structured clarification workflow. This skill can also supplement with custom Q&A for project-specific needs.


Process Overview

Step 1: Collect All Clarifications

From specs/gap-analysis.md and all feature specs:

  • List all [NEEDS CLARIFICATION] markers
  • Group by feature
  • Prioritize by impact (P0 first)

Step 2: Interactive Q&A Session

For each clarification, ask the user:

Example questions:

  • "The Analytics Dashboard feature is missing. What charts/metrics should be displayed?"
  • "For photo upload, should it be drag-and-drop or click-to-browse?"
  • "Should offline sync download full data or just metadata?"
  • "What's the maximum number of photos per fish?"
  • "For species input, free-text field or autocomplete dropdown?"

Listen for:

  • Feature requirements
  • UX/UI preferences
  • Business logic rules
  • Constraints and limitations
  • Priority adjustments

Step 3: Update Feature Specs

As user answers questions:

  • Add details to feature specs
  • Define acceptance criteria
  • Specify UI behavior
  • Document business rules
  • Remove [NEEDS CLARIFICATION] markers

Step 4: Confirm Priorities

Review the prioritized implementation plan:

  • Are P0 items truly critical?
  • Should any features move up/down in priority?
  • What's the target timeline?

Step 5: Finalize Specifications

Ensure all specs are:

  • Complete (no clarification markers)
  • Unambiguous (clear requirements)
  • Testable (acceptance criteria defined)
  • Prioritized (P0/P1/P2/P3)

Example Interactive Session

Claude:

I found 12 items that need clarification. Let me go through them by priority.

F003 - Analytics Dashboard [P1]
This feature is marked as missing. What specific charts and metrics should be displayed?

User:

I want to see:

  • Fish count over time (line chart)
  • Water parameter trends (multi-line chart)
  • Tank health score (gauge)
  • Recent alerts (list)

Claude:

Got it! I'll add those requirements to F003.

Should these be real-time updates or daily aggregates?

User:

Daily aggregates for the charts, but real-time for alerts.

Claude:

Perfect. Next question:

F002 - Photo Upload UI [P0]
For uploading fish photos, would you prefer drag-and-drop or click-to-browse?

User:

Both options would be ideal.

Claude:

Understood. What's the maximum number of photos per fish?

User:

Let's limit it to 10 photos per fish.

[...continues for all clarifications...]


Output Updates

Updated Feature Specs

Before:

## Analytics Dashboard [NEEDS CLARIFICATION]

Status: ❌ MISSING

[NEEDS CLARIFICATION] What charts and metrics to display?

After:

## Analytics Dashboard

Status: ❌ MISSING
Priority: P1

### Overview
Dashboard displaying fish count trends, water parameter history, tank health, and recent alerts.

### Acceptance Criteria
- [ ] Fish count over time line chart (daily aggregates)
- [ ] Water parameter trends multi-line chart (pH, temp, ammonia)
- [ ] Tank health score gauge (0-100)
- [ ] Recent alerts list (real-time updates)
- [ ] Date range selector (7d, 30d, 90d, all)

### UI Requirements
- Responsive design (desktop + mobile)
- Charts use Recharts library
- Real-time updates for alerts via WebSocket

### API Requirements
- GET /api/analytics/fish-count?range=30d
- GET /api/analytics/water-params?range=30d
- GET /api/analytics/health-score
- WebSocket /ws/alerts for real-time alerts

Updated Gap Analysis

Remove resolved clarifications from the list.

Updated Implementation Status

Reflect finalized priorities and details.


Success Criteria

After running this skill, you should have:

  • ✅ All [NEEDS CLARIFICATION] markers resolved
  • ✅ Feature specs updated with complete details
  • ✅ Acceptance criteria defined for all features
  • ✅ Priorities confirmed (P0/P1/P2/P3)
  • ✅ Implementation roadmap finalized
  • ✅ Ready to proceed to Step 6 (Implement from Spec)

Next Step

Once specifications are complete and unambiguous, proceed to:

Step 6: Implement from Spec - Use the implement skill to systematically build missing features.


Interactive Guidelines

Asking Good Questions

DO:

  • Ask specific, focused questions
  • Provide context for each question
  • Offer examples or common patterns
  • Ask one category at a time (don't overwhelm)
  • Confirm understanding by summarizing

DON'T:

  • Ask overly technical questions (keep user-focused)
  • Assume answers (always ask)
  • Rush through clarifications
  • Mix multiple questions together

Handling Uncertainty

If user is unsure:

  • Suggest common industry patterns
  • Provide examples from similar features
  • Offer to defer to later (mark as P2/P3)
  • Document the uncertainty and move on

Documenting Answers

For each answer:

  • Update the relevant feature spec immediately
  • Add to acceptance criteria
  • Remove clarification marker
  • Confirm understanding with user

Technical Notes

  • Use the AskUserQuestion tool for structured Q&A
  • Group related questions together
  • Prioritize P0 clarifications first
  • Keep a running list of resolved items
  • Update specs incrementally (don't batch)

Remember: This is Step 5 of 6. After this interactive session, you'll have complete, unambiguous specifications ready for implementation in Step 6.

You Might Also Like

Related Skills

coding-agent

coding-agent

179Kdev-codegen

Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.

openclaw avataropenclaw
Ambil
add-uint-support

add-uint-support

97Kdev-codegen

Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.

pytorch avatarpytorch
Ambil
at-dispatch-v2

at-dispatch-v2

97Kdev-codegen

Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.

pytorch avatarpytorch
Ambil
skill-writer

skill-writer

97Kdev-codegen

Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.

pytorch avatarpytorch
Ambil

Implements JavaScript classes in C++ using JavaScriptCore. Use when creating new JS classes with C++ bindings, prototypes, or constructors.

oven-sh avataroven-sh
Ambil

Creates JavaScript classes using Bun's Zig bindings generator (.classes.ts). Use when implementing new JS APIs in Zig with JSC integration.

oven-sh avataroven-sh
Ambil