docs: dads-design-system スキルを #176 完了後の現状に同期 - #476
Conversation
#176 B 案完了 (styles.ts 削除・style-src strict 化) を反映し、陳腐化した プロジェクト固有記述を撤去。スキルの想定用途を devtools フロント作成に再定義。 - 誤った「移行中」バナーを削除 (移行は PR 10 で完了済み) - styles.ts/colors.*/onFocusRing 前提の §11 旧実装記述を撤去し、 CLAUDE.md §7 / docs/ui-conventions.md / issue-176 progress doc への 委譲ポインタに置換 - components.md の inline-style 推奨を CSS class 方式へ修正 - description を「devtools のフロント UI 作成・変更時に使う DADS 規約」に 再定義 (行政/LP 寄りの的外れな枠組みを撤去) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
🖼️ Visual Regression Test 結果
|
fumtas1k
left a comment
There was a problem hiding this comment.
レビュー結果: 内容は正確、merge 可(軽微な指摘 1 件)
陳腐化したスキル記述を現状(#176 B 案完了後)に同期する良いクリーンアップです。PR 本文の主張・ポインタ先・削除内容を develop の実体に対して検証し、いずれも正確であることを確認しました。
検証済み(develop 実体と照合)
src/utils/styles.tsは削除済み → 旧 import (colors/onFocusRing/onBlurRing) はビルドエラーになるという警告は正しいpublic/_headersのstyle-srcは'self'+ island hash のみで'unsafe-inline'不在 → HTML inlinestyleが CSP 違反になるという記述は正しい- focus は
global.cssで:where(...):focus-visible { outline: var(--focus-ring) }としてCSS 一括適用済み(JS ハンドラ不要)→ §9 / §11 / components.md の記述と一致 - ポインタ先 4 種すべて実在:
CLAUDE.md(§5/§7/§8 該当),docs/ui-conventions.md(§1 に共通 UI コンポーネント全件あり),docs/projects/issue-176-b-plan-progress.md,docs/decisions.md([064][067][068]実在) - §11 警告が挙げる semantic class(
text-muted/alert-error/bg-subtle)・@themetoken(--color-primary→text-primary)もglobal.cssに実在 - 章見出しのアンカー参照(§9・components.md → 「11. このプロジェクト(devtools)で実装する場合」)に dangling なし。components.md 方針2 の
.btn/.btn-primary/.btn-outlineも同ファイル内に定義あり
指摘(1 件・minor)
§11 表の「共通フック(useClampedInput 等)」のポインタが実体と食い違っています(インラインコメント参照)。PR 説明文の「意図的にドロップ」とも矛盾するので、フック行の削除か「src/hooks/ で発見」への置換を推奨します。本 PR の「ドリフト防止」目的に沿った修正です。
この 1 点は任意修正で、merge ブロッカーではありません。
Generated by Claude Code
| | 知りたいこと | 正本 | | ||
| |---|---| | ||
| | 色・スタイリング規約(`@layer components` semantic class 経由、primitive scale 直書き禁止、HTML inline `style` 禁止) | `CLAUDE.md` §7 | | ||
| | 共通 UI コンポーネント(`InputField` / `CopyButton` / `DownloadButtonGroup` / `ToggleGroup` / `ErrorMessage` 等)と共通フック(`useClampedInput` 等) | `docs/ui-conventions.md`、`CLAUDE.md` §5・§8 | |
There was a problem hiding this comment.
【minor / 任意】この行は「共通フック(useClampedInput 等)」の正本として docs/ui-conventions.md / CLAUDE.md §5・§8 を案内していますが、いずれも useClampedInput を実際には記載していません(ui-conventions.md §1 と CLAUDE.md §5 は UI コンポーネント一覧のみ、CLAUDE.md §8 は src/hooks/ をディレクトリとして列挙しているだけ)。
PR 説明文でも「useClampedInput だけは正本がない…scope creep につき意図的にドロップ(src/hooks/ で発見可能)」と述べており、この表のセルとは食い違っています。本 PR の目的(陳腐化・ドリフト防止=正本の一本化)に照らすと、ここは:
- フック行を削除する、または
- フックは「
src/hooks/で発見」と明記する
のいずれかにすると、説明文の意図と一致して読者が空振りしません。UI コンポーネント側のポインタ(ui-conventions.md §1)は全件実在を確認済みで問題ありません。
Generated by Claude Code
レビュー指摘 (#476) 対応。§11 の表が共通フック (`useClampedInput` 等) の正本 として `docs/ui-conventions.md` / `CLAUDE.md` §8 を案内していたが、いずれにも フックの索引は無く、PR 説明文の「意図的にドロップ」とも矛盾していた。 - フック句を削除し UI コンポーネント行に一本化 (ui-conventions.md §1 に全件実在) - ポインタに §1 を明示 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
レビューありがとうございます。指摘の通りで、§11 書き換え時に作り込んだ内部矛盾でした(表は「フックの正本あり」、PR 説明文は「索引なしで意図的にドロップ」と食い違い)。
これで「正本の一本化=ドリフト防止」という本 PR の目的と表・説明文が一致し、読者が空振りしません。フックの存在自体は ※ 本変更は |
概要
dads-design-systemスキルを評価したところ、issue #176(B 案:style-srcstrict 化)の完了後に追従できておらず、従うとビルドが壊れ、かつ達成済みの CSP strict 化を逆戻りさせる状態だったため修正した。あわせてスキルの想定用途を実態(devtools フロントエンド作成)に再定義した。背景(何が陳腐化していたか)
スキルの最終更新は #176 PR 1 時点(2026-05-04)で止まっていた。その後:
src/utils/styles.tsは PR 6 (refactor(csp): #176 B 案 PR 6 (scope 縮小) — styles.ts 削除 + migration tracker glob 化、Astro inline 残存は #289 へ委譲 #290) で削除style-srcは PR 10 (refactor(csp): #176 B 案 PR 10 — style-src strict 化最終 flip + Astro island hash 取り込み + B 案完了記録 ([068]) #315) で両層 strict 化(public/_headersからunsafe-inline撤去、security: CSP の script-src/style-src から 'unsafe-inline' を削減する #176 close)にもかかわらずスキル §11 は以下を案内し続けていた:
import { colors, onFocusRing, onBlurRing } from '../../utils/styles'→ 削除済みでビルドエラーstyle={{ color: ... }}の inline-style パターン →style-srcstrict 下では適用されず CSP 違反変更内容
CLAUDE.md §7/docs/ui-conventions.md/docs/projects/issue-176-b-plan-progress.md/docs/decisions.md [064][067][068]へのポインタに置換。「使ってはいけない旧パターン」警告のみ残置:focus-visibleCSS 一括適用(var(--focus-ring))に追従設計判断
docs/ui-conventions.md §1に全件存在を確認済み。useClampedInput(DADS 無関係の汎用フック・索引のみ)だけは正本がないが、scope creep につき意図的にドロップ(src/hooks/で発見可能)確認
🤖 Generated with Claude Code