component-design-study
目的
仕様から離脱しない「正解条件駆動」のデザインスタディを実施し、次を満たす。
- いつでも Step 構造で現状説明できる。
- 各判断に根拠(基準・比較軸・採否)が残る。
- 次のステップに引き継げる成果物が揃う。
受け入れトリガ
- 新規コンポーネントの基本設計前
- 既存コンポーネント改修で Step 観点が曖昧になった時
- 作例作成前に品質条件と差別化根拠を明確化したい時
Quick Reference
到達目標(5項目)
- 正解条件が言える
- バリエーションが作れる
- 選定理由が説明できる
- 作例で仕様が育つ
- 今どこにいて次に何をするかを即説明できる
禁止事項(4項目)
- 事例をそのまま写経しない
- 品質基準を無視した「便利さ」で決めない
- バリエーションを好みで選ばない(判断ログ必須)
- 作例で見つけた問題を握りつぶさない
失敗コード(if-then)
STUDY_INSUFFICIENT_INPUT:
- If:
component_name または quality_targets が欠落
- Then:
status=blocked とし、不足入力を返す
STUDY_SCOPE_MISMATCH:
- If: 成果物が
scope.excluded に含まれる内容へ逸脱
- Then:
status=blocked とし、該当Stepを差し戻す
STUDY_NO_QUALITY_BASIS:
- If: Step4 の
acceptance_criteria が空、または Step5 の採択案に基準紐付けがない
- Then:
status=blocked とし、Step4 に差し戻す
STUDY_STANDARD_GAP:
- If:
standards.required が空、または必須基準の読解記録がない
- Then:
status=blocked とし、Step0/4 を再実行する
Decision Tree
| ユースケース |
参照ドキュメント |
| Step0の品質基準前提チェック |
acceptance-criteria-guide.md |
| スタディ全体の思想と前提を揃える |
design-philosophy.md |
| Step2の観測/評価分離を精密化する |
observation-evaluation-protocol.md |
| Step3の状態棚卸しを進める |
observation-evaluation-protocol.md(Section 4-5) |
| Step4の正解条件を定義する |
acceptance-criteria-guide.md |
| Step5-6のバリエーション比較を進める |
variation-study-protocol.md |
| Step7-8の差し戻し判断を行う |
abduction-feedback-loop.md |
| Step9-10の完了判定・引き継ぎを行う |
finish-checklist-template.md |
| 禁止事項の具体例を確認する |
prohibited-patterns.md |
実行モデル
並行実行の原則
- Step分解は説明モデルであり、実務は同時並行で進める。
- 現在地は常に
current_step で宣言し、同時に進んでいる補助Stepは steps.N.outcome=partial で示す。
- どの時点でも「現状/判断/次アクション」を1分で説明できる状態を維持する。
差し戻しポリシー
- 仕様境界が変わったら Step3 へ戻る。
- 正解条件が崩れたら Step4 へ戻る。
- 採択根拠が消えたら Step5 へ戻る。
- 洗練で品質が下がったら Step6 へ戻る。
フィードバックループ(Step5-8)
- Step6 と Step7 は
steps.5.outcome=done を前提に並行実行する
- Step8 は
steps.6.outcome=done かつ steps.7.artifacts.example_case_log が1件以上で開始する
- Step8 中は
current_step=8 とし、差し戻しが出たら status=blocked と failure を必須出力する
- Step8 -> Step4: 新状態/新導線が発生した場合
- Step8 -> Step5: 既存論点の比較不足が見つかった場合
- Step8 -> Step6: 採択済み案の品質低下のみを修正する場合
入力(最小)
component_name: 対象コンポーネント名(必須)
target_flow: 利用フロー
quality_targets: 優先する品質軸(例: a11y, IA, 認知負荷)
design_constraints: 禁止事項・技術制約・開発制約
state_list: 扱う状態(最低: idle/default/error/disabled/success)
Step0 前提チェック(Step1開始前)
standards.required に WCAG 2.2 AA が含まれていること
standards.aa_required_sc に案件対象の AA 必須SCが1件以上列挙されていること
- 対象に関連する AA 必須項目の読解メモがあること
- 欠落時は
STUDY_STANDARD_GAP を返し、Step0 を満たすまで進行しない
- 詳細: acceptance-criteria-guide.md
出力契約
出力は必ず2部構成:
- 人間向け要約(現在Step、判断ポイント、次アクション)
- 機械可読JSON(再開・再現用)
{
"study_id": "component-study-<slug>-<YYYYMMDD>",
"component_name": "例: dads-email-input",
"current_step": 4,
"status": "in_progress|blocked|done",
"scope": {
"included": [],
"excluded": []
},
"standards": {
"required": ["WCAG 2.2 AA"],
"aa_required_sc": ["3.3.1", "3.3.3"],
"aa_defined_sc": ["3.3.1"],
"baseline": [],
"deferred": []
},
"governance": {
"non_goals": [],
"constraints": [],
"failure_definition": ""
},
"failure": {
"code": "",
"step": 0,
"message": "",
"details": []
},
"steps": {
"1": {
"outcome": "done",
"artifacts": {
"case_log": [],
"pattern_map": []
},
"review_ok": true
},
"2": {
"outcome": "done",
"artifacts": {
"observations": [],
"evaluations": [],
"hypotheses": []
}
},
"3": {
"outcome": "partial",
"artifacts": {
"state_inventory": [],
"pseudo_wireframe": [],
"transition_conditions": []
}
},
"4": {
"outcome": "done",
"artifacts": {
"acceptance_criteria": [],
"study_questions": [],
"priority_policy": []
}
},
"5": {
"outcome": "partial",
"artifacts": {
"variation_set": [],
"selection_log": [],
"verification_log": []
}
},
"6": {
"outcome": "todo",
"artifacts": {
"refined_design": [],
"tradeoff_notes": []
}
},
"7": {
"outcome": "todo",
"artifacts": {
"example_case_log": []
}
},
"8": {
"outcome": "todo",
"artifacts": {
"examples": [],
"spec_feedback": []
}
},
"9": {
"outcome": "todo",
"artifacts": {
"finish_checklist": [],
"release_readiness": []
}
},
"10": {
"outcome": "todo",
"artifacts": {
"usage_patterns": [],
"replaceability_scope": [],
"handoff": []
}
}
},
"evidence_gates": [
{
"gate": "purpose_met",
"status": "pass",
"failure_code": null,
"reason": "Step目的を満たす成果物が揃っている"
},
{
"gate": "handoff_ready",
"status": "pass",
"failure_code": null,
"reason": "次Stepが必要とする入力が不足していない"
},
{
"gate": "scope_consistency",
"status": "pass",
"failure_code": null,
"reason": "included/excluded を逸脱していない"
},
{
"gate": "no_drift",
"status": "pass",
"failure_code": null,
"reason": "禁止事項に該当する痕跡がない"
},
{
"gate": "current_explainable",
"status": "pass",
"failure_code": null,
"reason": "現状/判断/次アクションを説明できる"
}
],
"open_questions": [],
"assumptions": [],
"risks": []
}
steps.N.outcome は todo/partial/done/blocked を使う。
status=blocked の場合は failure.code, failure.step, failure.message を必須とする。
evidence_gates[].status は pass|fail。fail の場合は failure_code と reason を必須とする。
Evidence Gates 判定条件(if-then)
purpose_met:
- If: 現在Stepで定義された必須 artifacts が埋まり、レビュー観点の未達がない
- Then:
status=pass
- Else:
status=fail, failure_code=STUDY_NO_QUALITY_BASIS
handoff_ready:
- If: 次Stepに必要な入力が
open_questions に残っていない
- Then:
status=pass
- Else:
status=fail, failure_code=STUDY_INSUFFICIENT_INPUT
scope_consistency:
- If: 出力が
scope.excluded を含まない
- Then:
status=pass
- Else:
status=fail, failure_code=STUDY_SCOPE_MISMATCH
no_drift:
- If: 禁止事項4項目に該当しない
- Then:
status=pass
- Else:
status=fail, failure_code=STUDY_NO_QUALITY_BASIS
current_explainable:
- If: 「現状/判断/次アクション」を1分以内に説明できる
- Then:
status=pass
- Else:
status=fail, failure_code=STUDY_INSUFFICIENT_INPUT
Core Workflow(Step0 + 10ステップ要約)
Step 0: 品質基準前提チェック
- 目的: 必須品質基準の欠落を先に防ぐ
- 成果物:
standards.required, standards.aa_required_sc, 読解メモ
- 詳細: acceptance-criteria-guide.md
Step 1: 観察リサーチ
- 目的: 反面教師を含む観察母集団を作る
- 成果物:
case_log, pattern_map
- 詳細: design-philosophy.md
Step 2: 観測/評価分離
- 目的: 事実と判断を分ける
- 成果物:
observations, evaluations, hypotheses
- 詳細: observation-evaluation-protocol.md
Step 3: 状態棚卸し
- 目的: 見た目ではなく状態で仕様化する
- 成果物:
state_inventory, pseudo_wireframe, transition_conditions
- 詳細: observation-evaluation-protocol.md
Step 4: 正解条件設定
- 目的: 準拠基準に基づく論点を固定する
- 成果物:
acceptance_criteria, study_questions, priority_policy
- 詳細: acceptance-criteria-guide.md
Step 5: バリエーション比較
- 目的: 論点ごとに複数解を比較する
- 成果物:
variation_set, selection_log, verification_log
- 詳細: variation-study-protocol.md
Step 6: 洗練
- 目的: 選定案を品質悪化なしで整える
- 成果物:
refined_design, tradeoff_notes
- 詳細: variation-study-protocol.md
Step 7: 作例リサーチ
- 目的: 実使用文脈を補充する
- 成果物:
example_case_log
- 詳細: abduction-feedback-loop.md
Step 8: 作例制作
- 目的: 作例から仕様欠損を発見する
- 成果物:
examples, spec_feedback
- 詳細: abduction-feedback-loop.md
Step 9: フィニッシュワーク
- 目的: 本番移行可能性を点検する
- 成果物:
finish_checklist, release_readiness
- 詳細: finish-checklist-template.md
Step 10: テンプレート化
- 目的: 再利用可能な提供形に整える
- 成果物:
usage_patterns, replaceability_scope, handoff
- 詳細: finish-checklist-template.md
各Step共通レビュー項目
- 目的は満たしたか
- 次Stepに引き継げる粒度か
- 逸脱していないか
- 現在状態を Step 構造で説明できるか
連携ルール
- CSS/セレクタ/トークンの判断は
css-writing-rules に再確認する。
- コンポーネント API 整合は
headless-component-design に再確認する。
- 実装依頼に進む場合は
status=blocked として実装系スキルへ引き継ぐ。
Few-shot Output Patterns
Pattern A: Step2 完了時
Human summary:
- Step2 完了。観測12件、評価12件、仮説12件を整理。
- 観測と評価の混在は0件。
- 次アクション: Step3 で状態棚卸しを開始。
JSON excerpt:
{
"current_step": 2,
"steps": {
"2": {
"outcome": "done",
"artifacts": {
"observations": ["..."],
"evaluations": ["..."],
"hypotheses": ["..."]
}
}
},
"evidence_gates": [
{"gate":"purpose_met","status":"pass","failure_code":null,"reason":"観測/評価分離が完了"}
]
}
Pattern B: Step5 比較時
Human summary:
- Step5 進行中。論点Q-02に対して3案を比較。
- 採択候補は案B。理由は WCAG 2.2 AA の 2基準を同時に満たすため。
- 次アクション: Step6 で案Bの洗練を実施。
JSON excerpt:
{
"current_step": 5,
"steps": {
"5": {
"outcome": "partial",
"artifacts": {
"variation_set": ["A","B","C"],
"selection_log": ["B selected with criteria mapping"],
"verification_log": ["keyboard","sr","error-recovery","viewport"]
}
}
}
}
Pattern C: Step8 差し戻し検知時
Human summary:
- Step8 で新状態(rate-limit)を検知。
- Step4 の正解条件に未定義のため Step4 へ差し戻し。
- 次アクション: acceptance_criteria と study_questions を更新後、Step5 を再開。
JSON excerpt:
{
"current_step": 8,
"status": "blocked",
"failure": {
"code": "STUDY_NO_QUALITY_BASIS",
"step": 4,
"message": "rate-limit 状態に対応する acceptance_criteria が未定義",
"details": ["add criterion for rate-limit state"]
},
"steps": {
"8": {
"outcome": "partial",
"artifacts": {
"spec_feedback": ["new state: rate-limit"]
}
}
},
"evidence_gates": [
{"gate":"purpose_met","status":"fail","failure_code":"STUDY_NO_QUALITY_BASIS","reason":"Step4 criteria update is required"}
],
"open_questions": ["Step4 criteria update for rate-limit state"]
}
Sources
Related Docs
.claude/skills/css-writing-rules/SKILL.md
.claude/skills/headless-component-design/SKILL.md
docs/rules/content-typeset-rules.md
Do / Don't
Do
- Evidence-based variant selection — Compare 3+ implementations before choosing. Document pros/cons with criteria scores.
- Reference quality criteria — Always validate against WCAG 2.2 AA and DADS guidelines before finalizing a variant.
- Validate with working examples — Build a minimal prototype in viewer.html to confirm behavior before committing.
- Maintain step structure — Follow the 5-step flow (Survey → Spec → Verify → Example → Finalize) without skipping steps.
Don't
- Copy implementations without analysis — Never adopt a pattern from another design system without evaluating its fit for DADS constraints.
- Skip quality criteria evaluation — Don't choose a variant based on aesthetics alone; always score against accessibility, performance, and maintainability.
- Choose variants by personal preference — Selection must be justified by evidence, not opinion.
- Omit judgment logs — Every decision must be documented with rationale for future traceability.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: component-design-study3description: 新規 Web コンポーネント開発時に、デザインスタディ(調査→仕様化→検証→作例→完成)を Step 1〜10 の循環で実行し、判断ログ付きで再現可能な形にする。Use when (1) 既存/新規のコンポーネントをデザインする前提検討が必要なとき, (2) 品質基準に沿う選定根拠を明文化したいとき, (3) 「どこまでが今回の範囲か」を短時間で合意したいとき。 Use when this capability is needed.4---56# component-design-study78## 目的910仕様から離脱しない「正解条件駆動」のデザインスタディを実施し、次を満たす。11- いつでも Step 構造で現状説明できる。12- 各判断に根拠(基準・比較軸・採否)が残る。13- 次のステップに引き継げる成果物が揃う。1415## 受け入れトリガ1617- 新規コンポーネントの基本設計前18- 既存コンポーネント改修で Step 観点が曖昧になった時19- 作例作成前に品質条件と差別化根拠を明確化したい時2021## Quick Reference2223### 到達目標(5項目)24- 正解条件が言える25- バリエーションが作れる26- 選定理由が説明できる27- 作例で仕様が育つ28- 今どこにいて次に何をするかを即説明できる2930### 禁止事項(4項目)31- 事例をそのまま写経しない32- 品質基準を無視した「便利さ」で決めない33- バリエーションを好みで選ばない(判断ログ必須)34- 作例で見つけた問題を握りつぶさない3536### 失敗コード(if-then)37- `STUDY_INSUFFICIENT_INPUT`:38 - If: `component_name` または `quality_targets` が欠落39 - Then: `status=blocked` とし、不足入力を返す40- `STUDY_SCOPE_MISMATCH`:41 - If: 成果物が `scope.excluded` に含まれる内容へ逸脱42 - Then: `status=blocked` とし、該当Stepを差し戻す43- `STUDY_NO_QUALITY_BASIS`:44 - If: Step4 の `acceptance_criteria` が空、または Step5 の採択案に基準紐付けがない45 - Then: `status=blocked` とし、Step4 に差し戻す46- `STUDY_STANDARD_GAP`:47 - If: `standards.required` が空、または必須基準の読解記録がない48 - Then: `status=blocked` とし、Step0/4 を再実行する4950## Decision Tree5152| ユースケース | 参照ドキュメント |53| --- | --- |54| Step0の品質基準前提チェック | [acceptance-criteria-guide.md](references/acceptance-criteria-guide.md) |55| スタディ全体の思想と前提を揃える | [design-philosophy.md](references/design-philosophy.md) |56| Step2の観測/評価分離を精密化する | [observation-evaluation-protocol.md](references/observation-evaluation-protocol.md) |57| Step3の状態棚卸しを進める | [observation-evaluation-protocol.md](references/observation-evaluation-protocol.md)(Section 4-5) |58| Step4の正解条件を定義する | [acceptance-criteria-guide.md](references/acceptance-criteria-guide.md) |59| Step5-6のバリエーション比較を進める | [variation-study-protocol.md](references/variation-study-protocol.md) |60| Step7-8の差し戻し判断を行う | [abduction-feedback-loop.md](references/abduction-feedback-loop.md) |61| Step9-10の完了判定・引き継ぎを行う | [finish-checklist-template.md](references/finish-checklist-template.md) |62| 禁止事項の具体例を確認する | [prohibited-patterns.md](references/prohibited-patterns.md) |6364## 実行モデル6566### 並行実行の原則67- Step分解は説明モデルであり、実務は同時並行で進める。68- 現在地は常に `current_step` で宣言し、同時に進んでいる補助Stepは `steps.N.outcome=partial` で示す。69- どの時点でも「現状/判断/次アクション」を1分で説明できる状態を維持する。7071### 差し戻しポリシー72- 仕様境界が変わったら Step3 へ戻る。73- 正解条件が崩れたら Step4 へ戻る。74- 採択根拠が消えたら Step5 へ戻る。75- 洗練で品質が下がったら Step6 へ戻る。7677### フィードバックループ(Step5-8)78- Step6 と Step7 は `steps.5.outcome=done` を前提に並行実行する79- Step8 は `steps.6.outcome=done` かつ `steps.7.artifacts.example_case_log` が1件以上で開始する80- Step8 中は `current_step=8` とし、差し戻しが出たら `status=blocked` と `failure` を必須出力する81- Step8 -> Step4: 新状態/新導線が発生した場合82- Step8 -> Step5: 既存論点の比較不足が見つかった場合83- Step8 -> Step6: 採択済み案の品質低下のみを修正する場合8485## 入力(最小)8687- `component_name`: 対象コンポーネント名(必須)88- `target_flow`: 利用フロー89- `quality_targets`: 優先する品質軸(例: a11y, IA, 認知負荷)90- `design_constraints`: 禁止事項・技術制約・開発制約91- `state_list`: 扱う状態(最低: idle/default/error/disabled/success)9293## Step0 前提チェック(Step1開始前)9495- `standards.required` に `WCAG 2.2 AA` が含まれていること96- `standards.aa_required_sc` に案件対象の AA 必須SCが1件以上列挙されていること97- 対象に関連する AA 必須項目の読解メモがあること98- 欠落時は `STUDY_STANDARD_GAP` を返し、Step0 を満たすまで進行しない99- 詳細: [acceptance-criteria-guide.md](references/acceptance-criteria-guide.md)100101## 出力契約102103出力は必ず2部構成:1041. 人間向け要約(現在Step、判断ポイント、次アクション)1052. 機械可読JSON(再開・再現用)106107```json108{109 "study_id": "component-study-<slug>-<YYYYMMDD>",110 "component_name": "例: dads-email-input",111 "current_step": 4,112 "status": "in_progress|blocked|done",113 "scope": {114 "included": [],115 "excluded": []116 },117 "standards": {118 "required": ["WCAG 2.2 AA"],119 "aa_required_sc": ["3.3.1", "3.3.3"],120 "aa_defined_sc": ["3.3.1"],121 "baseline": [],122 "deferred": []123 },124 "governance": {125 "non_goals": [],126 "constraints": [],127 "failure_definition": ""128 },129 "failure": {130 "code": "",131 "step": 0,132 "message": "",133 "details": []134 },135 "steps": {136 "1": {137 "outcome": "done",138 "artifacts": {139 "case_log": [],140 "pattern_map": []141 },142 "review_ok": true143 },144 "2": {145 "outcome": "done",146 "artifacts": {147 "observations": [],148 "evaluations": [],149 "hypotheses": []150 }151 },152 "3": {153 "outcome": "partial",154 "artifacts": {155 "state_inventory": [],156 "pseudo_wireframe": [],157 "transition_conditions": []158 }159 },160 "4": {161 "outcome": "done",162 "artifacts": {163 "acceptance_criteria": [],164 "study_questions": [],165 "priority_policy": []166 }167 },168 "5": {169 "outcome": "partial",170 "artifacts": {171 "variation_set": [],172 "selection_log": [],173 "verification_log": []174 }175 },176 "6": {177 "outcome": "todo",178 "artifacts": {179 "refined_design": [],180 "tradeoff_notes": []181 }182 },183 "7": {184 "outcome": "todo",185 "artifacts": {186 "example_case_log": []187 }188 },189 "8": {190 "outcome": "todo",191 "artifacts": {192 "examples": [],193 "spec_feedback": []194 }195 },196 "9": {197 "outcome": "todo",198 "artifacts": {199 "finish_checklist": [],200 "release_readiness": []201 }202 },203 "10": {204 "outcome": "todo",205 "artifacts": {206 "usage_patterns": [],207 "replaceability_scope": [],208 "handoff": []209 }210 }211 },212 "evidence_gates": [213 {214 "gate": "purpose_met",215 "status": "pass",216 "failure_code": null,217 "reason": "Step目的を満たす成果物が揃っている"218 },219 {220 "gate": "handoff_ready",221 "status": "pass",222 "failure_code": null,223 "reason": "次Stepが必要とする入力が不足していない"224 },225 {226 "gate": "scope_consistency",227 "status": "pass",228 "failure_code": null,229 "reason": "included/excluded を逸脱していない"230 },231 {232 "gate": "no_drift",233 "status": "pass",234 "failure_code": null,235 "reason": "禁止事項に該当する痕跡がない"236 },237 {238 "gate": "current_explainable",239 "status": "pass",240 "failure_code": null,241 "reason": "現状/判断/次アクションを説明できる"242 }243 ],244 "open_questions": [],245 "assumptions": [],246 "risks": []247}248```249250`steps.N.outcome` は `todo/partial/done/blocked` を使う。251- `status=blocked` の場合は `failure.code`, `failure.step`, `failure.message` を必須とする。252- `evidence_gates[].status` は `pass|fail`。`fail` の場合は `failure_code` と `reason` を必須とする。253254## Evidence Gates 判定条件(if-then)255- `purpose_met`:256 - If: 現在Stepで定義された必須 artifacts が埋まり、レビュー観点の未達がない257 - Then: `status=pass`258 - Else: `status=fail`, `failure_code=STUDY_NO_QUALITY_BASIS`259- `handoff_ready`:260 - If: 次Stepに必要な入力が `open_questions` に残っていない261 - Then: `status=pass`262 - Else: `status=fail`, `failure_code=STUDY_INSUFFICIENT_INPUT`263- `scope_consistency`:264 - If: 出力が `scope.excluded` を含まない265 - Then: `status=pass`266 - Else: `status=fail`, `failure_code=STUDY_SCOPE_MISMATCH`267- `no_drift`:268 - If: 禁止事項4項目に該当しない269 - Then: `status=pass`270 - Else: `status=fail`, `failure_code=STUDY_NO_QUALITY_BASIS`271- `current_explainable`:272 - If: 「現状/判断/次アクション」を1分以内に説明できる273 - Then: `status=pass`274 - Else: `status=fail`, `failure_code=STUDY_INSUFFICIENT_INPUT`275276## Core Workflow(Step0 + 10ステップ要約)277278### Step 0: 品質基準前提チェック279- 目的: 必須品質基準の欠落を先に防ぐ280- 成果物: `standards.required`, `standards.aa_required_sc`, 読解メモ281- 詳細: [acceptance-criteria-guide.md](references/acceptance-criteria-guide.md)282283### Step 1: 観察リサーチ284- 目的: 反面教師を含む観察母集団を作る285- 成果物: `case_log`, `pattern_map`286- 詳細: [design-philosophy.md](references/design-philosophy.md)287288### Step 2: 観測/評価分離289- 目的: 事実と判断を分ける290- 成果物: `observations`, `evaluations`, `hypotheses`291- 詳細: [observation-evaluation-protocol.md](references/observation-evaluation-protocol.md)292293### Step 3: 状態棚卸し294- 目的: 見た目ではなく状態で仕様化する295- 成果物: `state_inventory`, `pseudo_wireframe`, `transition_conditions`296- 詳細: [observation-evaluation-protocol.md](references/observation-evaluation-protocol.md)297298### Step 4: 正解条件設定299- 目的: 準拠基準に基づく論点を固定する300- 成果物: `acceptance_criteria`, `study_questions`, `priority_policy`301- 詳細: [acceptance-criteria-guide.md](references/acceptance-criteria-guide.md)302303### Step 5: バリエーション比較304- 目的: 論点ごとに複数解を比較する305- 成果物: `variation_set`, `selection_log`, `verification_log`306- 詳細: [variation-study-protocol.md](references/variation-study-protocol.md)307308### Step 6: 洗練309- 目的: 選定案を品質悪化なしで整える310- 成果物: `refined_design`, `tradeoff_notes`311- 詳細: [variation-study-protocol.md](references/variation-study-protocol.md)312313### Step 7: 作例リサーチ314- 目的: 実使用文脈を補充する315- 成果物: `example_case_log`316- 詳細: [abduction-feedback-loop.md](references/abduction-feedback-loop.md)317318### Step 8: 作例制作319- 目的: 作例から仕様欠損を発見する320- 成果物: `examples`, `spec_feedback`321- 詳細: [abduction-feedback-loop.md](references/abduction-feedback-loop.md)322323### Step 9: フィニッシュワーク324- 目的: 本番移行可能性を点検する325- 成果物: `finish_checklist`, `release_readiness`326- 詳細: [finish-checklist-template.md](references/finish-checklist-template.md)327328### Step 10: テンプレート化329- 目的: 再利用可能な提供形に整える330- 成果物: `usage_patterns`, `replaceability_scope`, `handoff`331- 詳細: [finish-checklist-template.md](references/finish-checklist-template.md)332333## 各Step共通レビュー項目334335- 目的は満たしたか336- 次Stepに引き継げる粒度か337- 逸脱していないか338- 現在状態を Step 構造で説明できるか339340## 連携ルール341342- CSS/セレクタ/トークンの判断は `css-writing-rules` に再確認する。343- コンポーネント API 整合は `headless-component-design` に再確認する。344- 実装依頼に進む場合は `status=blocked` として実装系スキルへ引き継ぐ。345346## Few-shot Output Patterns347348### Pattern A: Step2 完了時349```350Human summary:351- Step2 完了。観測12件、評価12件、仮説12件を整理。352- 観測と評価の混在は0件。353- 次アクション: Step3 で状態棚卸しを開始。354355JSON excerpt:356{357 "current_step": 2,358 "steps": {359 "2": {360 "outcome": "done",361 "artifacts": {362 "observations": ["..."],363 "evaluations": ["..."],364 "hypotheses": ["..."]365 }366 }367 },368 "evidence_gates": [369 {"gate":"purpose_met","status":"pass","failure_code":null,"reason":"観測/評価分離が完了"}370 ]371}372```373374### Pattern B: Step5 比較時375```376Human summary:377- Step5 進行中。論点Q-02に対して3案を比較。378- 採択候補は案B。理由は WCAG 2.2 AA の 2基準を同時に満たすため。379- 次アクション: Step6 で案Bの洗練を実施。380381JSON excerpt:382{383 "current_step": 5,384 "steps": {385 "5": {386 "outcome": "partial",387 "artifacts": {388 "variation_set": ["A","B","C"],389 "selection_log": ["B selected with criteria mapping"],390 "verification_log": ["keyboard","sr","error-recovery","viewport"]391 }392 }393 }394}395```396397### Pattern C: Step8 差し戻し検知時398```399Human summary:400- Step8 で新状態(rate-limit)を検知。401- Step4 の正解条件に未定義のため Step4 へ差し戻し。402- 次アクション: acceptance_criteria と study_questions を更新後、Step5 を再開。403404JSON excerpt:405{406 "current_step": 8,407 "status": "blocked",408 "failure": {409 "code": "STUDY_NO_QUALITY_BASIS",410 "step": 4,411 "message": "rate-limit 状態に対応する acceptance_criteria が未定義",412 "details": ["add criterion for rate-limit state"]413 },414 "steps": {415 "8": {416 "outcome": "partial",417 "artifacts": {418 "spec_feedback": ["new state: rate-limit"]419 }420 }421 },422 "evidence_gates": [423 {"gate":"purpose_met","status":"fail","failure_code":"STUDY_NO_QUALITY_BASIS","reason":"Step4 criteria update is required"}424 ],425 "open_questions": ["Step4 criteria update for rate-limit state"]426}427```428429## Sources430- `references/design-philosophy.md`431- `references/acceptance-criteria-guide.md`432- `references/abduction-feedback-loop.md`433- https://www.w3.org/TR/WCAG22/434- https://design.digital.go.jp/435436## Related Docs437- `.claude/skills/css-writing-rules/SKILL.md`438- `.claude/skills/headless-component-design/SKILL.md`439- `docs/rules/content-typeset-rules.md`440441## Do / Don't442443### Do444445- **Evidence-based variant selection** — Compare 3+ implementations before choosing. Document pros/cons with criteria scores.446- **Reference quality criteria** — Always validate against WCAG 2.2 AA and DADS guidelines before finalizing a variant.447- **Validate with working examples** — Build a minimal prototype in viewer.html to confirm behavior before committing.448- **Maintain step structure** — Follow the 5-step flow (Survey → Spec → Verify → Example → Finalize) without skipping steps.449450### Don't451452- **Copy implementations without analysis** — Never adopt a pattern from another design system without evaluating its fit for DADS constraints.453- **Skip quality criteria evaluation** — Don't choose a variant based on aesthetics alone; always score against accessibility, performance, and maintainability.454- **Choose variants by personal preference** — Selection must be justified by evidence, not opinion.455- **Omit judgment logs** — Every decision must be documented with rationale for future traceability.456457---458> Converted and distributed by [TomeVault](https://tomevault.io/claim/monoharada) — claim your Tome and manage your conversions.459<!-- tomevault:4.0:skill_md:2026-04-13 -->