Files
gh-kimcharli-ck-skills-plug…/commands/sdd.md
2025-11-30 08:31:57 +08:00

6.5 KiB

description, allowed-tools
description allowed-tools
Update SDD artifacts (spec.md, plan.md, tasks.md, contracts) Bash(find:*), Bash(git:*), Read(*), Write(*), Edit(*), Grep(*), Glob(*)

SDD Artifacts Update Command

Context

  • SDD files: !find ./specs -name "spec.md" -o -name "plan.md" -o -name "tasks.md" | sort
  • Recent changes: !git diff --name-only HEAD~5..HEAD 2>/dev/null || echo "No recent commits"

Task

Update SDD artifacts for: $ARGUMENTS

SDD stands for Specification-Driven Development.

Target files:

  • specs/*/spec.md - Functional requirements
  • specs/*/plan.md - Implementation plan
  • specs/*/tasks.md - Task breakdown
  • specs//contracts/.md - Design contracts

Step 1: Identify Relevant Spec Directory

Based on $ARGUMENTS, determine which spec directory to update:

  • Extract feature number (e.g., "feature 005" → specs/005-*)
  • Or identify by feature name
  • List matching directories found

Step 2: Update spec.md (Functional Requirements)

Read Current spec.md

Read the relevant specs/*/spec.md file.

Update Requirements

What to update:

  1. Mark Completed Requirements:

    • Find requirements (FR-*) that are now implemented
    • Change status markers:
      • → [x] for completed
      • Add emoji if used in doc
  2. Add New Requirements (if discovered during implementation):

### FR-[N]: [Requirement Title]

**Priority:** [High/Medium/Low]
**Status:** [Planned/In Progress/Completed]

**Description:**
[What the requirement is]

**Acceptance Criteria:**

- [ ] Criterion 1
- [ ] Criterion 2

**Implementation Notes:**
[Details from actual implementation]
  1. Update Requirement Details:
    • Add implementation notes to existing requirements
    • Update acceptance criteria based on what was actually built
    • Note any deviations from original plan

Make Updates

Apply changes using Edit tool.


Step 3: Update plan.md (Implementation Plan)

Read Current plan.md

Read the relevant specs/*/plan.md file.

Update Plan Status

What to update:

  1. Phase Completion:
## Implementation Phases

### Phase 1: [Name]

**Status:** ✅ Completed
**Completion Date:** YYYY-MM-DD

**Implemented:**

- [What was built]
- [What was built]

**Deviations:**

- [Any changes from original plan]
  1. Architecture Decisions:
### Architecture Decision: [Title]

**Decision:** [What was decided]
**Rationale:** [Why this approach was chosen]
**Alternatives Considered:** [Other options]
**Implementation:** path/to/file.py:123
**Trade-offs:**

- Pro: [Benefit]
- Con: [Cost]
  1. Design Patterns Used:
### Design Pattern: [Pattern Name]

**Location:** path/to/implementation.py:123
**Purpose:** [Why this pattern was used]
**Implementation Details:** [How it's implemented]
  1. Risk Updates:
    • Mark mitigated risks as resolved
    • Add any new risks discovered
    • Update risk status

Make Updates

Apply changes using Edit tool.


Step 4: Update tasks.md (Task Breakdown)

Read Current tasks.md

Read the relevant specs/*/tasks.md file.

Update Task Status

What to update:

  1. Mark Completed Tasks:
- [x] Task name
  - **Status:** ✅ Completed
  - **Completion Date:** YYYY-MM-DD
  - **Implementation:** path/to/file.py:123
  - **Notes:** [Any lessons learned or important details]
  1. Update In-Progress Tasks:
- [ ] Task name
  - **Status:** 🔄 In Progress (60% complete)
  - **Current State:** [What's done, what's remaining]
  - **Blockers:** [Any issues]
  1. Add New Tasks (if discovered):
- [ ] New task discovered during implementation
  - **Priority:** High
  - **Dependency:** [Other tasks this depends on]
  - **Estimate:** [Time estimate]

Make Updates

Apply changes using Edit tool.


Step 5: Update Design Contracts (if applicable)

Find Contract Files

Look for specs//contracts/.md files related to this feature.

Update Contracts

What to update:

  1. API Contracts:
## Endpoint: [Name]

**Method:** GET/POST/etc
**Path:** /api/v1/resource

**Request:**

```json
{
  "param": "value"
}
```

Response:

{
  "result": "value"
}

Implementation: path/to/handler.py:123


2. **Interface Contracts:**
```markdown
## Interface: [ClassName]

**Location:** path/to/file.py:123

**Methods:**
- `method_name(param: Type) -> ReturnType`
  - Purpose: [What it does]
  - Example: [Usage example]
  1. Data Schema Contracts:
    • Update schema definitions to match actual implementation
    • Add examples with real data
    • Document any schema changes

Make Updates

Apply changes using Edit tool for each contract file.


Step 6: SDD Consistency Validation

Cross-check consistency:

  • spec.md requirements match implementation
  • plan.md phases align with completed tasks
  • tasks.md references correct file:line locations
  • Contracts match actual API/interface implementation
  • No orphaned requirements (in spec but not in plan/tasks)
  • All completed tasks have corresponding requirement markers

If inconsistencies found:

  • Document them
  • Fix or note as deviations with explanation

Output: Summary

📊 SDD Documentation Update Summary

Scope: $ARGUMENTS

Spec Directory: specs/[directory]

Files Updated:

File Updates Made Lines Changed
spec.md [FR-X completed, FR-Y updated] ~[estimate]
plan.md [Phase X status, architecture decisions] ~[estimate]
tasks.md [X tasks completed, Y added] ~[estimate]
contracts/*.md [Contracts updated] ~[estimate]

Requirement Status:

  • Completed: [count] requirements
  • In Progress: [count] requirements
  • Remaining: [count] requirements

Phase Status:

  • Completed phases: [list]
  • Current phase: [name] ([%] complete)
  • Remaining phases: [list]

SDD Consistency:

  • Requirements ↔ Implementation aligned
  • Plan ↔ Tasks aligned
  • Contracts ↔ Code aligned
  • No orphaned requirements
  • All references accurate

Execution Time: [X]s


Next Steps

Recommended actions:

  • Review SDD updates: git diff specs/
  • Update core docs: /ck:doc-review/core $ARGUMENTS
  • Run QA validation: /ck:doc-review/qa
  • Commit SDD updates with message like: docs(sdd): Update spec 005 for feature implementation