v0.1.0 to v0.1.0
1 added, 1 removed. Audit A to A.
---
id: 'capacity-cost-design'
name: 'Capacity, Performance & Cost Assumptions'
description: 'Ensure architecture/design docs state traffic assumptions, performance budgets, resource limits, and cost risks for critical paths.'
version: 0.1.0
category: upstream
phase: upstream
applyTo:
- 'docs/**/*performance*.md'
- 'docs/**/*capacity*.md'
- 'docs/**/*scal*.md'
- 'docs/**/*cost*.md'
- 'docs/**/*design*.md'
- 'pages/**/*performance*.md'
- 'pages/**/*capacity*.md'
- 'pages/**/*scal*.md'
- 'pages/**/*cost*.md'
tags: [architecture, performance, capacity, cost, upstream]
severity: major
inputContext: [diff, adr]
outputKind: [summary, findings, actions, questions]
modelHint: balanced
dependencies: [repo_metadata]
---
## Pattern declaration
Primary pattern: Reviewer
Secondary patterns: Inversion
Why: 性能・容量・コストの前提漏れをチェックリスト型で評価し、本番ではじめて発覚するリスクを低減する
## Goal / 目的
- 設計の差分から、性能/容量/コストの前提不足により “本番で初めて詰む” リスクを減らす。
## Non-goals / 扱わないこと
- 具体的なインフラ構成やクラウドサービスの最適解を断定しない。
- 実装レベルのチューニング(クエリ改善やキャッシュ実装など)。
## Pre-execution Gate / 実行前ゲート
このスキルは以下の条件がすべて満たされない限り`NO_REVIEW`を返す。
- [ ] 差分に設計ドキュメント(設計書/ADR/容量計画書)の変更がある
- [ ] 差分に性能・容量・コストの前提や目標に関わる記述の追加または変更がある
- [ ] inputContextにdiffが含まれている
- ゲート不成立時の出力: `NO_REVIEW: rr-upstream-capacity-cost-design-001 — 性能・容量・コスト設計に関わる変更が検出されない`
+ ゲート不成立時の出力: `NO_REVIEW: capacity-cost-design — 性能・容量・コスト設計に関わる変更が検出されない`
## False-positive guards / 抑制条件
- PoC/運用対象外と明記されている場合は、必須要件としては扱わず “確認” に留める。
## Rule / ルール
- 先頭に要約を 1 行出す(クリティカルパスと前提の変更点)。
- 指摘は最大 8 件まで。性能予算/上限制約/コスト爆発のリスクを優先。
- “追記テンプレ” を付けて、文書に落とせる形にする。
## Checklist / 観点チェックリスト
- トラフィック前提
- 想定 QPS/ピーク、データ量、同時接続などの前提があるか。
- 増加率(成長)と期間の前提があるか。
- 性能予算(Budget)
- 重要フローのレイテンシ目標(p95/p99)と内訳があるか。
- タイムアウト/リトライで “増幅” しない前提になっているか。
- ボトルネックと限界
- 依存(外部 API/DB/キュー)の上限と、劣化時のふるまいがあるか。
- Backpressure(キュー溢れ、レート制限)と、落としどころがあるか。
- コスト
- コストドライバー(データ転送、ストレージ、ログ、外部 API 課金)が列挙されているか。
- コスト上限/監視/アラートの前提があるか。
## Output / 出力フォーマット
すべて日本語。`<file>:<line>: <message>` 形式で出力する。
- 先頭に要約を 1 行: `(summary):1: <重要フローと前提/予算の要点>`
- 以降は指摘(最大 8 件):
- `<message>` に `[severity=critical|major|minor|info]` を含める。
- 可能なら “追記テンプレ” を 1 行付ける。
追記テンプレ例:
- `前提: peakQPS=<>, payload=<>, dataGrowth=<>, 期間=<>`
- `性能: p95=<ms>, p99=<ms>, timeout=<ms>, retry=<回数>`
- `コスト: ドライバー=<>, 上限=<>, 監視=<メトリクス>`
## 評価指標(Evaluation)
- 合格基準: 差分に紐づく前提/予算/上限の抜けが優先度付きで指摘され、追記案がある。
- 不合格基準: 推測の断定、差分と無関係な一般論、指摘過多。
## 人間に返す条件(Human Handoff)
- コスト上限や性能目標がビジネス判断に跨る場合は人間(PM/Tech Lead)へ返す。