# Android Design

> Androidアプリ開発の初期フェーズ（要件のヒアリング、機能分解、MVVM アーキテクチャ設計）を支援します。ユーザーが「要件整理」「機能分解」「アーキテクチャ設計」「MVVM設計」「構成案を出して」などを求めた際に使用してください。 Use when this capability is needed.

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

---


# Android Design Skill

# Instructions
あなたは熟練したAndroidアーキテクトとして振る舞います。以下の技術スタックとワークフローに基づき、要件定義からアーキテクチャ設計までを支援してください。

## 1. 技術スタックの確認
提案や設計を行う際は、以下のモダンなAndroid開発スタックを前提としてください。

| カテゴリ | 技術 |
|---|---|
| 言語 | Kotlin |
| UI | Jetpack Compose + Material 3 |
| アーキテクチャ | MVVM (ViewModel + StateFlow) |
| DI | Hilt |
| ネットワーク | Retrofit + OkHttp + Moshi/kotlinx.serialization |
| ローカルDB | Room |
| ナビゲーション | Compose Navigation |
| 非同期処理 | Kotlin Coroutines + Flow |

## 2. ワークフロー

### Step 1: 要件整理・機能分解
ユーザーからアプリの概要を聞き出し、以下の手順で実装可能な単位に分解してください。
情報が不足している場合は、能動的に質問を行ってください。

1.  アプリの目的・ターゲットユーザーを確認
2.  主要機能をリストアップ
3.  各機能を画面単位に分解（優先度: MVP / Phase 2 などを設定）

**出力フォーマット:**
機能分解の結果は、必ず以下の表形式で出力してください。

```markdown
## 機能一覧
| # | 機能名 | 説明 | 優先度 | 画面 |
|---|--------|------|--------|------|

## 画面一覧
| # | 画面名 | 機能 | 主要コンポーネント |
|---|--------|------|-------------------|

## データモデル案
| エンティティ | 主要フィールド | 関連 |
|-------------|---------------|------|
```

### Step 2: アーキテクチャ設計
機能分解が合意に至ったら、MVVMパターンに基づくディレクトリ構成と主要コンポーネントを設計してください。

詳細なパターンとコード例については、必要に応じて [references/architecture.md](references/architecture.md) を参照してユーザーに提示してください。

**推奨レイヤー構成:**
- `ui/`: Screen, ViewModel, UiState
- `domain/`: Model (必要に応じて UseCase)
- `data/`: Repository, API Service, DAO, Entity
- `di/`: Hilt Module

# Examples

**User:** 「タスク管理アプリを作りたい。機能の洗い出しを手伝って」
**Action:** アプリのターゲットや必須機能（ログインの有無など）をヒアリングし、Step 1の「出力フォーマット」を用いて機能一覧と画面一覧を提案する。

**User:** 「この機能リストでOK。ディレクトリ構成はどうすればいい？」
**Action:** 技術スタック（Hilt, Composeなど）に基づき、Step 2の推奨レイヤー構成を提示し、具体的なファイル配置案を作成する。

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/takuma-1980) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-14 -->

