architecture-decision
アーキテクチャに関する意思決定を体系的に評価し、トレードオフを文書化して適切なパターンを選定します。「アーキテクチャの決定」「ADR」「設計パターンの選択」「技術選定」などについてユーザーが質問する場合や、アーキテクチャ上のトレードオフを検討する必要がある場合に使用します。技術的負債や品質特性を考慮したデシジョンレコードの作成にも対応します。
description の原文を見る
Systematically evaluate architecture decisions, document trade-offs, and select appropriate patterns. This skill should be used when the user asks about 'architecture decision', 'ADR', 'design pattern selection', 'technology choice', or needs to evaluate architectural trade-offs. Keywords: architecture, ADR, patterns, trade-offs, technical debt, quality attributes, decision record.
SKILL.md 本文
アーキテクチャ決定
アーキテクチャ決定を体系的に評価し、トレードオフを記録し、文脈に応じた適切なパターンを選択します。パターン選択のフレームワーク、ADR(アーキテクチャ決定記録)の作成、技術的負債の管理を提供します。
このスキルを使用する時機
このスキルは以下の場合に使用してください:
- テクノロジーの選択を行う
- アーキテクチャパターンを評価する
- アーキテクチャ決定記録を作成する
- 技術的負債を評価する
- 設計案を比較する
このスキルを使用しないでください:
- 実装コードを書く場合
- 要件について作業する場合(requirements-analysis を使用)
- 完全なシステム設計を行う場合(system-design を使用)
コア原則
文脈が決定を左右します。 どのパターンも万能ではありません。最良のアーキテクチャは最も洗練されたものではなく、その目的に最もよく応えながら、保守可能で進化させられるものです。
トレードオフトライアングル
すべてのアーキテクチャ決定にはトレードオフが伴います:
| 頂点 | 最大化される方法 | コスト |
|---|---|---|
| シンプルさ | モノリス、同期通信、単一DB | スケーラビリティの制限 |
| 柔軟性 | マイクロサービス、イベント駆動、プラグイン | 複雑さのオーバーヘッド |
| パフォーマンス | キャッシング、非正規化、最適化されたコード | 保守性 |
バランス戦略:
- シンプルに始めて、必要に応じて複雑さを追加する
- 最適化する前に測定する
- 抽象化を使用して決定を延期する
- 段階的に進化させる
品質属性
パフォーマンス
- メトリクス:レスポンスタイム(p50、p95、p99)、スループット、リソース使用率
- タクティクス:キャッシング、ロードバランシング、非同期処理
スケーラビリティ
- ディメンション:水平スケーリング、垂直スケーリング、エラスティック
- パターン:ステートレスサービス、シャーディング、イベントストリーミング
信頼性
- メトリクス:稼働時間、MTBF、MTTR
- パターン:サーキットブレーカー、リトライ、冗長性
保守性
- 要因:可読性、モジュール性、テスト可能性
- パターン:クリーンアーキテクチャ、DDD、SOLID
文脈とパターンのマッピング
チーム文脈
| 文脈 | 推奨パターン | 避けるべき |
|---|---|---|
| 小規模チーム | モノリス、垂直スライス、共有DB | マイクロサービス、複雑な抽象化 |
| 複数チーム | サービス境界、APIコントラクト | 共有状態、密結合 |
スケール文脈
| 文脈 | 推奨パターン | 理由 |
|---|---|---|
| スタートアップ | モノリスファースト、垂直スケーリング | 開発速度を最適化 |
| エンタープライズ | サービスメッシュ、水平スケーリング | 運用スケールを最適化 |
決定マトリックステンプレート
| オプション | 一貫性 | 柔軟性 | スケーラビリティ | 複雑さ | コスト | 合計 |
|---|---|---|---|---|---|---|
| オプション A | 5 | 2 | 3 | 2 | 3 | 15 |
| オプション B | 3 | 5 | 4 | 3 | 3 | 18 |
| オプション C | 2 | 3 | 5 | 1 | 2 | 13 |
文脈の優先度に基づいて重み係数を調整してください。
アーキテクチャ決定記録(ADR)テンプレート
# ADR-[番号]: [タイトル]
## ステータス
[提案中 | 承認済み | 廃止予定 | 後継あり]
## 文脈
[決定を要する状況は何か?]
### 要件
- [要件 1]
- [要件 2]
### 制約条件
- [制約 1]
- [制約 2]
## 決定
[決定内容は何か?]
### 正当化
- [理由 1]
- [理由 2]
## 結果
### ポジティブ
- [利益 1]
- [利益 2]
### ネガティブ
- [欠点 1]
- [欠点 2]
## 検討した代替案
### [代替案 1]
却下理由:[なぜか]
### [代替案 2]
却下理由:[なぜか]
アーキテクチャリファクタリングパターン
Branch by Abstraction
- 現在の実装を抽象化で覆う
- 抽象化の背後に新しいソリューションを実装
- 新しい実装に切り替える
- 古い実装を削除
Strangler Fig
- 境界を特定
- 新機能に対して新しいソリューションを実装
- 古い機能を段階的に移行
- 古いシステムをリタイア
Parallel Run
- 新しいソリューションを実装
- 古いものと新しいものの両方を実行
- 結果を比較
- 確信が持てたら切り替える
技術的負債の管理
負債カテゴリ
| タイプ | 例 | 返済戦略 |
|---|---|---|
| 設計 | 不足している抽象化、密結合 | リファクタリングスプリント |
| コード | 重複、複雑性、不適切な命名 | 継続的なクリーンアップ |
| テスト | テストの不足、不安定なテスト | テスト改善 |
| ドキュメント | ドキュメントの不足、古い図 | ドキュメンテーションスプリント |
メトリクス
- 負債比率: 負債作業 / 全作業(目標 < 20%)
- 利息率: 負債による追加の努力
- 負債上限: 受け入れ可能な最大負債
アンチパターン
Big Ball of Mud
症状: 明確な構造なし、すべてがすべてに依存 対策: 境界を特定、モジュールを抽出、インターフェースを確立
Distributed Monolith
症状: サービスが一緒にデプロイされる必要がある、同期チェーン、共有DB 対策: 関連サービスをマージ、非同期通信、DB を分離
Golden Hammer
症状: すべての問題に対して 1 つのソリューション、パターンを無理に当てはめる 対策: 代替案を学ぶ、客観的に評価、プロトタイプオプション
関連スキル
- system-design - ADRを含む完全なシステム設計
- code-review - 実装検証
- task-decomposition - アーキテクチャ作業の分解
- requirements-analysis - 制約条件の理解
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jwynia
- リポジトリ
- jwynia/agent-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/jwynia/agent-skills / ライセンス: MIT
関連スキル
nano-banana-2
inference.sh CLIを通じてGoogle Gemini 3.1 Flash Image Preview(Nano Banana 2)で画像を生成します。テキストから画像を生成する機能、画像編集、最大14枚の複数画像入力、Google Searchグラウンディング機能に対応しています。トリガーワード:「nano banana 2」「nanobanana 2」「gemini 3.1 flash image」「gemini 3 1 flash image preview」「google image generation」
octocode-slides
洗練されたマルチファイル形式のHTMLプレゼンテーションを生成します。6段階のフロー(概要 → リサーチ → アウトライン → デザイン → 実装 → レビュー)で構成されています。各スライドは独立したHTMLファイルとなり、iframeで読み込まれます。「スライドを作成してほしい」「プレゼンテーションを作ってほしい」「HTMLスライドを生成してほしい」「デックを構築してほしい」といった依頼や、ノート・ドキュメント・コードを洗練されたプレゼンテーションに変換する際に使用できます。
gpt-image2-ppt
OpenAIのgpt-image-2を使用して、視覚的に優れたPPTスライドを生成します。Spatial Glass、Tech Blue、Editorial Monoなど10種類のキュレーション済みスタイルに対応し、ユーザーが提供したPPTXファイルを模倣するテンプレートクローンモードも搭載しています。HTMLビューアと16:9形式のPPTXファイルを出力します。プレゼンテーション、スライド、ピッチデック、投資家向けPPT、雑誌風PPTの作成依頼などで活用してください。
nano-banana
Nano Banana PRO(Gemini 3 Pro Image)およびNano Banana(Gemini 2.5 Flash Image)を使用したAI画像生成機能です。以下の場合に活用できます:(1)テキストプロンプトからの画像生成、(2)既存画像の編集、(3)インフォグラフィックス、ロゴ、商品写真、ステッカーなどのプロフェッショナルなビジュアルアセット制作、(4)複数画像での人物キャラクターの一貫性保持、(5)正確なテキスト描画を含む画像生成、(6)AI生成ビジュアルが必要なあらゆるタスク。「画像を生成」「画像を作成」「写真を作る」「ロゴをデザイン」「インフォグラフィックスを作成」「AI画像」「nano banana」またはその他の画像生成リクエストをトリガーとして機能します。
oiloil-ui-ux-guide
モダンでクリーンなUI/UXガイダンス・レビュースキルです。新機能や既存システム(Webアプリ)に対して、実行可能なUI/UX改善提案、デザイン原則、デザインレビューチェックリストが必要な場合に活用できます。CRAP(コントラスト・反復・配置・近接)をベースに、タスクファーストなUX、情報設計、フィードバック・システムステータス、一貫性、affordances、エラー防止・復旧、認知負荷を重視します。モダンミニマルスタイル(クリーン・余白・タイポグラフィ主導)を強制し、不要なテキストを削減、アイコンとしての絵文字を禁止し、統一されたアイコンセットから直感的で洗練されたアイコンを推奨します。
axiom-hig-ref
Apple Human Interface Guidelines リファレンス — 色(セマンティックカラー、カスタムカラー、パターン)、背景(マテリアル階層、ダイナミック背景)、タイポグラフィ(標準スタイル、カスタムフォント、Dynamic Type)、SF Symbols(レンダリングモード、色、多言語対応)、ダークモード、アクセシビリティ、プラットフォーム固有の考慮事項を網羅したガイドラインです。