AIDF-NEXA トレーニングプログラム

Day 2: SoT・テンプレート・ワークフロー

前提条件: Day 1 完了、Claude Code セットアップ済み

時間割

時間 トピック 時間配分
10:00 Day 1 振り返り 5 分
10:05 SoT: ルール・同期・よくあるミス 20 分
10:25 テンプレート&プロンプト 20 分
10:45 ワークフロー+品質ゲート 15 分
~~~ 休憩 5 分 ~~~
11:05 演習: SoT同期 20 分
11:25 演習: テンプレート適用 25 分
11:50 ファクト+Q&A+Day 3 プレビュー 10 分

パート1: 理論 1時間    パート2: 実習 1時間

パート1: 理論

10:00 - 11:00

Day 1 振り返り

Day 1 で学んだこと:

1. NEXA = AI オーケストレーション・フレームワーク(ツールではない)

2. 5つの基本フェーズ:  RD → BD → DD → CODE → 単体テスト

3. SoT = Source of Truth、確認済みドキュメント、90_Input/ に保存

4. 3層構造: 90_Input → 91_Output → 92_Analysis

5. DocumentMap = GPS、CLAUDE.md = ルール

6. Claude Code セットアップ完了

今日: SoT + テンプレート + ワークフローを深掘り

SoT — 4つのルール + 階層

⚠️ SoT ≠ Output — Output は未確認の可能性あり、SoT は確認済み

# ルール 詳細
1 唯一のソース / NGUỒN DUY NHẤT 正式版は1つのみ。90_Input/ に保存
2 最新バージョン / PHIÊN BẢN MỚI NHẤT v3 > v2 > v1
3 コピー、参照しない / SAO CHÉP, KHÔNG REF 次フェーズの 90_Input/ にコピー
4 Inputは編集不可 / KHÔNG SỬA INPUT 変更が必要 → ソースを修正 → 再同期

SoT階層 — 上位ほどTRUTHが高い

🔝 00_Input/              ← プロジェクト全体のSoT
   01_RD/90_Input/        ← RD SoT
   02_BD/90_Input/        ← BD SoT
   03_DD/90_Input/        ← DD SoT
   矛盾時 → 上位が勝つ

SoT同期 — いつ、どうやって

いつ同期するか

トリガー アクション
BD 承認済み BD を 03_詳細設計/90_Input/ にコピー
BD 更新済み 再同期 → DD を更新
DD 完成 CODE のための参照

同期の方法

ステップ1: ソースを特定
  02_基本設計/91_Output/01_画面設計/SCREEN-005-task-create-edit.md

ステップ2: コピー先にコピー
  03_詳細設計/90_Input/01_画面設計/SCREEN-005-task-create-edit.md

ステップ3: 確認
  diff [source] [target]    ← 100%一致すること

コマンド: /sot:check | /sync:bd-to-dd

SoT — よくある5つのミス

ミス1: 古いバージョンを使用 ❌
Dev A が SCREEN-005_v2.md(古い)を使用 → SoT は最新版なのに

ミス2: 90_Input/ を直接編集 ❌
Input のファイルを直接変更 → SoT の整合性が崩壊

ミス3: 同期忘れ ❌
BD が更新 → DD は古い BD のまま作業継続

ミス4: Output を SoT と勘違い ❌
91_Output を未レビューのまま次フェーズへ渡す

ミス5: 上流 SoT の変更未検知 ❌
00_Input が更新 → BD/DD は古い情報のまま

手動 vs NEXA 対策

# ミス 手動 NEXA
1 古いVer使用 毎回確認 /sot:check
2 Input直接編集 ルールで禁止 scope-guard hook
3 同期忘れ diff確認 /sync:bd-to-dd
4 Output→SoT レビュー Quality Gate
5 上流SoT変更 git log確認 /sot:check + session-init hook

ポイント: NEXA は「忘れても安全」な仕組み — ルールは自動で守られる

テンプレート — なぜ必要?

テンプレートなし:
  Dev A: レイアウト・フィールドあり ✅ エラーハンドリングなし ❌
  Dev B: 完全だがフォーマットが異なる ❌
  → レビューが困難、品質にばらつき

テンプレートあり:
  全 BD → 同じフォーマット → 品質均一 ✅
  AI 生成 → 一貫した出力 ✅
  レビュー速い → 同じ順序 ✅

