askill
architecture-skeleton

architecture-skeletonSafety --Repository

This skill should be used when the user asks to "define architecture skeleton", "select technology stack", "create ADR", "define system boundaries", "set NFR policies", or "plan high-level architecture". Designs high-level system architecture, technology selection, and NFR policies for Wave A parallel execution.

0 stars
1.2k downloads
Updated 2/19/2026

Package Files

Loading files...
SKILL.md

Architecture Skeleton Skill

Wave A で実行される高レベルアーキテクチャ設計スキル。 技術選定、システム境界、NFR方針を決定し、ADR として記録する。

実行タイミング: Wave A(database, design-inventory と並列)

前提条件

条件必須説明
docs/requirements/user-stories.md機能要件(web-requirements 出力)
docs/requirements/context_unified.mdプロジェクトコンテキスト
ユーザー承認済み技術スタックスポーンプロンプト経由で受領(mode: auto の場合は自律選定)

出力ファイル

ファイル説明
docs/03_architecture/architecture.mdシステム構成(高レベル)
docs/03_architecture/adr.md技術選定記録

依存関係

種別対象
前提スキルweb-requirements
並列スキルdatabase, design-inventory(Wave A)
後続スキルarchitecture-detail, api(Wave B)

Wave A 契約出力

Blackboard に以下を登録する:

contract_outputs:
  - key: decisions.architecture.tech_stack
    value: ["Next.js", "PostgreSQL", "Prisma", ...]
  - key: decisions.architecture.boundaries
    value:
      - name: frontend
        type: SPA
        technology: Next.js
      - name: backend
        type: BFF
        technology: Node.js
      - name: database
        type: RDBMS
        technology: PostgreSQL
  - key: decisions.architecture.nfr_policies
    value:
      authentication:
        method: JWT
        algorithm: RS256
        access_token_ttl: 15m
        refresh_token_ttl: 7d
      error_format: RFC7807
      logging: structured_json
      monitoring: OpenTelemetry

ワークフロー

1. 要件(user-stories.md)を読み込み
2. NFR ポリシーを抽出・決定
3. アーキテクチャパターンを選定
4. 技術スタックを検証・詳細化
   4a. USER_APPROVED_TECH_STACK を確認
   4b. mode: auto → 従来通り自律選定
   4c. mode: specified → ユーザー指定を必須制約として採用
   4d. 未指定カテゴリ(空文字列)は自律選定で補完
   4e. 互換性検証(問題あれば needs_input で Lead に報告)
5. システム境界を定義
6. ADR を作成(ユーザー指定技術がある場合「ユーザー制約による選定」として記録)
7. architecture.md(高レベル)を生成
8. SendMessage で contract_outputs を Lead に送信

アーキテクチャパターン選定

プロジェクトタイプ推奨パターンADR で記録
webappSPA + BFFADR-0001
mobileClient-ServerADR-0001
apiModular MonolithADR-0001
batchEvent-DrivenADR-0001
fullstackSPA + BFF + APIADR-0001

注意: ユーザーが技術スタックを指定した場合(mode: specified)、そのスタックと最も相性の良いパターンを優先する。 例: ユーザーが Next.js を指定 → SPA + BFF パターンを優先。Django を指定 → MVC モノリスを検討。

NFR ポリシー決定項目

項目決定内容後続フェーズへの影響
認証方式JWT / Session / OAuth2api, design
認可モデルRBAC / ABAC / 単純ロールapi, database
エラー形式RFC7807 / カスタムapi, design
ログ形式構造化JSON / プレーンimplementation
監視戦略OpenTelemetry / カスタムinfrastructure

ADR テンプレート

### ADR-0001: アーキテクチャパターン選定

#### コンテキスト
[プロジェクト特性、要件からの制約]

#### 決定
[選定したパターン]

#### 理由
[選定理由、NFR との整合性]

#### 代替案
| 代替案 | 却下理由 |
|--------|----------|
| マイクロサービス | 初期フェーズでは過剰 |

#### 影響
[後続フェーズへの影響、制約]

NFR 測定可能性定義

各 NFR に対して、以下の3要素を定義する(IPA 非機能要求グレード準拠):

要素説明
target達成目標(定量値)API応答時間 p95 < 200ms
measurement測定方法・ツールk6 負荷テスト (100同時ユーザー)
pass_criteria合否基準p95 < 200ms かつ p99 < 500ms

定義テンプレート

NFR-IDカテゴリtargetmeasurementpass_criteria
NFR-PERF-001パフォーマンスAPI応答時間 p95 < 200msk6 負荷テスト (100同時ユーザー)p95 < 200ms かつ p99 < 500ms
NFR-SEC-001セキュリティOWASP Top 10 脆弱性ゼロOWASP ZAP フルスキャンHigh/Critical = 0
NFR-AVL-001可用性稼働率 99.9%外形監視(1分間隔)月間ダウンタイム < 43分

データフロー: Phase 3a → Aggregator → Blackboard nfr_measurability → Phase 7 nonfunctional_test_plan.md → Phase 8 検証

SendMessage 完了報告

タスク完了時に以下の YAML 形式で Lead に SendMessage を送信する:

status: ok | needs_input
severity: null
artifacts:
  - docs/03_architecture/architecture.md
  - docs/03_architecture/adr.md
contract_outputs:
  - key: decisions.architecture.tech_stack
    value: [選定した技術スタック]
  - key: decisions.architecture.user_constraints
    value: {ユーザー承認済み技術スタック(mode, 各カテゴリ)をそのまま転記}
  - key: decisions.architecture.boundaries
    value: [定義したシステム境界]
  - key: decisions.architecture.nfr_policies
    value: {NFR ポリシー}
  - key: decisions.nfr_measurability
    value:
      NFR-PERF-001:
        target: "API応答時間 p95 < 200ms"
        measurement: "k6 負荷テスト"
        pass_criteria: "p95 < 200ms かつ p99 < 500ms"
      # 全 NFR-ID について定義
open_questions:
  - "キャッシュ戦略は Wave B(architecture-detail)で決定"
  - "具体的なインフラ構成は Wave B で決定"
blockers: []

注意: project-context.yaml には直接書き込まない(Aggregator の責務)。

エラーハンドリング

エラー対応
要件不足P0 報告、web-requirements へ差し戻し
矛盾する NFRトレードオフを ADR に記録、P2 報告
技術選定で迷い(mode: auto 時)ADR に代替案を記録、needs_input 状態
ユーザー指定技術の互換性問題ADR に代替案を記録、needs_input で Lead に報告。ユーザー指定は変更不可
ユーザー指定技術間の競合補完側を調整して互換性を確保。調整不可の場合 needs_input で Lead に報告

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

AI review pending.

Metadata

Licenseunknown
Version1.1.0
Updated2/19/2026
Publishersizukutamago

Tags

apidatabaseobservability