---
name: kadaia-review
description: 課題Aで作った業務アプリ（一覧・検索・詳細）を、動作・データの扱い・入力値・仕様との突き合わせ・保守性の観点で点検します。「点検して」「レビューして」「危ない箇所を挙げて」「/selfcheck」のときに使います。指摘には必ずファイル・行・根拠を付けます。
---

# 課題A 点検観点

`/selfcheck` から参照される観点リストです。単体でも使えます。深刻度の判定基準は `docs/セルフチェックの観点.md` に従ってください。そのファイルが無い場合は、下の「深刻度の判定基準（控え）」を使ってください。

## 深刻度の判定基準（控え）

| 深刻度 | 判定の目安 |
|---|---|
| 高 | そのままでは動かない、データが壊れる、利用者の入力がそのまま実行・表示される |
| 中 | 動くが、仕様との食い違い・境界の取り違え・保守しづらさがある |
| 低 | 好みの範囲、または今日の演習の範囲外 |

迷ったら次の順に問います。ブラウザで開いて依頼どおりに動くか（動かないなら高）、`kadaiA/docs/お題シート.md` の要件と食い違うか（食い違うなら高）、セキュリティチェックリストの項目に触れるか（触れるなら高か中）、コーディング規約に反するか（反するなら中）、どれにも当たらなければ低。

## 観点リスト

| 観点ID | 観点 | 具体的に見るもの | よくある深刻度 |
|---|---|---|---|
| A-01 | ブラウザで開くだけで動くか | `index.html` をダブルクリックして動く形か。ローカルの CSV を `fetch` や `XMLHttpRequest` で読もうとしていないか（ブラウザの制限で読めません） | 高 |
| A-02 | データが全件出るか | 一覧に50件が出るか。件数を固定値で切っていないか。`dummy_data.csv` の行数と一致するか | 高 |
| A-03 | 入力値の扱い | 検索キーワードを `innerHTML` にそのまま入れていないか。`textContent` か、エスケープ処理を通しているか | 高 |
| A-04 | 元データの保全 | `dummy_data.csv` を書き換えていないか。書き込み処理が入っていないか | 高 |
| A-05 | 検索の挙動 | 備品名の部分一致で絞り込めるか。空文字のときに全件へ戻るか。該当0件のときに「該当なし」が出るか | 中 |
| A-06 | 詳細表示 | 一覧の1件から詳細に切り替わるか。全7項目（備品コード・備品名・カテゴリ・在庫数・保管場所・購入日・備考）が出るか。一覧に戻れるか | 中 |
| A-07 | 未設定の値 | 備考が空の備品で表示が崩れないか。空欄をそのまま出すか、`-` などの代替を出すか | 中 |
| A-08 | 数値と境界 | 在庫数を数値として扱っているか（文字列比較で並べ替えていないか）。「以下」「未満」の取り違えがないか | 中 |
| A-09 | 日付の表記 | 購入日の表示形式が画面間で揃っているか。CSV の `yyyy-mm-dd` をそのまま出すか、整形するかが一貫しているか | 中 |
| A-10 | エラー時の挙動 | CSV の読み込みに失敗したとき、画面が真っ白にならずに理由がわかるか | 中 |
| A-11 | 定数と重複 | 在庫のしきい値などの数値が直書きされていないか。同じ処理が3箇所以上にコピーされていないか | 中 |
| A-12 | 読みやすさ | コメントが日本語で意図が読めるか。関数が50行を超えていないか。使っていない変数が残っていないか | 低 |
| A-13 | 受講者の懸念 | `memo.md` の `## A-2` に書かれた懸念のうち、実装で手当てされていないもの | 内容による |

## 点検の進め方

1. `.work/01_inventory.md` の点検対象を上から読みます。
2. 観点は A-01 から順に当てます。動作に関わる観点を先に潰すためです。
3. A-13 は最後に当てます。受講者本人が書いた懸念のうち、A-01 から A-12 で拾えなかったものを拾います。ここで拾えた指摘は `内容` の冒頭に `受講者の懸念より:` と付けます。
4. 1つの観点で複数の指摘が出たら、別々の指摘として並べます。まとめないでください。

## 指摘の書き方

必ず次の3つを揃えます。揃わない指摘は出しません。

- 場所: ファイルの相対パスと行番号
- 事象: コードのどの記述から、何がどうなるか
- 根拠: どの観点ID、どのファイルのどの見出しに基づくか

避ける書き方の例です。

- 「セキュリティ上の懸念があります」（何がどうなるかが無い）
- 「一般的にはこう書くべきです」（今回の題材のどこに当たるかが無い）
- 「いくつか改善点があります」（1件ずつに分かれていない）

## 観点を足すとき

自分の職場でレビューされる観点を足す場合は、上の表に1行足してください。観点IDは `A-14` から続けます。「具体的に見るもの」の欄は、コードのどの記述を見れば判定できるかまで書いてください。ここが抽象的だと、点検時に拾われません。

---

ハーネス種別: コマンド補助 Skill（本研修用の自作。読み取り専用の観点定義であり、ファイルを書き換えません）
Givery 講師 安田によるセキュリティチェック済み
引用元URL: なし（本研修のために書き下ろし。Skill の書式は https://docs.claude.com/en/docs/claude-code/skills に準拠）
