review-chamber について
review-chamberは、重要なPRレビューの指摘を、決定・パターン・基準・教訓に分類して検索可能なプロジェクト知識として保存します。レビューの知見を蓄積し、後の作業で活用したいチーム向けです。
主な機能
- 01重要なPRレビューの指摘を記録
- 02知識の種類ごとにエントリーを分類
- 03保存済みエントリーの検索と一覧表示
- 04関連するプロジェクト知識のリンク
- 05関連する過去のレビューの提示
活用シーン
- 01レビューでのアーキテクチャ決定を保存
- 02繰り返し現れるコードパターンの蓄積
- 03関連作業の開始時に過去の決定を検索
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ athola/ claude-night-market --skill review-chamberインストール後、Claude Code で/review-chamberを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
modules/capture-workflow.mdevaluation-criteria.mdsearch-patterns.md詳細
PR Review Chamber Skill
プロジェクトのメモリパレス内で、PR レビューから得た知識を記録、整理、検索します。
使用するタイミング
- 今後の参照に備えて PR レビューの知識を記録するとき
- 過去のレビューからレビューのパターンライブラリを構築するとき
使用しないタイミング
- 些細な変更を簡単にセルフレビューするとき
- レビュー範囲を対象とする自動 CI チェックがあるとき
概要
Review Chamber は各プロジェクトのパレス内に設けられた専用の部屋で、PR レビューから抽出した価値ある知識を保存します。一時的な PR の議論を、永続的で検索可能な組織の記憶へと変換します。
部屋の構造
review-chamber/
├── decisions/ # Architectural choices from PR discussions
├── patterns/ # Recurring issues and their solutions
├── standards/ # Quality bar examples and coding conventions
└── lessons/ # Post-mortems and learnings
確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
ワークフローのフェーズ
フェーズ 1:知識の検出
PR レビューの完了後、知識を記録する価値があるかどうかを評価します。
## Knowledge Detection Checklist
For each finding from sanctum:pr-review, evaluate:
- [ ] **Novelty**: Is this a new pattern or first occurrence?
- [ ] **Applicability**: Will this affect future PRs in this area?
- [ ] **Durability**: Is this architectural (capture) or tactical (skip)?
- [ ] **Connectivity**: Does it link to existing palace rooms?
確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
フェーズ 2:分類
指摘事項を適切なサブルームに振り分けます。
| 指摘の種類 | 対象の部屋 | 基準 |
|---|---|---|
| アーキテクチャ上の選択 | decisions/ | BLOCKING かつアーキテクチャ上の背景がある |
| 繰り返し発生する問題 | patterns/ | 以前にも発生している、または再発する可能性が高い |
| 品質の好例 | standards/ | コーディング規約の好例となる |
| 学び・知見 | lessons/ | 振り返りまたは事後分析に関するもの |
フェーズ 3:記録
次の内容を含む構造化されたエントリーを作成します。
---
source_pr: "#42 - Add authentication"
date: 2025-01-15
participants: [author, reviewer1, reviewer2]
palace_location: review-chamber/decisions
related_rooms: [workshop/auth-patterns, library/security-adr]
tags: [authentication, jwt, security]
---
## Decision Title
### Decision
Chose JWT tokens over server-side sessions.
### Context (from PR discussion)
- Reviewer asked: "Why not use sessions?"
- Author explained: stateless scaling requirements
- Discussion refined: added refresh token rotation
### Captured Knowledge
- **Pattern**: JWT + refresh tokens for stateless auth
- **Tradeoff**: Complexity vs. horizontal scaling
- **Application**: Use for all API authentication
### Connected Concepts
- [[auth-patterns]] - Updated with JWT best practices
- [[security-adr-003]] - Referenced this decision
確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
フェーズ 4:統合
記録後、関連するパレスの部屋を更新します。
- 関連するエントリーへの双方向リンクを追加する
- プロジェクトのパレスインデックス内のタグを更新する
- 既存のエントリーと矛盾する場合は通知する
使用例
PR レビュー後に記録する
# Automatic: sanctum:pr-review triggers capture
/pr-review 42
# → Review posted to GitHub
# → Knowledge capture evaluates findings
# → Significant decisions stored in review-chamber
# Manual: Explicitly capture from PR
/review-room capture 42 --room decisions
確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
過去の決定を検索する
# Find authentication decisions
/review-room search "authentication" --room decisions
# Find patterns in a specific area
/review-room search "error handling" --room patterns --tags api
# List recent entries
/review-room list --limit 10 --room standards
確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
関連する知識を提示する
コード領域で作業を開始するとき:
## Relevant Review Knowledge
Starting work in `auth/` directory...
**Past Decisions:**
- [#42] JWT token decision → decisions/jwt-over-sessions
- [#67] Rate limiting pattern → patterns/api-throttling
**Quality Standards:**
- [#55] Error response format → standards/api-errors
**Known Patterns:**
- [#38] Token refresh edge case → patterns/token-refresh-race
確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
連携ポイント
sanctum:pr-review との連携
review-chamber はフェーズ 6(レポートの生成)の後に連携します。
**Verification:** Run the command with `--help` flag to verify availability.
Phase 6: Generate Report
↓
[HOOK] Evaluate findings for knowledge capture
↓
For each significant finding:
├── Classify into room type
├── Create ReviewEntry
├── Add to project palace
└── Update connections
↓
Phase 7: Post to GitHub
確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
knowledge-intake との連携
同じ評価フレームワークを使用します。
| 基準 | 重み | PR レビューでの適用 |
|---|---|---|
| 新規性 | 25% | 新しいパターン、または初めての事例 |
| 適用可能性 | 30% | この領域の今後の PR に影響する |
| 持続性 | 20% | アーキテクチャ上のものか、戦術的なものか |
| 関連性 | 15% | 既存の部屋へのリンク |
| 信頼性 | 10% | シニアレビュアーまたは領域の専門家 |
knowledge-locator との連携
検索対象を review-chamber にも拡張します。
python scripts/palace_manager.py search "authentication" \
--palace project-name \
--room review-chamber \
--type semantic
確認: python --version を実行し、Python 環境を確認します。
評価基準
記録する価値がある(スコア ≥ 60)
- 根拠が文書化されたアーキテクチャ上の決定
- 2 件以上の PR で見られた繰り返し発生するパターン
- セキュリティ/パフォーマンスに関する重大な指摘
- ビジネスロジックを説明するドメイン知識
- 今後のコードに影響する規約の変更
記録を見送る(スコア < 60)
- 一度限りの戦術的な修正
- 根拠のないスタイル上の好み
- パターンを伴わない明白なバグ
- 外部依存関係の問題
- 一時的な回避策
CLI リファレンス
# Capture knowledge from PR
/review-room capture <pr_number> [--room <room_type>] [--tags <tags>]
# Search review chamber
/review-room search "<query>" [--room <room_type>] [--tags <tags>]
# List entries
/review-room list [--room <room_type>] [--limit N]
# View entry details
/review-room view <entry_id>
# Export for documentation
/review-room export [--format markdown|json] [--room <room_type>]
# Statistics
/review-room stats [--palace <palace_id>]
確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
ベストプラクティス
- 決定はすぐに記録する - レビュー直後が最も背景を把握しやすいタイミングです
- 関連するエントリーをリンクする - ナレッジグラフを構築します
- 一貫したタグを使う - プロジェクトを横断した発見を可能にします
- 定期的に見直す - 古くなったエントリーを整理します
- 先回りして提示する - 関連する作業を始めるときに、関連知識を提示します
モジュールリファレンス
- 詳細な記録プロセスについては
modules/capture-workflow.mdを参照してください - 記録する価値のある知識の評価については
modules/evaluation-criteria.mdを参照してください - クエリの最適化については
modules/search-patterns.mdを参照してください
終了条件
- 各 PR レビュー指摘について知識検出チェックリストを評価し、 60 点以上の指摘を記録し、60 点未満はスキップする
- 記録した各指摘を適切な部屋に振り分ける:
decisions/、patterns/、standards/、またはlessons/ - 記録項目ごとに
source_pr、date、palace_location、および少なくとも 1 つのtagを含める - 記録後、新しい項目と関連する既存の palace の部屋との間に双方向リンクを追加する
- 保存後、
palace_manager.py search "<topic>"をタグまたは内容で検索すると、記録した項目が返される