スキル一覧に戻る
h2b-dev-studio

sdd-decisions

by h2b-dev-studio

웹 기술을 탐색하고 실험하기 위한 개인 공간입니다.

0🍴 0📅 2026年1月20日
GitHubで見るManusで実行

SKILL.md


name: sdd-decisions description: | Create and manage Decision (DEC-NNN) and Assumption (ASM-NNN) records. Use when: documenting non-obvious choices, tracking risky assumptions, explaining rationale. Triggers: "document decision", "create DEC", "track assumption", "@rationale", "why did we choose"

SDD Decisions & Assumptions

docs/sdd-guidelines.md §1.4: "A system can have perfect existence links yet lose integrity if decision reasoning is lost."

When to Document

Decisions (DEC-NNN)

Non-obvious (document)Obvious (skip)
Alternatives existNo realistic alternative
Trade-off involvedDirect REQ → Design mapping
Future risk from assumptionIndustry standard practice
Reviewer would ask "why?"Self-evident

Assumptions (ASM-NNN)

High-risk (formal ASM-NNN)Low-risk (inline @assumes)
Invalidation = reworkInvalidation = minor fix
External dependencyInternal detail
Multiple items share itSingle item affected
Uncertain confidenceHigh confidence

Format by Significance

LevelDecisionAssumption
HighSeparate DEC-NNN.mdSeparate ASM-NNN.md
MediumInline @rationale blockInline @assumes + brief
LowInline @rationale commentInline @assumes only

Instructions

Creating a Decision Record

  1. Assess significance — Does it warrant a file or inline?

  2. For High significance:

    # Templates are in this skill's templates/ directory
    # Copy to your project's spec/decisions/
    mkdir -p spec/decisions
    # Then create from template structure (see templates/DEC-template.md)
    
  3. Fill required fields:

    • Choice (what was decided)
    • Alternatives (what was rejected)
    • Rationale (why this choice)
    • Impacts (what this affects)
  4. Link from artifact:

    `@rationale:` DEC-003
    

Creating an Assumption Record

  1. Assess risk — Formal record or inline?

  2. For High-risk:

    # Copy template structure to your project
    mkdir -p spec/assumptions
    # Then create from template structure (see templates/ASM-template.md)
    
  3. Fill required fields:

    • Assumption (what we assume true)
    • Basis (why we believe it)
    • Risk (what if wrong)
    • Invalidation triggers (conditions that would falsify)
  4. Link from artifact:

    `@assumes:` ASM-002
    

Quick Reference

Inline Rationale (Medium/Low)

## Token Bucket Algorithm

`@derives:` REQ-005
`@rationale:` Chose token bucket over sliding window — O(1) memory per key 
              vs O(n) for sliding window. Critical for 10K+ concurrent keys.

Inline Assumption (Low-risk)

## API Gateway

`@derives:` REQ-003
`@assumes:` Single-region deployment (if multi-region, need distributed rate limiting)

Reference to Formal Record

## Authentication Flow

`@derives:` REQ-AUTH-001
`@rationale:` DEC-002 (OAuth2 vs custom auth)
`@assumes:` ASM-001 (IdP availability)

Directory Structure

spec/
├── decisions/
│   ├── DEC-001.md    # Architecture decisions
│   ├── DEC-002.md
│   └── ...
└── assumptions/
    ├── ASM-001.md    # High-risk assumptions
    └── ...

ID Conventions

TypePatternExample
DecisionDEC-{NNN}DEC-001
Domain-specificDEC-{DOMAIN}-{NNN}DEC-AUTH-001
AssumptionASM-{NNN}ASM-001
Domain-specificASM-{DOMAIN}-{NNN}ASM-PERF-001

Superseding Decisions

When a decision is replaced:

---
id: DEC-005
supersedes: DEC-002
---

# Use JWT instead of Session Tokens

## Context

DEC-002 chose session tokens. New requirements (REQ-015: stateless API) 
invalidate that decision.

...

Update old decision:

---
id: DEC-002
status: superseded
superseded_by: DEC-005
---

Assumption Invalidation

When assumption proves false:

  1. Update ASM record:

    status: invalidated
    invalidated_at: 2025-01-17
    invalidated_by: "Production showed 3 regions needed"
    
  2. Find all @assumes: ASM-NNN references

  3. Re-verify each dependent artifact

  4. Create new assumption or decision if needed

Verification Checklist

  • Non-obvious choices have @rationale
  • High-risk assumptions have ASM-NNN records
  • All DEC/ASM records have required fields
  • Superseded decisions marked with superseded_by
  • Invalidated assumptions tracked

Templates

References

  • docs/sdd-guidelines.md §1.4 Supporting Records
  • docs/sdd-philosophy.md §2.2 Decision

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です