role-declarelisted
Install: claude install-skill Saigetsu233/harness-jp-si
# ロール宣言 (role-declare)
セッション開始時、ユーザが担当ロールを明示していない場合に発動する。
---
## 発動条件
以下のいずれかに該当する場合に発動:
1. セッション開始直後、ユーザの最初のメッセージにロール名が含まれない
2. 作業内容が現在のロールの Scope を超え、別ロールへの切り替えが必要
3. ユーザが明示的に「ロール変更」を要求
---
## 振る舞い
### Step 1: ロール宣言を 1 回だけ問い返す
以下の文言で問い返す。**この問いは 1 セッションにつき 1 回まで**。ユーザが「相談」を選んだ場合は越境禁止のまま一般助言モードで進める。
> 「このセッションでの担当ロールをご指定ください:
>
> 1. **Product Manager (PdM)** — 要件定義・KPI・ユーザストーリー
> 2. **Project Manager (PjM)** — WBS・スケジュール・変更管理・リスク
> 3. **Architect** — 技術方式・データモデル・API・ADR
> 4. **Developer** — 詳細設計・実装・単体テスト
> 5. **QA Engineer** — テスト計画・テスト設計・バグ管理
> 6. **Infrastructure Engineer** — IaC・CI/CD・監視・運用
> 7. **相談 (ロール未確定)** — 越境禁止を維持したまま一般助言のみ
>
> 番号 or ロール名でお答えください。」
### Step 2: 回答をパース
ユーザ回答から以下のいずれかにマッピング:
| 入力例 | マッピング先 |
| --- | --- |
| `1`, `PdM`, `Product Manager`, `プロダクトマネージャー` | `product-manager` |
| `2`, `PjM`, `Project Manager`, `プロジェクトマネージャー` | `project-manager` |
| `3`, `Architect`, `アーキテクト`, `アーキ` | `architect` |
| `4`, `Developer`, `開発`, `開発エンジニア`, `Dev` | `developer` |
| `5`, `QA`, `QA Engineer`, `QAエンジニア` | `qa-engineer` |
| `6`, `Infra`, `Infrastructure`, `インフラ`, `インフラエンジニア` | `infra-engineer` |
| `7`, `相談`, `consult`, `ロール未確定` | `consult-mode` |
曖昧な場合 (例: 「設計」だけ → Architect or Developer ?) は再確認:
> 「『設計』は Architect (基本設計・技術方式) と Developer (詳細設計・実装) の双方に関わります。どちらをご指定ですか?」
### Step 3: ロール subagent / skill を活性化
宣言されたロールに対応する subagent 定義 (`agents/<role>.md`) を読み込み、以降の作業はそのロールの Scope 内で行う。
`consult-mode` の場合は subagent 活性化を行わず、`using-harness-jp-si` skill の