← ClaudeAtlas

write-persistence-scenarioslisted

既存の業務シナリオと業務イベントから、データの作成・更新・削除に関係する断面を選び、アクター、事前状態、業務イベント、判断、残す事実、次状態、履歴、保持理由を永続化シナリオとして書く。3操作を検討済みで、未確認事項のないシナリオをデータモデリングへ渡す。「永続化シナリオを作って」「データモデリングの前提を整理して」と言われたときに使う。
nakamori-naoya/bdd-discovery-and-formulation-plugins · ★ 0 · AI & Automation · score 70
Install: claude install-skill nakamori-naoya/bdd-discovery-and-formulation-plugins
# write-persistence-scenarios(永続化シナリオを先に書く) 読み終えると、業務イベントと業務シナリオから、データの形を考える前に「何が起きたため何を残すのか」を永続化シナリオとして書き、作成・更新・削除の3操作を検討済みにできる。エンティティ、テーブル、正本方式、投影はこのskillの外である。 ## 入力 根拠づけられた入力、業務イベントの一覧と関係する役割、既存の業務シナリオまたは既存の論理設計資料を、この判断規律を適用するagentが同じ文脈に保持していること。資料に無い判断は補わず、未確認として止める。 ## 判断基準 同梱の内部skill `write-bdd`の規律のうちアクターと利害関係者、業務イベント、ユビキタス言語、BDDの前提・トリガー・失敗理由を読んでから始める。 | 観察対象 | 述語 | 行動 | |---|---|---| | 作成の候補 | 業務上の事実が初めて成立する | 作成のシナリオにする | | 更新の候補 | 別の事実によって現在状態が変わる。上書きか、新しい事実の追加かが決まっている | 更新のシナリオにする。訂正・取消は新しい事実の追加であり、物理削除と混ぜない | | 削除の候補 | 保持理由が尽きて物理的に消せる条件が業務上決まっている | 削除のシナリオにする。業務上の取消・失効・終了は削除ではない | | 各操作 | シナリオあり、または業務上存在しない理由がある | `covered`か理由つきの`not-applicable`として3操作すべてを記録する | | 一つのシナリオ | 一つの業務イベントと一つの永続化上の変化を持つ | 分ける | | 残す事実 | 現在状態だけでなく、後の判断、取消、訂正、説明に必要な事実が含まれる | 含める。誰が何を説明できなくなるかで判断する | | 実現方法の語 | API、DTO、SQL、テーブル、ORMが混ざっている | 業務の言葉へ言い換える | | 確からしさ | 業務を知る人が確認した | `confirmed`。未確認のシナリオは`assumed`(根拠のある仮説)または`unknown`として渡し、仮説に依存する記録は論理モデル側で仮説と明示させる | ## 手順 1. 利用者の業務シナリオ、業務イベントの一覧、業務資料を先に読む。 2. 作成・更新・削除の各操作を`covered`(シナリオあり)または`not-applicable`(業務上の理由)として記録する。 3. 永続化シナリオを1件ずつ、`場合 / アクター / 事前状態 / 業務イベント / 条件 / 業務判断 / 業務上の結果 / 次状態 / 操作(作成・更新・削除) / 残す・変える・消せる事実 / 履歴(過去の何を残すか) / 保持(物理削除を許す条件) / 出所 / 確からしさ`で書く。 4. シナリオごとに条件マトリクスを作り、条件マトリクスJSONを標準入力で`python3 scripts/scenario_matrix.py check`へ渡す。pathはこのSKILLと同じdirectoryを基準にし、fileは介さない。stdoutにJSONを1行ずつ返し、終了codeは0が違反なし、1が違反あり(各行が`path` / `detail` / `howto`)、2が入力を読めない(空、不正JSON)。0以外なら診断に従ってシナリオを直す。単一失敗では検証対象以外の必要条件をすべて成立させる。 ## 停止条件