Agent skill

spec-driven-dev

Spec-Driven Development (SDD) agent for maintaining synchronized specifications, code, and documentation. Core principle: "1 Todo = 1 Commit = 1 Spec Update". Use this skill when: - Starting a new feature or task that needs specification - Implementing code based on existing specifications - Validating that code matches specifications - Updating CHANGELOG.md with changes - Managing PRD/specification documents - Ensuring traceability between requirements and implementation Triggers: "spec", "specification", "PRD", "requirements", "SDD", "spec-driven"

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/TakukiN/skillport_tmp/tree/main/spec-driven-dev

SKILL.md

Spec-Driven Development (SDD)

Core Principle

1 Todo = 1 Commit = 1 Spec Update

Every task must:

  1. Have a corresponding specification entry
  2. Result in a focused commit
  3. Update relevant documentation

Workflow

Phase 1: Specification

Before writing code, create or update the specification:

docs/
  PRD.md           # Product Requirements Document
  specs/
    feature-x.md   # Feature-specific specifications
  CHANGELOG.md     # All changes tracked here

Phase 2: Implementation

  1. Read the relevant spec from docs/specs/
  2. Create focused todo items (1 todo = 1 atomic change)
  3. Implement following the spec exactly
  4. Validate implementation matches spec

Phase 3: Documentation Sync

After each implementation:

  1. Update CHANGELOG.md with the change
  2. Update spec if implementation revealed necessary changes
  3. Commit with message referencing the spec

File Structure

PRD.md Template

markdown
# Product Requirements Document

## Overview
[Brief description]

## Goals
- Goal 1
- Goal 2

## Features
### Feature A
- **Status**: [Planned | In Progress | Done]
- **Spec**: [Link to detailed spec]
- **Priority**: [High | Medium | Low]

## Non-Goals
[What this project will NOT do]

Feature Spec Template

See references/spec-template.md for the full template.

CHANGELOG.md Format

markdown
# Changelog

## [Unreleased]

### Added
- Feature description (spec: feature-x.md)

### Changed
- Change description

### Fixed
- Fix description

Commands

Create New Spec

When user says "create spec for X":

  1. Generate spec from template
  2. Save to docs/specs/X.md
  3. Add entry to PRD.md
  4. Create initial CHANGELOG entry

Implement from Spec

When user says "implement X" or "build X":

  1. Read docs/specs/X.md
  2. Break into atomic todos
  3. For each todo:
    • Implement the change
    • Validate against spec
    • Update CHANGELOG.md
    • Commit with spec reference

Validate Spec

When user says "validate spec" or "check spec compliance":

  1. Read current spec
  2. Analyze implemented code
  3. Report discrepancies
  4. Suggest spec or code updates

Validation Script

Use scripts/validate_spec.py to check:

  • All features in PRD have specs
  • All specs have implementation status
  • CHANGELOG entries exist for completed features
  • Code files reference their specs

Best Practices

  1. Atomic Changes: Each todo should be completable in one commit
  2. Spec First: Always update spec before major implementation changes
  3. Traceability: Every commit message should reference the relevant spec
  4. Living Documentation: Specs evolve with the code, not after

Context Preservation

To prevent information loss during Auto-Compact:

  • All decisions documented in specs
  • Rationale included in CHANGELOG
  • Git history provides complete audit trail

Expand your agent's capabilities with these related and highly-rated skills.

TakukiN/skillport_tmp

ui-designer

アプリケーションのUIデザイン方針を対話形式で決定する。 カラースキーム、レイアウト、コンポーネントスタイル、UXパターンなどを ユーザーの好みに合わせて提案・調整する。 トリガー条件: (1)「デザインを変えたい」(2)「UIを改善したい」(3)「見た目を変更したい」(4)「テーマを変えたい」(5) デザインに関する相談

0 0
Explore
TakukiN/skillport_tmp

requirements-definition

画像・動画共有システム(オンプレミス)の機能要件・非機能要件の定義を支援する。 要件のリストアップ、詳細説明、ベストプラクティスの提案を行う。 トリガー条件: (1)「機能要件を定義したい」(2)「非機能要件を定義したい」(3)「要件を確認したい」(4) 画像・動画共有システムの要件について質問されたとき

0 0
Explore
mattpocock/skills

edit-article

Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.

111,310 9,758
Explore
mattpocock/skills

setup-pre-commit

Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.

111,310 9,758
Explore
mattpocock/skills

obsidian-vault

Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.

111,310 9,758
Explore
mattpocock/skills

scaffold-exercises

Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.

111,310 9,758
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results