Skip to content
Back to skills

Brainstorming

ASecurity

アイデアや要件を対話的に設計書(PBI INPUT PACKAGE)へ昇華する。Use when: 「こういう機能を作りたい」「どう実装すればいい?」「要件を整理したい」「設計を考えたい」「ブレスト」「アイデア出し」「what if」「どういうアプローチがある?」「PBI INPUT PACKAGEを作りたい」「技術調査の方向性を決めたい」。実装計画の作成にはai-dev-workflowを使用。

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
ai-agentsapi

Works with

  • api

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add s977043/PlanGate --skill brainstorming --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Brainstorming?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Brainstorming
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/s977043-brainstorming/badge)](https://www.skillsdirectory.com/skills/s977043-brainstorming)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: brainstorming
description: "アイデアや要件を対話的に設計書(PBI INPUT PACKAGE)へ昇華する。Use when: 「こういう機能を作りたい」「どう実装すればいい?」「要件を整理したい」「設計を考えたい」「ブレスト」「アイデア出し」「what if」「どういうアプローチがある?」「PBI INPUT PACKAGEを作りたい」「技術調査の方向性を決めたい」。実装計画の作成にはai-dev-workflowを使用。"
---

# Brainstorming

アイデアや曖昧な要件を、対話的なドリルダウンで設計書(PBI INPUT PACKAGE)に昇華する。

## Iron Law

`NO CODE WITHOUT APPROVED DESIGN FIRST`

設計が承認されるまで、一切のコード実装を禁止する。「シンプルだから」「急いでいるから」は理由にならない。

## Common Rationalizations

| こう思ったら | 現実 |
|---|---|
| 「シンプルだから設計不要」 | シンプルなタスクほど設計が速い。省略する理由にならない |
| 「前に似たことをやったから分かる」 | コードベースは変化する。今の状態を調査しろ |
| 「ユーザーが急いでいるから質問を省略」 | 曖昧なまま進めると手戻りの方が遅い |

**核心原則**: コードを書く前に、ユーザーが本当に何を求めているかを確認する。

## Philosophy

- **1質問ずつ**: 一度に複数の質問をしない。ユーザーの回答を受けてから次の質問を決める
- **YAGNI**: 「将来必要になるかも」は削る。今必要な最小構成を設計する
- **代替案を提示**: 最初のアイデアに飛びつかない。2-3のアプローチをトレードオフ付きで提示する
- **既存パターン優先**: コードベースの既存実装を調査し、一般論ではなくプロジェクト固有のパターンに従う
- **インクリメンタル承認**: 各ステップでユーザーの承認を得てから次に進む

---

## 8ステップ プロセス

### Step 1: プロジェクトコンテキスト探索

ユーザーのアイデアを聞いた後、まずコードベースを調査する。

```text
調査対象:
□ 関連する既存コード(Grep/Globで検索)
□ 類似機能の実装パターン
□ アーキテクチャの制約
□ 関連するテストパターン
```

**出力**: 関連コードと制約の要約をユーザーに報告する。

### Step 2: 明確化質問(1つずつ)

ユーザーの意図を正確に把握するため、**1つずつ**質問する。

質問の優先順位:
1. **Why**: なぜこの機能が必要か?(ユーザーの課題・目的)
2. **Who**: 誰が使うか?(エンドユーザー、管理者、API利用者)
3. **What**: 具体的に何ができるようになるか?(受入基準)
4. **Scope**: 何をやらないか?(明示的な除外範囲)
5. **Constraints**: 技術的制約、期限、依存関係は?

**ルール**:
- 回答から次の質問を導出する(スクリプト的に全質問を投げない)
- 3-5問で十分な理解が得られたら次のステップへ進む
- ユーザーが「もう十分」と言ったら即座に次へ

### Step 3: アプローチ提案

2-3のアプローチを提示する。各アプローチには:

```markdown
### アプローチ A: {名前}

**概要**: 1-2文で説明
**トレードオフ**:
- メリット
- デメリット・リスク
**変更範囲**: {影響するファイル数・領域}
**工数目安**: 小 / 中 / 大
```

**ルール**:
- 最もシンプルなアプローチを最初に提示する
- 各アプローチの「やらないこと」を明確にする
- ユーザーが選びやすいよう推奨を示す(ただし押し付けない)

### Step 4: ユーザー承認チェックポイント

ユーザーにアプローチを選んでもらう。

```text
「アプローチ A/B/C のどれで進めますか?
また、変更・追加したい点があれば教えてください。」
```

### Step 5: 設計書ドラフト作成

選ばれたアプローチを基に、`pbi-input.md`形式の設計書を作成する。

```markdown
# PBI INPUT PACKAGE: {タイトル}

> 生成日: YYYY-MM-DD
> 生成方法: brainstormingスキル

## Context / Why
{なぜやるか。ユーザーの課題・目的}

## What(Scope)

### In scope
{やること。具体的な機能・振る舞い}

### Out of scope
{やらないこと。明示的な除外範囲}

## 受入基準
- [ ] {基準1}
- [ ] {基準2}
- [ ] {基準3}

## Notes from Refinement
{議論で決まったこと。ブレスト中の意思決定を記録}

## Estimation Evidence

### Risks
{リスク}

### Unknowns
{不明点}

### Assumptions
{前提条件}
```

### Step 6: Specレビュー(自動セルフチェック)

設計書を以下の観点で自動チェックする:

```text
チェック項目:
□ Context / Why が具体的か(「便利だから」ではなく課題ベース)
□ 受入基準が検証可能か(テストで確認できる粒度)
□ Out of scope が明確か(曖昧な境界がないか)
□ 既存アーキテクチャとの整合性
□ YAGNIに反する要素がないか(過剰な設計)
□ セキュリティ観点の漏れ(認証・認可、入力バリデーション)
```

**結果**: PASS / WARN(改善提案付き)/ FAIL(修正必須)

### Step 7: 修正サイクル

Step 6でWARN/FAILが出た場合:
1. 指摘事項をユーザーに報告
2. 修正案を提示
3. ユーザー承認を得て修正
4. 再度Step 6を実行

### Step 8: 完了と遷移

設計書がPASSしたら:

1. `docs/working/TASK-XXXX/pbi-input.md` に保存(チケット番号が分かる場合)
2. 次のステップを案内:

```text
設計書の作成が完了しました。

次のステップ:
1. `/ai-dev-workflow TASK-XXXX plan` — 実装計画を生成
2. 設計書の内容を手動で調整(必要に応じて)
3. チームメンバーと共有してフィードバックを得る
```

---

## 重要ルール

- **第1原則を遵守**: ファイル生成前にユーザー確認を取る
- **1質問ずつ**: 複数の質問を同時にしない
- **既存コード最優先**: コードベースを調査してから設計する
- **過度に複雑にしない**: ユーザーが求めている以上の設計をしない
- **対話を楽しむ**: 機械的な質問ではなく、ユーザーのアイデアを一緒に育てる姿勢

## 不採用案の記録(decision-log 連携)

Step 4 でアプローチが選択されたら、**不採用にしたアプローチを `decision-log.jsonl` の `alternatives_rejected` に構造化記録**する。

- 形式: `"alternatives_rejected": [{"option": "不採用案", "rationale": "不採用理由"}]`(option=不採用案、rationale=不採用理由)
- **必須**: high-risk / critical mode、または human decision のとき
- 任意: standard 以下(推奨だが必須化しない)
- **正本は decision-log.jsonl**。設計書(pbi-input)の `Notes from Refinement` はそこへの参照・要約に留め、不採用理由を二重管理しない
- スキーマ: `docs/working/templates/decision-log-schema.md`

> **参照解決順(導入先で必ずこの順に探す)**: 本 Skill が参照する `docs/**` は上流リポジトリ基準の相対パスであり、`install.sh --claude` / plugin(Claude marketplace)/ Codex の **3 経路とも配布対象外**(解決不可)。(1) 導入先リポジトリの同名パスを探す → (2) 見つからなければ **「正本 `<path>` を参照できなかった」と明示**し、本 Skill 内の記述を代替正本として扱い、推測で内容を補わない。**plugin root 配下の探索は `docs/**` には適用しない**: plugin が配布するのは `agents` / `commands` / `skills` / `rules` 等の定義ディレクトリのみで `docs/` を配布対象として認識せず、plugin root 配下に相当する配布物が存在しないため、plugin root 段を置いても必ず空振りする(クラス A の rules 参照が plugin root 配下で解決できるのは `rules/` が実際に配布されるからであり、この非対称を `docs/**` に持ち込まない)。


## 関連スキル

- **ai-dev-workflow**: brainstorming完了後、実装計画の生成に使用
- **skill-creator**: 新しいスキルの設計にbrainstormingを適用可能

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…