テンプレートの優先順位

  1. 02_基本設計/98_Template/ — プロジェクト専用 (最優先)
  2. .aidf/templates/ — AIDF標準テンプレート
  3. /bd:generate — スキル内蔵テンプレート

テンプレートの種類

テンプレート ファイル 用途
画面設計 画面設計書テンプレート.md 全画面タイプ共通
API設計 API設計テンプレート.md REST API(認証・CRUD)
DB設計 データベース設計テンプレート.md ER図・テーブル設計
基本設計 基本設計書テンプレート.md システム全体の基本設計
非機能要件 非機能要件設計書テンプレート.md 性能・セキュリティ要件

BD テンプレートの7つのセクション

1. 画面概要      (Tổng quan màn hình
2. 画面レイアウト  (Bố cục
3. 画面項目一覧   (Danh sách trường
4. 画面アクション  (Hành động
5. 画面遷移      (Chuyển màn hình
6. エラーハンドリング (Xử lý lỗi
7. 関連要件      (Yêu cầu liên quan

プロンプトの使い方

どこにある?

パス 内容
02_基本設計/98_Template/ BD テンプレート(5種類)
.aidf/templates/ AIDF 標準テンプレート
/bd:generate, /dd:generate コマンド内蔵プロンプト+テンプレート

BD から DD を作るパターン

with SoT @02_基本設計/91_Output/01_画面設計/SCREEN-005-task-create-edit.md,
create detail design for SCREEN-005
follow template @02_基本設計/98_Template/画面設計書テンプレート.md
すべきこと すべきでないこと
@ でファイルを明示 「BD ファイルを使う」(曖昧)
テンプレートを指定 テンプレートを自動任せ
1プロンプト = 1画面/API 一度に全部生成
出力をレビューしてから次へ レビューなしで連続実行

/dd:generate = 4行を1行に

手動プロンプト(前のスライド参照)→ NEXAコマンド:

/dd:generate SCREEN-005

裏側の自動処理:

/dd:generate SCREEN-005
    ↓
① 90_Input/ — SoT 自動検索
② 98_Template/ — テンプレート自動選択
③ 内蔵プロンプト — 自動適用
④ Quality Gate — 品質チェック自動実行
    ↓
91_Output/ → SCREEN-005_DD.md ✅

手動プロンプト = 仕組みの理解用。実務では NEXA コマンド推奨

ワークフロー+品質ゲート

Extract → RD → BD → DD → CODE → TEST
                │         │          │
            ゲート①    ゲート②    ゲート③
           RD レビュー BD レビュー  DD レビュー

3段階レビュー

レベル 担当 所要時間
1 セルフレビュー / TỰ REVIEW — 作成者が自分でレビュー 約30 分
2 ピアレビュー / ĐỒNG NGHIỆP REVIEW — 同僚がレビュー 約1 時間
3 リードレビュー / LEAD REVIEW — リードが最終承認 約30 分

品質ゲート = 不合格 → 次のフェーズに進めない

入力が悪い → 出力が悪い

NEXA の品質ツール

ツール 役割 いつ?
/rd:review RD 品質スコア+改善提案 RD レビュー時
/bd:review BD 品質スコア+テンプレート適合率 BD レビュー時
/dd:review DD 品質+BD 整合性チェック DD レビュー時
scope-guard ロール外ファイル書き込み警告 常時自動
session-init セッション開始時にSoT整合性チェック 常時自動

NEXA = Level 1(セルフレビュー)をAIで自動化 → 人間は Level 2・3 に集中

パート2: 実習

11:05 - 12:00

演習1 — SoT同期

⚠️ ファイルが見つからない場合: トレーナーに報告。バックアップ環境を使用

ステップ0: 演習用ブランチに切替

git checkout exercise/sot-dirty

ステップ1: 現在の SoT を確認

ls 03_詳細設計/90_Input/01_画面設計/
ls 02_基本設計/91_Output/01_画面設計/

ステップ2: バージョンを比較

画面 BD Output DD Input(何がある?) 問題?
SCREEN-001 SCREEN-001-login.md _ログイン_基本設計_v1.md, _v2.md, -login.md ________
SCREEN-005 -task-create-edit.md _タスク作成編集_基本設計_v1~_v4, -task-create-edit.md ________

DD Input に古いバージョンが残っている!

ステップ3: 差分を確認

diff 02_基本設計/91_Output/01_画面設計/SCREEN-001-login.md \
     03_詳細設計/90_Input/01_画面設計/SCREEN-001-login.md
# → 差分なし = OK ✅

diff 02_基本設計/91_Output/01_画面設計/SCREEN-005-task-create-edit.md \
     03_詳細設計/90_Input/01_画面設計/SCREEN-005-task-create-edit.md
# → 差分あり = NG ❌ どこが違う?

ステップ4: 修正する

# 正しい BD をコピー
cp 02_基本設計/91_Output/01_画面設計/SCREEN-005-task-create-edit.md \
   03_詳細設計/90_Input/01_画面設計/SCREEN-005-task-create-edit.md
# 古いバージョンを削除
rm 03_詳細設計/90_Input/01_画面設計/SCREEN-005_タスク作成編集_基本設計_v*.md
rm 03_詳細設計/90_Input/01_画面設計/SCREEN-001_ログイン_基本設計_v*.md
# 再確認
diff 02_基本設計/91_Output/01_画面設計/SCREEN-005-task-create-edit.md \
     03_詳細設計/90_Input/01_画面設計/SCREEN-005-task-create-edit.md
# → 差分なし = OK ✅

演習2 — テンプレート適用

⚠️ 演習1が未完了でもOK — ステップ1からそのまま始められます

「通知一覧」画面の BD を新規作成する

情報
Screen ID SCREEN-009
URL /notifications
認証 必須
タイプ 一覧 → 画面設計書テンプレート.md を使用

ステップ1 (5分): テンプレートをコピー

cp 02_基本設計/98_Template/画面設計書テンプレート.md \
   02_基本設計/91_Output/01_画面設計/SCREEN-009-notification-list.md

ステップ2 (5分): 画面概要を記入
画面名: 通知一覧画面、目的: タスクの担当割当・コメント・期限変更の通知一覧

ステップ3 (10分): 画面項目一覧を記入

# フィールド タイプ 必須
1 通知タイプ badge
2 メッセージ text
3 関連タスク link
4 日時 datetime
5 既読 boolean

ステップ4 (5分): アクション・遷移・エラーを記入
アクション: 一覧取得 (GET /api/notifications)・既読マーク・タスク詳細へ遷移

ステップ5 (ボーナス 5分): Claude に BD を確認させる
Claude, review SCREEN-009-notification-list.md against 画面設計書テンプレート.md — any missing sections?

ファクト+まとめ

Fact 1: BD が更新されたら → まず DD Input に再同期(DD を直接編集しない)

SoT ルール4: Inputは編集不可。ソースを修正 → 再同期

Fact 2: 一覧画面(検索・CRUD)→ 画面設計書テンプレート.md を使う

画面設計は1テンプレートで全タイプ対応。API・DBは各専用テンプレートあり

Fact 3: DD の implementation_ready: true = コード生成を開始できる

コーディング完了でもレビュー通過でもない。DD → CODEの品質ゲート

Day 2 まとめ+Day 3 プレビュー

今日学んだこと:

  • ✅ SoT の4つのルール+同期プロセス+よくある5つのミス
  • ✅ 5種類のテンプレート+優先順位
  • ✅ プロンプトのパターン(@ を使う、テンプレートを指定、1画面ずつ)
  • ✅ ワークフロー: 3つの品質ゲート+3段階レビュー
  • ✅ 演習: SoT同期+テンプレート適用

Day 3:

  • BD から DD を作成(画面+API)
  • DD からコードを生成(フロントエンド+バックエンド)
  • ワークショップ: BD → DD → Code の実践パイプライン

付録

第2日の用語集

用語 日本語 Tiếng Việt
SoT Sync フェーズ間のドキュメント同期
Template 標準ドキュメントの雛形
Prompt AI への命令・指示
Quality Gate 次フェーズへ進む前の品質チェックポイント
Peer Review 同僚によるレビュー
YAML frontmatter DD ファイル先頭のメタデータ(document_type, version...)
implementation_ready コード生成準備完了

Day 3でお会いしましょう!

DD作成+コード生成

Chào mừng mọi người đến với buổi học Day 2 của chương trình AIDF-NEXA. Hôm nay chúng ta sẽ đi sâu vào ba chủ đề quan trọng: SoT, Templates và Quy trình làm việc. Điều kiện tiên quyết là các bạn đã hoàn thành Day 1 và đã thiết lập xong Claude Code trên máy. Nếu ai chưa hoàn thành, hãy báo cho tôi biết ngay bây giờ. Chúng ta sẽ có hai phần chính: một giờ lý thuyết và một giờ thực hành. Hãy bắt đầu thôi!

Đây là chương trình chi tiết cho buổi học hôm nay. Chúng ta bắt đầu bằng 5 phút ôn tập lại những gì đã học ở Day 1. Tiếp theo là 20 phút về SoT — đây là chủ đề cốt lõi của hệ thống NEXA. Sau đó là Templates và Prompts, rồi Quy trình làm việc cùng các cổng chất lượng. Sau giải lao 5 phút, chúng ta chuyển sang phần thực hành với hai bài tập cụ thể. Cuối buổi sẽ có kiểm tra nhanh và xem trước nội dung Day 3. Tổng cộng khoảng 2 giờ — hãy tận dụng thời gian tốt nhé.

Bắt đầu Phần 1 — phần lý thuyết. Trong một giờ này, chúng ta sẽ xây dựng nền tảng kiến thức vững chắc trước khi bước vào thực hành. Tôi sẽ giải thích từng khái niệm với ví dụ thực tế từ dự án, không chỉ lý thuyết suông. Nếu có thắc mắc, hãy giơ tay — chúng ta sẽ giải đáp ngay trong phần lý thuyết.

Hãy cùng ôn lại nhanh những gì chúng ta đã học ở Day 1. NEXA không phải là một công cụ đơn lẻ mà là một framework điều phối AI — đây là điểm quan trọng nhất. Chúng ta có 5 giai đoạn: RD, BD, DD, CODE và TEST — mỗi giai đoạn có đầu vào và đầu ra rõ ràng. SoT là Source of Truth, tất cả tài liệu chính thức đều nằm trong thư mục 90_Input. DocumentMap đóng vai trò như GPS giúp điều hướng trong dự án. Hôm nay chúng ta sẽ đi sâu hơn vào SoT, Templates và Quy trình — ba thứ này là "xương sống" của hệ thống NEXA trong thực tế.

Hôm nay tôi muốn nhấn mạnh một điều quan trọng mà Day 1 chưa nói rõ: SoT KHÁC với Output. Output là thứ AI hoặc con người tạo ra — nó CÓ THỂ sai, có thể chưa được duyệt. SoT là thứ đã được xác nhận — là "sự thật" chính thức. Ngoài 4 quy tắc, có một khái niệm nữa là phân cấp SoT. Đứng trên cùng là 00_Input — chứa thông tin trực tiếp từ khách hàng. Đây là truth có authority cao nhất trong toàn bộ dự án. Không ai được "sáng tạo" khác đi so với 00_Input. Tiếp theo là 90_Input của từng giai đoạn — theo thứ tự RD, BD, DD. Khi có mâu thuẫn giữa các tầng, tầng trên luôn thắng. Ví dụ: nếu BD nói field X là required nhưng DD nói optional — BD thắng, DD phải sửa lại.

Vậy khi nào chúng ta cần thực hiện đồng bộ SoT? Có ba tình huống chính. Thứ nhất, khi BD được phê duyệt — đây là lúc cần sao chép BD vào thư mục 90_Input của giai đoạn DD. Thứ hai, khi BD được cập nhật sau phê duyệt — cần đồng bộ lại và cập nhật DD tương ứng. Thứ ba, khi DD hoàn thành — DD trở thành tài liệu tham chiếu cho giai đoạn CODE. Quy trình đồng bộ rất đơn giản: xác định nguồn, sao chép sang đích, rồi kiểm tra bằng lệnh diff để đảm bảo hai file giống nhau 100%. NEXA cũng cung cấp sẵn lệnh `/sot:check` để tự động hóa việc này.

5 lỗi phổ biến nhất trong quản lý SoT. Lỗi 1: dùng sai phiên bản — developer mở file cũ mà không kiểm tra 90_Input. Lỗi 2: sửa trực tiếp file trong 90_Input — vi phạm nghiêm trọng, phá vỡ tính toàn vẹn SoT. Lỗi 3: quên đồng bộ — BD cập nhật nhưng DD team không biết, tiếp tục dùng version cũ. Lỗi 4: nhầm Output là SoT — file trong 91_Output chưa được review nhưng đã được dùng như tài liệu chính thức. Lỗi 5: không phát hiện SoT gốc thay đổi — 00_Input (thông tin từ khách hàng) đã được cập nhật nhưng các tầng dưới (BD, DD) vẫn dùng thông tin cũ. Đây là lỗi nguy hiểm nhất vì ảnh hưởng lan tỏa xuống mọi giai đoạn.

Đây là bảng so sánh cách xử lý thủ công vs NEXA tự động hóa. Lỗi 1: thay vì phải nhớ kiểm tra 90_Input mỗi lần, NEXA có lệnh `/sot:check` tự động xác minh. Lỗi 2: thay vì dựa vào kỷ luật team, NEXA có scope-guard hook tự động chặn khi ai đó cố ghi vào 90_Input. Lỗi 3: thay vì chạy diff thủ công, dùng `/sync:bd-to-dd` để tự động sao chép và xác minh. Lỗi 4: Quality Gate tự động chặn việc promote Output thành SoT nếu chưa qua review. Lỗi 5: `/sot:check` kiểm tra toàn bộ SoT consistency, và `session-init` hook chạy khi khởi động Claude — phát hiện khi SoT gốc (00_Input) đã thay đổi mà các tầng dưới chưa cập nhật. Thông điệp quan trọng nhất: NEXA không dựa vào "kỷ luật con người" mà tạo hệ thống tự động bảo vệ. Dù bạn quên, hệ thống vẫn phát hiện và nhắc nhở.

Tại sao chúng ta cần template? Hãy tưởng tượng hai developer cùng viết BD cho hai màn hình khác nhau mà không có template. Dev A viết đủ layout và fields nhưng quên error handling. Dev B viết đủ hết nhưng theo format riêng của mình. Kết quả là lead phải đọc hai tài liệu hoàn toàn khác nhau để review — mất thời gian và dễ bỏ sót lỗi. Khi có template, tất cả BD đều theo cùng một cấu trúc, AI generate đúng và nhất quán, và review trở nên nhanh hơn nhiều vì bạn biết chính xác cần tìm gì ở đâu. Về thứ tự ưu tiên: luôn dùng template của dự án trước, rồi mới đến template của AIDF framework.

Dự án TaskBoard có template thực tế trong thư mục 02_基本設計/98_Template/. Template 画面設計書テンプレート.md dùng cho mọi loại màn hình — cả login, CRUD, danh sách — chỉ một template chung thay vì tách riêng từng loại. Template API設計テンプレート.md dùng cho REST API — cả xác thực lẫn CRUD. Template データベース設計テンプレート.md cho ER diagram và thiết kế bảng. Ngoài ra còn có template cho 基本設計書 (tổng thể hệ thống) và 非機能要件設計書 (hiệu năng, bảo mật). Mỗi BD template đều có 7 phần bắt buộc — từ tổng quan, layout, danh sách trường, đến xử lý lỗi. Phần quan trọng thường bị bỏ quên nhất là phần 6 — xử lý lỗi. Hãy đảm bảo điền đầy đủ cả 7 phần.

Prompt là cầu nối giữa bạn và AI — viết prompt tốt sẽ cho ra kết quả tốt. NEXA có hai nguồn template: template dự án trong 02_基本設計/98_Template/ (ưu tiên cao nhất) và template AIDF chuẩn trong .aidf/templates/. Ngoài ra, các lệnh như /bd:generate và /dd:generate đã tích hợp sẵn prompt + template bên trong. Hãy xem ví dụ mẫu tạo DD từ BD: chúng ta dùng `@` để chỉ rõ file SoT và file template — không viết mơ hồ. Nguyên tắc vàng là: 1 prompt cho 1 màn hình hoặc 1 API — đừng cố generate tất cả cùng lúc. Sau mỗi lần generate, hãy review output trước khi tiếp tục — đây không phải là bước tùy chọn. Và luôn chỉ định template rõ ràng, đừng để AI tự chọn.

Slide trước đã giới thiệu cách viết prompt thủ công — 4 dòng, chỉ rõ file prompt, SoT, và template. Đó là cách để hiểu cơ chế bên trong. Nhưng trong thực tế, NEXA cung cấp lệnh /dd:generate giúp tự động hóa toàn bộ: chỉ cần 1 lệnh, NEXA sẽ tự tìm SoT trong 90_Input, tự chọn template phù hợp (màn hình, API, hay DB), tự áp dụng prompt tích hợp, và tự chạy Quality Gate sau khi generate. Kết quả được lưu vào 91_Output. Tương tự, /bd:generate làm điều tương tự cho BD. Nhưng hãy nhớ: hiểu prompt thủ công là nền tảng — khi lệnh tự động cho kết quả không tốt, bạn cần biết cách điều chỉnh prompt thủ công.

Quy trình NEXA có 3 cổng chất lượng quan trọng: sau RD, sau BD, và sau DD. Mỗi cổng đều phải vượt qua trước khi được chuyển sang giai đoạn tiếp theo — đây không phải là thủ tục hình thức mà là bảo đảm chất lượng thực sự. Mỗi tài liệu phải qua 3 cấp review: tự review, đồng nghiệp review, và lead duyệt cuối. Nguyên tắc cốt lõi là "đầu vào sai thì đầu ra sai" — nếu BD có lỗi mà không được bắt trước khi sang DD, thì DD sẽ sai, và code từ DD đó cũng sẽ sai. Chi phí sửa lỗi tăng theo cấp số nhân khi lỗi đi qua nhiều giai đoạn. NEXA cung cấp lệnh `/rd:review`, `/bd:review`, `/dd:review` để hỗ trợ quá trình review.

NEXA cung cấp các công cụ chất lượng tự động hỗ trợ quy trình review. Với /rd:review, /bd:review, /dd:review — AI sẽ chấm điểm tài liệu, phát hiện lỗi, và đề xuất cải thiện. Điều này tương đương với Level 1 — tự review — giúp tác giả phát hiện lỗi trước khi gửi cho đồng nghiệp. Ngoài ra, scope-guard là hook chạy tự động, cảnh báo khi bạn viết file ngoài phạm vi vai trò — ví dụ frontend developer viết vào backend/. Và session-init hook chạy khi bắt đầu session Claude — kiểm tra SoT consistency, phát hiện khi SoT gốc đã thay đổi nhưng DD vẫn dùng version cũ — đây chính là Error 5 ở slide trước. Điểm quan trọng nhất: NEXA KHÔNG thay thế review con người. NEXA tự động hóa Level 1 để con người tập trung vào Level 2 và 3 — nơi cần kinh nghiệm và phán đoán.

Chúng ta chuyển sang Phần 2 — phần thực hành. Đây là phần quan trọng nhất của buổi học vì kiến thức chỉ thực sự ngấm khi bạn tự tay làm. Chúng ta sẽ có hai bài tập: bài tập 1 về đồng bộ SoT trong 20 phút, và bài tập 2 về áp dụng template trong 25 phút. Hãy mở máy tính lên và vào thư mục dự án. Nếu gặp khó khăn, hãy giơ tay — tôi sẽ đi xung quanh hỗ trợ.

Bài tập 1 giúp các bạn nhìn thấy thực trạng của dự án ngay bây giờ. QUAN TRỌNG: phải chuyển sang branch exercise/sot-dirty trước — branch này đã được chuẩn bị sẵn với dữ liệu "bẩn" để thực hành. Bước 1: dùng lệnh `ls` để xem thủ công nội dung hai thư mục — BD Output và DD Input. Bước 2: nhìn vào bảng — DD Input đang có cả file cũ (_v1, _v2, _v3, _v4) lẫn file mới. Đây là tình trạng "bẩn" thực tế — câu hỏi là: file nào là SoT? File nào cần xóa? Bước 3: dùng `diff` để so sánh BD Output và DD Input. SCREEN-001 ra trống = OK, hai file giống nhau 100%. Nhưng SCREEN-005 ra khác biệt = NG! Có 3 vấn đề: (1) thiếu câu về validation trong phần概要, (2) API endpoint sai /api/boards/:id/tasks/:taskId thay vì /api/tasks/:id, (3) thiếu error handler 権限なし(403). Đây là ví dụ thực tế của Error #5 (SoT gốc đã thay đổi mà DD Input chưa cập nhật). Bước 4: đây là bước quan trọng nhất — các bạn thực hành SỬA LỖI. Copy file BD đúng vào DD Input để thay thế file cũ, và xóa tất cả các phiên bản cũ (_v1, _v2...) — chỉ giữ lại file với tên đúng chuẩn. Sau khi sửa, chạy diff lần nữa để xác nhận diff trống = OK.

Bài tập 2 giúp các bạn thực hành áp dụng template từ đầu đến cuối với file thực tế của dự án TaskBoard. Chúng ta sẽ tạo BD cho màn hình SCREEN-009 — màn hình thông báo. Đây là loại màn hình danh sách nên chúng ta dùng 画面設計書テンプレート.md — template duy nhất cho tất cả các loại màn hình. Bước 1: sao chép template từ 02_基本設計/98_Template/ — LƯU Ý đây là lệnh `cp` thực tế trên terminal, các bạn copy-paste và chạy trực tiếp. File mới sẽ nằm đúng thư mục BD Output. Bước 2 và 3 là điền thông tin vào template — hãy điền đúng theo thông tin đã cho. Thông báo trong TaskBoard gồm: phân công task, comment mới, thay đổi deadline. Bước 4 là điền phần actions, transitions, error handling — 3 action chính là lấy danh sách, đánh dấu đã đọc, và chuyển sang chi tiết task khi click. Bước 5 (bonus): nếu còn thời gian, hãy nhờ Claude review file đã tạo. Claude sẽ so sánh với template và chỉ ra phần nào còn thiếu. Đây là workflow thực tế khi dùng Claude Code trong dự án NEXA. Sau khi hoàn thành, hãy đọc lại để kiểm tra xem đã đủ 7 phần của template chưa (概要, レイアウト, 項目一覧, アクション, 遷移, エラー, 関連要件). Ai làm xong sớm có thể thêm phần layout ASCII hoặc bổ sung thêm error cases.

Ba fact này tóm tắt những điểm cốt lõi nhất của Day 2. Fact 1: khi BD cập nhật, luôn đồng bộ lại vào DD Input trước — không bao giờ sửa DD trực tiếp vì đó vi phạm SoT quy tắc 4. Fact 2: NEXA dùng 画面設計書テンプレート.md cho tất cả các loại màn hình — login, CRUD, danh sách — chỉ một template chung, không tách riêng. API và DB có template riêng của chúng. Fact 3: implementation_ready: true là cổng chất lượng giữa DD và CODE — không có nghĩa là code đã xong hay đã pass review, mà là DD đã đủ chất lượng để bắt đầu generate code. Hãy ghi nhớ ba điểm này vì chúng sẽ xuất hiện thường xuyên trong thực tế dự án.

Tổng kết lại những gì chúng ta đã học hôm nay: 4 quy tắc SoT và quy trình đồng bộ, template thực tế của dự án TaskBoard cùng thứ tự ưu tiên, cách viết prompt hiệu quả với ký hiệu @, quy trình làm việc với 3 cổng chất lượng và 3 cấp review, và đã thực hành cả hai kỹ năng quan trọng nhất. Đây là nền tảng để làm việc hiệu quả với NEXA trong thực tế. Day 3 sẽ là phần thú vị nhất — chúng ta sẽ tạo DD từ BD thực tế và generate code từ DD đó, hoàn thành pipeline BD → DD → Code đầy đủ. Hãy ôn lại slide hôm nay trước khi đến Day 3. Cảm ơn mọi người đã tham gia tích cực!

Phần phụ lục này chứa bảng thuật ngữ quan trọng cho buổi học Day 2. Các bạn có thể tham khảo lại bất cứ lúc nào khi làm việc với NEXA. Thuật ngữ kỹ thuật trong NEXA được dùng nhất quán — hãy làm quen với chúng để giao tiếp hiệu quả với team.

Bảng thuật ngữ này tóm tắt 7 khái niệm quan trọng nhất của Day 2. SoT Sync là quy trình đồng bộ tài liệu giữa các giai đoạn — chúng ta đã thực hành điều này trong bài tập 1. Template là mẫu tài liệu chuẩn giúp đảm bảo chất lượng đồng đều. Quality Gate hay cổng chất lượng là điểm kiểm tra bắt buộc trước khi chuyển giai đoạn. Và implementation_ready là trạng thái của DD khi đã sẵn sàng để generate code. Hãy lưu slide này lại để tham khảo khi làm việc thực tế.

Hẹn gặp lại mọi người ở Day 3! Chúng ta sẽ tiếp tục với phần thú vị nhất — tạo DD từ BD thực tế và generate code. Nếu có câu hỏi sau buổi học hôm nay, hãy đặt vào channel Slack của nhóm. Hãy ôn lại 4 quy tắc SoT và 7 phần của BD template — đó là kiến thức nền tảng cho Day 3. Chúc mọi người buổi chiều tốt lành!