# Saas Review

> SaaS プロダクトの差分(PR / 実装直後のコード)を、プロダクトとして満たすべき性質の観点でレビューするスキル。 テナント境界とデータ分離、課金・プラン制限・使用量メータリング、権限(RBAC)と監査ログ、 データ保持・削除・エクスポート(論理削除/マスタの版管理/保持期間/マスキング)、 個社要件と汎用性 の5軸を、 それぞれ「どう検出するか」つきのチェックリストとして持つ。 マルチテナント / 課金・プラン / 権限・招待 / 退会・削除 / マスターデータ / 特定顧客向けの機能 に触れる変更をレビューするとき、および設計時に見落としを洗い出すときに使う。 コードの書き方(命名・型設計・テスト網羅・コメント・エラーハンドリングの握り潰し)は対象外。

- Skill: `macotasu/saas-review` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add macotasu/saas-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/macotasu/saas-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: MacoTasu (https://skillmd.com/u/macotasu)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/macotasu/saas-review

---


# SaaS レビュー観点パック

## このスキルの守備範囲

公式の `pr-review-toolkit`（code-reviewer / code-simplifier / comment-analyzer /
pr-test-analyzer / silent-failure-hunter / type-design-analyzer）は、いずれも
**コードの書き方**を見る。このスキルが見るのは **その差分が SaaS として満たすべき性質** で、
両者は重ならない。「型が綺麗でテストも通るが、他テナントのデータが見える」差分を止めるのが役割。

対象外（公式に任せる）: 命名 / 型設計 / テスト網羅 / コメント / 一般的なエラーハンドリング /
リファクタリングの余地。

**事業形態に依存しない性質**——分散システムの整合性（outbox / 部分失敗 / 冪等性 /
順序保証）、API とスキーマの後方互換、観測性と障害時の運用——は、このパックではなく
`architecture-review` にある。SaaS のバックエンドを触る PR では、両方を読む価値がある。
このパックに残っているのは「**マルチテナントで課金して継続提供する**」という事業形態に
固有の観点だけ。

## 使い方

1. レビュー対象の差分を取る（`git diff`、`gh pr diff <N>` など）。
2. 差分が触っている面から、下表の該当軸を選ぶ。**全軸を機械的に流さない**（無関係な軸を
   流すと指摘がノイズで埋まる）。
3. 選んだ軸の `checklists/*.md` を読み、各項目の **「どう検出するか」を実際に実行する**。
   読んで想像するのではなく、grep / ファイルを開く / コマンドを走らせる。
4. 検出できた事実だけを指摘する。確認できなかった項目は「未確認」と明示し、断定しない。

## 軸

| 軸 | ファイル | 差分にこれがあれば読む |
|---|---|---|---|
| テナント境界・データ分離 | `checklists/multi-tenancy.md` | クエリ / RLS / キャッシュキー / ストレージパス / バッチ・webhook |
| 課金・プラン・使用量メータリング | `checklists/billing-metering.md` | 決済API / プラン判定 / 上限チェック / 使用量集計 |
| 権限(RBAC)・監査ログ | `checklists/authz-audit-log.md` | エンドポイント追加 / ロール変更 / 招待 / メンバー削除 |
| データ保持・削除・エクスポート | `checklists/data-retention-deletion.md` | 削除処理 / 退会・解約 / マスターデータ変更 / 新テーブル追加 / 外部へのデータ同期 |
| 個社要件と汎用性 | `checklists/product-genericity.md` | 特定顧客由来の機能 / 条件分岐つきの挙動 / 設定項目の追加 |


## 項目の書式

このパックの全項目は固定4フィールドで書く。追記時もこの形を守る。

- **観点**: 何を見るか
- **なぜ危険か**: 守らなかった時に実際に起きる事故
- **どう検出するか**: 見るファイル・grep・実行コマンド（**エージェントが実行できる形で書く**）
- **よくある間違った実装**: 実際に踏まれるパターン

「どう検出するか」が書けない項目は、レビューで実行できない＝ポエムなので採用しない。

## 除外した軸（backlog）

オンボーディング・トライアル / 通知・メール配信 / レート制限 / フィーチャーフラグ運用。
必要になった時点で軸を追加する。

事業形態に依存しないアーキテクチャ観点は `architecture-review` に切り出し済み。

