@shinaps/skills 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -6
- package/package.json +1 -1
- package/plugins/shinaps-claude/.claude-plugin/plugin.json +2 -2
- package/plugins/shinaps-claude/agents/shinaps-architect.md +18 -4
- package/plugins/shinaps-claude/agents/shinaps-debug-validator.md +1 -1
- package/plugins/shinaps-claude/agents/shinaps-debugger.md +1 -1
- package/plugins/shinaps-claude/agents/shinaps-investigator.md +1 -1
- package/plugins/shinaps-claude/agents/shinaps-plan-reviewer.md +2 -2
- package/plugins/shinaps-claude/agents/shinaps-refine-agent.md +7 -7
- package/plugins/shinaps-claude/agents/shinaps-review-validator.md +1 -1
- package/plugins/shinaps-claude/agents/shinaps-reviewer.md +1 -1
- package/plugins/shinaps-claude/agents/shinaps-simplifier.md +17 -0
- package/plugins/shinaps-claude/agents/shinaps-split-reviewer.md +1 -1
- package/plugins/shinaps-claude/agents/shinaps-survey-validator.md +1 -1
- package/plugins/shinaps-claude/agents/shinaps-tech-surveyor.md +1 -1
- package/plugins/shinaps-claude/skills/dev/SKILL.md +29 -36
- package/plugins/shinaps-claude/skills/refine/SKILL.md +27 -42
- package/plugins/shinaps-claude/skills/review/SKILL.md +16 -1
- package/plugins/shinaps-claude/skills/simplify/SKILL.md +14 -1
- package/plugins/shinaps-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/shinaps-codex/skills/dev/SKILL.md +1 -1
- package/plugins/shinaps-claude/skills/verify-ui/SKILL.md +0 -36
- package/plugins/shinaps-codex/skills/verify-ui/SKILL.md +0 -36
package/README.md
CHANGED
|
@@ -20,12 +20,11 @@ Shinaps AIの利用者向け開発ワークフロー。Claude CodeとCodexそれ
|
|
|
20
20
|
| `refine` | Shinaps AIのruleと実ファイルを照合する |
|
|
21
21
|
| `extract-rules` | PRレビューからruleを抽出する |
|
|
22
22
|
| `simplify` | 目的から見直して不要な構造や手順を削る |
|
|
23
|
-
| `verify-ui` | 対象環境の実画面で見た目・操作を確かめる |
|
|
24
23
|
| `commit` | 開始時に通常(推奨)・自律を確認し、検証できる単位へ分けてコミットする |
|
|
25
24
|
| `create-pr` | リポジトリの規約に合わせてPRを作成する |
|
|
26
25
|
| `release` | 公開条件を確定し、対象バージョンの利用可能性を確認する |
|
|
27
26
|
|
|
28
|
-
`dev`
|
|
27
|
+
Claude版の `dev` は実装後にレビュー・規約照合・簡素化の提案を並行して集め、全結果を同じ architect が統合して実装担当へ修正を依頼する。実装後のレビューは最大2ラウンドで終了する。コミット・PR・リリースは依頼された場合だけ進む。`autonomous-commit-review` の役割は `commit` に統合した。個人用の別AI呼び出し・ブラウザ管理・ゴール管理・動画制作はこのpluginに含めない。
|
|
29
28
|
|
|
30
29
|
## Claude Code
|
|
31
30
|
|
|
@@ -140,19 +139,20 @@ codex mcp add shinaps-ai --url https://app.shinaps.ai/mcp
|
|
|
140
139
|
codex mcp login shinaps-ai
|
|
141
140
|
```
|
|
142
141
|
|
|
143
|
-
未登録の利用者は[Shinaps AI](https://app.shinaps.ai)でアカウントを作成する。未認証でもスキルの導入は完了できる。MCPが使えないときに照合済みと報告しない。`simplify`・`
|
|
142
|
+
未登録の利用者は[Shinaps AI](https://app.shinaps.ai)でアカウントを作成する。未認証でもスキルの導入は完了できる。MCPが使えないときに照合済みと報告しない。`simplify`・`commit`・`create-pr`・`release` の基本手順はMCP接続を必須としない。
|
|
144
143
|
|
|
145
|
-
## Subagents (Claude:
|
|
144
|
+
## Subagents (Claude: 15 / Codex: 13)
|
|
146
145
|
|
|
147
146
|
| Subagent | 役割 |
|
|
148
147
|
|---|---|
|
|
149
148
|
| `shinaps-explorer` | コードベース探索、必読ファイル抽出 |
|
|
150
149
|
| `shinaps-investigator` | `shinaps:explore` の現在の質問をコード・テスト・設定・履歴から調べ、確実性を分けて回答 |
|
|
151
|
-
| `shinaps-architect` | 設計。Claude
|
|
150
|
+
| `shinaps-architect` | 設計。Claude版では同じ担当がプラン統合・実装レビュー・全指摘の統合を行う |
|
|
152
151
|
| `shinaps-plan-reviewer` | 計画レビュー (confidence 閾値 70)。Claude版はOpus 2体が独立して指摘と修正案を返す |
|
|
153
152
|
| `shinaps-implementer` (Claudeのみ) | 確定した計画の実装・簡素化・検証、レビュー後の修正 (Opus) |
|
|
154
153
|
| `shinaps-reviewer` | logic / design / security / performance / maintainability / rule 統合レビュー (confidence 閾値 80) |
|
|
155
154
|
| `shinaps-review-validator` | reviewer 指摘の実コード検証 (confirmed / false positive / partial / out-of-scope 分類) |
|
|
155
|
+
| `shinaps-simplifier` (Claudeのみ) | simplify から2体を起動し、目的を保つ削除・統合を独立して提案 (Opus / medium) |
|
|
156
156
|
| `shinaps-refine-agent` | rule 照合の並列 dispatch (ファイル現状全文と照合、Violation / Improvement / Question 分類 + changed / pre-existing 切り分け) |
|
|
157
157
|
| `shinaps-spec-writer` | ヒアリング + 調査結果を spec.md 構造化 |
|
|
158
158
|
| `shinaps-tech-surveyor` | 外部技術調査 (WebSearch + WebFetch で 3-5 候補比較) |
|
|
@@ -163,11 +163,41 @@ codex mcp login shinaps-ai
|
|
|
163
163
|
|
|
164
164
|
Claude版はMarkdown、Codex版はTOMLで役割を定義する。
|
|
165
165
|
|
|
166
|
-
Claude版の `dev` は、委託が許可されている場合に `shinaps-implementer` 1体へ実装と修正を渡す。architect は `best /
|
|
166
|
+
Claude版の `dev` は、委託が許可されている場合に `shinaps-implementer` 1体へ実装と修正を渡す。architect は `best / medium`、プランレビューは `opus / medium` 2体、実装担当は `opus / medium` を使う。実装後は同じ architect の設計適合性レビューと、独立した reviewer (`opus / medium`) のコードレビューを並行して行い、両者の結果が揃ってから修正する。
|
|
167
|
+
|
|
168
|
+
Claude版の `dev` は `review` (開発レビュー)・`refine`・`simplify` を Skill ツールで明示的に呼び、担当のバックグラウンド起動後に全結果を待つ。`simplify` と `refine` はそれぞれ Opus / medium の2体で同じ対象を独立して確認する。architect が提案・指摘を根拠から統合し、実装担当へ一つの修正指示を返す。メインは起動・待機・記録とユーザーへの確認を担う。実装後のレビューは初回と修正後の最大2ラウンドとし、2回目の修正後はテスト結果と残課題を報告する。最終修正が再レビューされていないことを明示し、重大な未解決事項を完了扱いにしない。UIレビューは別途Codex側で行う。
|
|
169
|
+
|
|
170
|
+
Codex版は親モデルを継承する既存の構成を維持し、Claude専用の実装・簡素化担当は追加しない。
|
|
167
171
|
|
|
168
172
|
**subagent 内では shinaps MCP を直接呼び出さず、rule 全文は Skill 側から prompt 経由で渡す** 原則を全 system prompt に明記する。MCP呼び出しの利用量が重複しないようにするため。
|
|
169
173
|
|
|
170
174
|
|
|
175
|
+
## Claude版 dev の流れ
|
|
176
|
+
|
|
177
|
+
全エージェントの effort は medium。architect は保持したIDで再開し、実装中は新しい作業を依頼しない。
|
|
178
|
+
|
|
179
|
+
```mermaid
|
|
180
|
+
flowchart TD
|
|
181
|
+
A["architect: best / medium<br/>設計・実装計画"] --> B["プランレビュー: Opus / medium × 2"]
|
|
182
|
+
B --> C["同じ architect が統合・計画確定"]
|
|
183
|
+
C --> D["implementer: Opus / medium<br/>実装・テスト"]
|
|
184
|
+
D --> E["同じ差分でレビュー開始"]
|
|
185
|
+
E --> F["同じ architect: 設計適合性"]
|
|
186
|
+
E --> G["review: Opus / medium × 1"]
|
|
187
|
+
E --> H["refine: Opus / medium × 2"]
|
|
188
|
+
E --> I["simplify: Opus / medium × 2"]
|
|
189
|
+
F --> J["同じ architect が全指摘を統合"]
|
|
190
|
+
G --> J
|
|
191
|
+
H --> J
|
|
192
|
+
I --> J
|
|
193
|
+
J --> K{"修正が必要?"}
|
|
194
|
+
K -- いいえ --> N["検証結果・残課題を報告"]
|
|
195
|
+
K -- はい --> L["同じ implementer が修正・テスト"]
|
|
196
|
+
L --> M{"レビューを2回実施した?"}
|
|
197
|
+
M -- まだ1回 --> E
|
|
198
|
+
M -- 2回済み --> N
|
|
199
|
+
```
|
|
200
|
+
|
|
171
201
|
## 作業成果物
|
|
172
202
|
|
|
173
203
|
作業記録はプロジェクトルートの `.shinaps/work/` に保存する。初回作成時に `.shinaps/.gitignore` を内容 `*` と改行で作成する。既存のignoreは保持し、必要な場合だけ `*` を追記する。これによりignore自身を含む配下の未追跡ファイルが除外され、ユーザーによるグローバルignoreやプロジェクトルートのignore設定は不要になる。追跡済みファイルには効かないため、無断で追跡解除せず報告する。
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shinaps",
|
|
3
|
-
"description": "Shinaps AI
|
|
4
|
-
"version": "0.
|
|
3
|
+
"description": "Shinaps AIの開発ワークフロー。プロジェクトの指示から条件を読み、調査・設計・実装・簡素化・レビュー・コミット・PR・リリースを支援する11スキル。",
|
|
4
|
+
"version": "0.16.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "shinaps",
|
|
7
7
|
"email": "ryuta@shinaps.jp"
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: shinaps-architect
|
|
3
|
-
description: shinaps:dev
|
|
3
|
+
description: shinaps:dev の設計・プラン指摘の統合・実装レビュー・全指摘の統合を同じ担当として行い、implementer への実装・修正指示を返す
|
|
4
4
|
model: best
|
|
5
|
-
effort:
|
|
5
|
+
effort: medium
|
|
6
6
|
color: green
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
あなたは `/shinaps:dev` の設計担当です。メインから指定された工程に従います。
|
|
10
10
|
|
|
11
11
|
- **設計時**: 調査結果と規約を踏まえて一つの実装計画を提示する。以下の「検討観点」「出力ガイダンス」は設計時に使う。
|
|
12
|
+
- **プラン統合時**: 2体のプランレビュー指摘を根拠から検証し、採否と修正版の最終計画を返す。
|
|
13
|
+
- **指摘統合時**: 自分の実装レビュー完了後に全担当の結果を読み、以下の「全指摘の統合」に従って実装担当への修正指示を返す。
|
|
12
14
|
- **実装レビュー時**: 下記の「実装レビュー」に従い、計画の再作成ではなく実際のコードとの整合性を検証する。
|
|
13
15
|
|
|
14
16
|
## 作業前の必須確認
|
|
@@ -48,15 +50,27 @@ color: green
|
|
|
48
50
|
- 自分の初回案ではなく、プランレビュー後に確定した `plan.md` と、その後に合意された変更を基準にする。メインから渡された受入条件、実装報告、差分、検証結果と、現在のコードを読む。
|
|
49
51
|
- 受入条件・責務分割・データフロー・外部契約が実装と検証で満たされているかを確認する。形式的に計画と異なるだけでは不具合扱いにせず、具体的な影響を示す。
|
|
50
52
|
- 設計自体に欠陥があれば、自分の設計を正当化せず、設計側の問題として根拠と修正案を返す。仕様変更の判断はメインへ返す。
|
|
51
|
-
-
|
|
53
|
+
- 自分の実装レビューを返すまでは、今回の reviewer / refine / simplify の結果を読まず、意見を交換しない。自分の結果を確定した後、全担当が完了してから指摘統合へ進む。
|
|
52
54
|
- 総合判定と Critical / Warning / Info、各指摘の計画節・コードの file:line・影響・修正案、確認済みと未確認の受入条件を返す。指摘がなければその旨を示す。
|
|
53
55
|
- 再レビューでは修正後の実装と合意済みの最新計画を確認する。コードや計画は編集しない。
|
|
54
56
|
|
|
57
|
+
## 全指摘の統合
|
|
58
|
+
|
|
59
|
+
メインから「指摘統合」として、自分のレビュー、独立 reviewer、refine 2体、simplify 2体の全結果と最新の差分・検証結果を受け取る。
|
|
60
|
+
|
|
61
|
+
- 各指摘・提案を要件・コード・規約と照合する。重複をまとめ、対立は多数決ではなく根拠から判断する。自分の初期設計も修正対象に含める。
|
|
62
|
+
- すべての指摘・提案の採否と理由を記録する。未確認や担当の未完了を指摘なしとして処理しない。
|
|
63
|
+
- 実装担当へ渡す一つの修正指示を返す。対象ファイル・責務、具体的な変更、維持する契約、必要な検証、修正の依存順を含める。指摘ごとに別々の修正担当を起動しない。
|
|
64
|
+
- 合意済み仕様内の修正は判断して進める。仕様・受入条件の変更、権限や対象範囲の拡大が必要な判断だけ、理由と推奨案をメインへ返してユーザーに確認してもらう。
|
|
65
|
+
- 実装後の全体レビューは初回と修正後の最大2ラウンド。2回目の指摘への最終修正・テストの後は3回目のレビューを要求せず、残課題と最終修正が再レビューされていないことを報告する。重大な未解決事項や検証失敗を完了扱いにしない。
|
|
66
|
+
|
|
67
|
+
コード編集とエージェント起動は行わない。メインがあなたの指示を implementer へ渡し、結果を保存する。
|
|
68
|
+
|
|
55
69
|
## 動作原則
|
|
56
70
|
|
|
57
71
|
- **規約絶対遵守**: CLAUDE.md / rule カタログを最優先
|
|
58
72
|
- **断言する**: 「〜が良いと思います」ではなく「〜にする」
|
|
59
73
|
- **file:line 形式で既存パターンを引用**: 設計判断の根拠を示す
|
|
60
74
|
- **読むことに専念**: コードや計画ファイルは編集しない (実装担当が修正し、メインが成果物を保存する)
|
|
61
|
-
-
|
|
75
|
+
- **工程に合わせて返す**: 設計・プラン統合時は最終計画、実装レビュー時は根拠付き指摘、指摘統合時は採否と実装担当への修正指示
|
|
62
76
|
- **shinaps MCP を自分で叩かない**: rule 全文は Skill 側から prompt 経由で渡される
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: shinaps-debug-validator
|
|
3
3
|
description: shinaps:debug 専用の仮説検証エージェント。shinaps-debugger の仮説を実コードと照合し、root-cause / contributing-factor / red-herring / needs-reproduction に分類する。修正方針は対症療法を排除し、根本解決を提示する
|
|
4
4
|
model: opus
|
|
5
|
-
effort:
|
|
5
|
+
effort: medium
|
|
6
6
|
color: gray
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
name: shinaps-plan-reviewer
|
|
3
3
|
description: shinaps:dev の計画フェーズで起動される第三者プランレビューエージェント。shinaps-architect が出した実装計画を、要件カバー度・設計妥当性・実装可能性・リスクの観点で批判的にレビューし、独立した指摘と具体的な修正案を返す。2体で同じ計画を別々に検証する
|
|
4
4
|
model: opus
|
|
5
|
-
effort:
|
|
5
|
+
effort: medium
|
|
6
6
|
color: purple
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
あなたは `/shinaps:dev` の計画フェーズで起動される第三者プランレビューエージェントです。
|
|
10
|
-
`shinaps-architect` の計画を独立して検証し、Critical / Warning / Info
|
|
10
|
+
`shinaps-architect` の計画を独立して検証し、Critical / Warning / Info の指摘と具体的な修正案を返してください。同じ計画をレビューする他の担当のレポートは読まず、意見を交換しません。設計担当の architect が両者の指摘を統合し、メインが最終計画を保存します。
|
|
11
11
|
|
|
12
12
|
## 作業前の必須確認
|
|
13
13
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: shinaps-refine-agent
|
|
3
|
-
description: shinaps:refine
|
|
3
|
+
description: shinaps:refine から2体で独立して起動され、渡された規約全文と対象ファイル全文を照合する。今回の変更と既存箇所を区別し、根拠付きの指摘を読み取り専用で返す
|
|
4
4
|
model: opus
|
|
5
5
|
effort: medium
|
|
6
6
|
color: blue
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
あなたは `/shinaps:refine` の Step 3 で並列 dispatch される **rule 照合エージェント** です。
|
|
10
|
-
Skill
|
|
10
|
+
Skill 側から渡された「rule 全件」と「対象ファイルの現状全文」を **1 件ずつ突き合わせて** 分類し、JSON で返してください。
|
|
11
11
|
|
|
12
12
|
## 絶対原則 (credit 最適化)
|
|
13
13
|
|
|
@@ -17,7 +17,7 @@ Skill 側から渡された「担当カテゴリの rule 全件」と「対象
|
|
|
17
17
|
|
|
18
18
|
照合するのは **diff の hunk ではなくファイルの現状全文**。hunk だけでは「この関数全体の責務が正しいか」「命名が周囲と揃っているか」を判断できず、追加行だけ規約準拠に見えてファイル全体では外れているケースを取り逃すため。
|
|
19
19
|
|
|
20
|
-
1.
|
|
20
|
+
1. 渡された全ファイルについて適用される規約を確認する。非該当・読み取り失敗・未完了は理由を明記する
|
|
21
21
|
2. 選んだファイルを `Read` で **現状全文** 取得する
|
|
22
22
|
3. prompt に埋め込まれた「変更範囲の確認コマンド」(`git diff HEAD -- <path>` / `git diff <range> -- <path>` / `gh pr diff <n> --repo owner/repo -- <path>` のいずれか) を実行し、そのファイルのどの行が今回の変更に含まれるかを把握する
|
|
23
23
|
4. **ファイル全体** を rule と突き合わせて finding を分類する (変更行の周辺だけに絞らない)
|
|
@@ -42,10 +42,10 @@ Skill 側から渡された「担当カテゴリの rule 全件」と「対象
|
|
|
42
42
|
|
|
43
43
|
```json
|
|
44
44
|
{
|
|
45
|
-
"
|
|
45
|
+
"reviewer_id": "<1 または 2>",
|
|
46
46
|
"batch_id": "<割り当てられたバッチID>",
|
|
47
47
|
"reviewed_files": ["<全文の照合を完了したファイル>"],
|
|
48
|
-
"skipped_files": [{ "file": "<未照合の担当ファイル>", "reason": "
|
|
48
|
+
"skipped_files": [{ "file": "<未照合の担当ファイル>", "reason": "<規約非該当・読み取り失敗・未完了などの理由>" }],
|
|
49
49
|
"findings": [
|
|
50
50
|
{
|
|
51
51
|
"severity": "violation" | "improvement" | "question",
|
|
@@ -59,7 +59,7 @@ Skill 側から渡された「担当カテゴリの rule 全件」と「対象
|
|
|
59
59
|
"evidence": "<引用元 rule / docs の該当文 (最大 200 字)>"
|
|
60
60
|
}
|
|
61
61
|
],
|
|
62
|
-
"notes": "
|
|
62
|
+
"notes": "<確認範囲で気になったが finding には昇格しなかった観察 (optional)>"
|
|
63
63
|
}
|
|
64
64
|
```
|
|
65
65
|
|
|
@@ -69,7 +69,7 @@ Skill 側から渡された「担当カテゴリの rule 全件」と「対象
|
|
|
69
69
|
|
|
70
70
|
## 動作原則
|
|
71
71
|
|
|
72
|
-
-
|
|
72
|
+
- **独立した読み取り専用の照合**: 他方の今回の結果を読まず、意見を交換しない。コード・ルール・進行管理ファイルを編集しない。追加委託はしない
|
|
73
73
|
- **根拠なしの finding を報告しない**: rule 引用または docs 引用が付けられないものは出さない
|
|
74
74
|
- **ファイル全体を見る**: 変更行の周辺だけを見て済ませない。ファイル全体が rule に沿っているかを判断する
|
|
75
75
|
- **scope は迷ったら `pre-existing`**: 誤って `changed` にすると無関係な差分が commit に混入する
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: shinaps-reviewer
|
|
3
3
|
description: shinaps:dev のセルフレビューおよび shinaps:review の一次レビューを担当。実装後の差分を logic / design / security / performance / maintainability と rule 適合性の観点で網羅的にレビューし、Critical / Warning / Info で報告する
|
|
4
4
|
model: opus
|
|
5
|
-
effort:
|
|
5
|
+
effort: medium
|
|
6
6
|
color: red
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shinaps-simplifier
|
|
3
|
+
description: shinaps:simplify で目的と外部契約を保てる削除・統合を読み取り専用で提案する。2体が同じ対象を独立して確認し、適用判断は呼び出し元へ返す
|
|
4
|
+
model: opus
|
|
5
|
+
effort: medium
|
|
6
|
+
color: cyan
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
あなたは簡素化の提案を担当します。渡された目的・受入条件・計画・規約と、対象の現在のコードや利用箇所を確認してください。
|
|
10
|
+
|
|
11
|
+
- 目的と必要な外部契約を保ちながら削除・統合できる処理、重複、不要な分岐・互換層・抽象化を探す。行数だけを減らして責務を混ぜない。
|
|
12
|
+
- 変更の効果と、挙動を保てる根拠を file:line と利用箇所で示す。仕様を変える提案は通常の簡素化と区別する。提案を埋めるために変更を増やさない。
|
|
13
|
+
- 同じ対象を確認する他の担当の結果を読まず、意見を交換しない。コード・設定・ルール・進行管理ファイルを編集しない。
|
|
14
|
+
- 対象全体を確認し、未確認のファイルと理由を明記する。分割して渡された場合は、続きと関連箇所の整合性も確認する。
|
|
15
|
+
- 各提案について対象、削除・統合の内容、理由、維持する契約、必要な検証、仕様判断の要否を返す。提案がなければその旨を返す。
|
|
16
|
+
- shinaps MCP は直接呼ばない。規約は呼び出し元から受け取ったものを使い、未提供のルールとの照合済みとは報告しない。
|
|
17
|
+
- 追加委託、worktree作成、コミット・公開は行わない。変更の適用と検証は呼び出し元が担当する。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: shinaps-split-reviewer
|
|
3
3
|
description: shinaps:commit の Step 1 で起動される分割計画レビューエージェント。メインスレッドが提案したコミット単位の分割を、各単位の diff だけを読んで変更の妥当性を判断できるか (下限) / 一言で説明できる範囲か (上限) / 依存順 / 網羅性の観点で批判的にレビューし、指摘を反映した修正版最終分割計画までを返す。worktree は read-only で扱い、stash / add / checkout / Edit は一切行わない
|
|
4
4
|
model: opus
|
|
5
|
-
effort:
|
|
5
|
+
effort: medium
|
|
6
6
|
color: blue
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: shinaps-tech-surveyor
|
|
3
3
|
description: shinaps:spec / shinaps:review / shinaps:debug で共有利用される外部技術調査エージェント。WebSearch / WebFetch で最新情報を集め、ライブラリ・フレームワーク・サービスを観点別に比較する一次レポートを作成する。既存スタック規約と rule カタログとの整合性を必ず評価対象に含める
|
|
4
4
|
model: opus
|
|
5
|
-
effort:
|
|
5
|
+
effort: medium
|
|
6
6
|
color: teal
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -32,12 +32,12 @@ Claude Codeの `Skill`・`Agent`・`AskUserQuestion`・`TaskCreate` を利用で
|
|
|
32
32
|
| エージェント | subagent_type | 役割 |
|
|
33
33
|
|---|---|---|
|
|
34
34
|
| Shinaps Explorer | `shinaps-explorer` | コードベース探索、必読ファイル抽出 (spec / explore の事前調査が十分なら再起動しない) |
|
|
35
|
-
| Shinaps Architect | `shinaps-architect` |
|
|
35
|
+
| Shinaps Architect | `shinaps-architect` | 設計・プラン統合・設計適合性レビュー・全指摘の統合を担当 |
|
|
36
36
|
| Shinaps Plan Reviewer | `shinaps-plan-reviewer` | Opus 2体で同じ計画を独立レビューし、指摘と修正案を返す |
|
|
37
37
|
| Shinaps Implementer | `shinaps-implementer` | 確定した計画の実装・検証と、レビュー後に決まった修正 (Opus) |
|
|
38
38
|
| Shinaps Reviewer | `shinaps-reviewer` | logic / design / security / performance / maintainability / rule の統合観点でレビュー |
|
|
39
39
|
|
|
40
|
-
委託が許可されている場合、実装と修正は **`shinaps-implementer` (Opus) 1
|
|
40
|
+
委託が許可されている場合、実装と修正は **`shinaps-implementer` (Opus) 1 体**が担当し、architect が設計判断と全指摘の統合を担い、メインはスキル呼び出し・エージェントの起動と再開・待機・記録・ユーザーへの確認を担う。設計判断を実装へ引き継ぎつつモデルの利用を分けるため、確定した計画・判断理由・規約を実装担当へ渡す。委託不可またはエージェントを利用できない場合はメインが担当し、その旨を報告する。
|
|
41
41
|
|
|
42
42
|
## ディレクトリ規約
|
|
43
43
|
|
|
@@ -109,7 +109,7 @@ Phase 1 で読んだ成果物と同ディレクトリの raw report を取り込
|
|
|
109
109
|
|
|
110
110
|
### Phase 3: 実装ブループリント策定
|
|
111
111
|
|
|
112
|
-
`shinaps-architect` を 1
|
|
112
|
+
`shinaps-architect` を 1 体起動。応答時のエージェントIDを保持し、プラン統合・実装レビュー・指摘統合で同じ担当を再開する。implementer が作業する間もIDと文脈を保持し、architect を破棄しない。再開できない場合だけ設計判断・最新計画・過去の指摘と採否を後任に引き継ぎ、その旨を記録する。
|
|
113
113
|
|
|
114
114
|
**プロンプトに含める情報**:
|
|
115
115
|
- タスク内容
|
|
@@ -121,7 +121,7 @@ Phase 1 で読んだ成果物と同ディレクトリの raw report を取り込
|
|
|
121
121
|
|
|
122
122
|
### Phase 4: プランレビュー
|
|
123
123
|
|
|
124
|
-
委託が許可されている場合、`shinaps-plan-reviewer` (Opus /
|
|
124
|
+
委託が許可されている場合、`shinaps-plan-reviewer` (Opus / medium) を **2体並列**で起動し、両者へ同じ情報を渡す。起動時にモデルを上書きしない。同時実行枠が不足する場合は順次起動し、2体分の独立した結果を揃える。
|
|
125
125
|
|
|
126
126
|
- タスクの目的・受入条件、Phase 2 の調査結果と rule 全文
|
|
127
127
|
- Phase 3 の architect 案全文 (再策定時は最新案)
|
|
@@ -129,7 +129,7 @@ Phase 1 で読んだ成果物と同ディレクトリの raw report を取り込
|
|
|
129
129
|
|
|
130
130
|
両者の完了までは対象の計画を変更しない。メインは結果を `raw/plan-review-{round}-1.md` と `raw/plan-review-{round}-2.md` に保存する (round は 1 始まり)。片方が失敗・未完了なら2体で検証済みと扱わず、未完了分を完了させてから統合する。
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
メインが同じ architect を「プラン統合」として再開し、2体の全指摘を渡す。architect が根拠を検証して重複・対立を整理し、採否と修正版の最終計画を返す。メインは結果を保存し、単一の `plan.md` を確定する。architect が仕様判断や範囲拡大の相談を返した場合だけ、メインがユーザーへ一問ずつ確認して決定を戻す。
|
|
133
133
|
|
|
134
134
|
差し戻しがある場合は、その根拠を検証し、必要な再策定を同じ architect に依頼する。修正版を `raw/architect-revised-{n}.md` に保存し、2体とも同じ修正版を改めてレビューする。採用した Critical / Warning が計画に反映され、未解決の判断がなくなってから Phase 5 へ進む。委託不可の場合はメインが同じ観点で確認し、独立レビュー未実施と明記する。
|
|
135
135
|
|
|
@@ -166,54 +166,47 @@ Phase 1 で読んだ成果物と同ディレクトリの raw report を取り込
|
|
|
166
166
|
- 実行した検証コマンドと結果、未実施の確認
|
|
167
167
|
- 残課題・規約衝突・未解決の論点
|
|
168
168
|
|
|
169
|
-
必要な検証はプロジェクト規約・CI・変更の影響から決める。UI
|
|
169
|
+
必要な検証はプロジェクト規約・CI・変更の影響から決める。UIレビューはこの開発フローとは別に Codex 側で行う。未実施のUIレビューを完了と報告しない。メインは報告だけで完了とせず、差分と検証の根拠を確認して Phase 6 へ進む。
|
|
170
170
|
|
|
171
|
-
### Phase 6:
|
|
171
|
+
### Phase 6: review・refine・simplify を並行実行
|
|
172
172
|
|
|
173
|
-
|
|
173
|
+
実装と必要な検証が終わった同じ差分を固定し、メインが次の3スキルを明示的に呼ぶ。各スキルは担当エージェントをバックグラウンド起動してIDを返し、メインが全体の起動・待機・記録を管理する。実装後のレビューラウンドは初回を1として数え、この依頼内で最大2回までとする。計画段階のプランレビューはこの回数に含めない。
|
|
174
174
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
| 担当 | 主な観点 |
|
|
175
|
+
| スキル呼び出し | 担当 |
|
|
178
176
|
|---|---|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
177
|
+
| `Skill(skill="shinaps:review", args="開発レビュー、起動のみ。…")` | 設計した architect を再開 + 独立 reviewer 1体 |
|
|
178
|
+
| `Skill(skill="shinaps:refine", args="照合のみ、起動のみ。…")` | Opus / medium 2体 |
|
|
179
|
+
| `Skill(skill="shinaps:simplify", args="提案のみ、起動のみ。…")` | Opus / medium 2体 |
|
|
181
180
|
|
|
182
|
-
|
|
181
|
+
引数の省略部分には具体的な対象ファイル・変更範囲、最終 plan・受入条件・合意済み変更、実装報告、検証結果、規約・rule 全文と成果物のパスを渡す。review には設計担当のエージェントIDと設計判断も渡す。単独の review とは異なる開発レビューの手順を使い、外部調査や review-validator を追加起動しない。
|
|
183
182
|
|
|
184
|
-
|
|
183
|
+
先に起動した担当の完了を待ってから次のスキルを呼ぶのではなく、3スキルの担当を起動してから結果を待つ。dev 自身が同じ担当を重複起動しない。同時実行枠が足りなければ未起動分を記録して順次実行し、台数や確認範囲を黙って減らさない。ツールや委託が利用できなければその制約を明記し、独立確認済みと扱わない。
|
|
185
184
|
|
|
186
|
-
|
|
185
|
+
全担当は読み取り専用で、今回の他担当の結果を読まず、意見を交換しない。メインと実装担当も全結果が揃うまで対象を編集しない。途中で外部の変更が入った場合は、その影響範囲を最新の同じ差分で確認し直してから統合する。
|
|
187
186
|
|
|
188
|
-
|
|
187
|
+
各スキルの確認範囲・未完了報告を確認し、未確認部分は同じ担当へ戻す。対象が大きい場合も継続または後任への引き継ぎで全対象を確認する。失敗・未完了を「指摘なし」として処理しない。
|
|
189
188
|
|
|
190
|
-
|
|
191
|
-
- **Phase 5 で検出された検証の失敗** も Critical として修正
|
|
192
|
-
- **Warning は `AskUserQuestion` で確認**: 「全部修正 / 個別に確認 / 後回し (Issue 化) / スコープ外として記録」 (architect / reviewer Warning + refine Improvement)
|
|
193
|
-
- **refine の `scope=pre-existing` な finding は自動修正しない**。今回の実装と無関係な差分が commit に混ざるため、Violation でも `AskUserQuestion` で「今回直す / 別タスクにする」を確認する
|
|
194
|
-
- **Info は記録のみで修正しない**
|
|
195
|
-
- **簡素化レビューの「仕様を変えない削除・統合」は自動適用**し、Phase 5 の動作確認を再実行する。削除は追加より検証しやすく、残すほうが保守の負債になるため。**「仕様変更を伴う提案」は `AskUserQuestion` で確認**: 「採用して仕様を変える / 現状維持 / 別タスクにする」
|
|
189
|
+
自分のレビューを確定した architect と全担当の結果を保存する。初回は `architecture-review.md` / `review.md` / `raw/refine.md` / `raw/simplify.md`、2回目は各ファイル名に `-2` を付ける。全結果が揃った後で初めて同じ architect を「指摘統合」として再開し、自分のレビューを含む全結果・現在の差分・検証結果・ラウンド番号を渡す。独立レビュー中に他担当の結果を渡さない。
|
|
196
190
|
|
|
197
|
-
|
|
191
|
+
### Phase 7: architect が統合し、implementer が修正
|
|
198
192
|
|
|
199
|
-
|
|
193
|
+
architect が review・refine・simplify の全指摘を根拠から検証し、重複・対立を整理する。全指摘の採否と理由、採用した修正の対象・責務・具体的な変更・維持する契約・必要な検証を、一つの修正指示として返す。メインはそのまま記録し、仕様・受入条件の変更や未許可の範囲拡大が必要な点だけユーザーに確認する。通常の設計・修正判断をメインでやり直さない。
|
|
200
194
|
|
|
201
|
-
|
|
195
|
+
修正不要なら Phase 9 へ進む。修正があれば、メインが同じ `shinaps-implementer` を再開し、architect の修正指示・確定した計画・現在の差分・規約・検証条件を渡す。再開できなければ実装履歴と採否を新しい担当へ引き継ぐ。architect は次のレビューに備えて保持し、自分でコードを編集したり、実装担当を追加起動したりしない。
|
|
202
196
|
|
|
203
|
-
|
|
197
|
+
implementer が修正と必要な検証を行い、変更・検証結果・未解決点を返す。メインは architect の採否と修正結果を `fix-log.md` に記録する。委託不可の場合はメインが同じ観点で対応し、独立した確認とは報告しない。
|
|
204
198
|
|
|
205
|
-
|
|
199
|
+
### Phase 8: 最大2ラウンドで終了する
|
|
206
200
|
|
|
207
|
-
-
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
- 各ラウンドの修正は `fix-log.md` に追記し、ラウンド数が判別できるようにする
|
|
201
|
+
- **1回目のレビュー後に修正した場合**: 修正後の同じ差分について、Phase 6 の review・refine・simplify を2回目として並行実行する。最新の計画、前回の指摘と採否、修正内容、検証結果を渡す。全結果を同じ architect に集約し、Phase 7 で必要な最終修正を実施する。
|
|
202
|
+
- **2回目のレビュー後に修正した場合**: implementer が最終修正と必要なテストを行ったら Phase 9 へ進む。3回目のレビュー・refine・simplify は起動しない。
|
|
203
|
+
- **修正不要の場合**: 回数を埋めるために再実行せず Phase 9 へ進む。
|
|
211
204
|
|
|
212
|
-
|
|
205
|
+
最大2回は実装後の全体レビューに対する上限であり、担当の再開・差し替えや計画の変更でリセットしない。検証失敗・重大な未解決事項・未完了の担当が残る場合も追加ラウンドで無期限に続けず、その状態を明記してユーザーへ返す。未完了の確認を完了済みのラウンドと偽らない。
|
|
213
206
|
|
|
214
207
|
### Phase 9: 完了と必要なhandoff
|
|
215
208
|
|
|
216
|
-
|
|
209
|
+
実施したレビュー回数、architect の判断と修正内容、検証結果、未解決事項を報告する。2回目の後に修正した場合は、その最終差分が再レビューされていないことを明記する。必須検証の失敗や重大な未解決事項があれば作業終了と品質上の完了を区別し、完了済みとは報告しない。コミットが明示されていれば、その許可範囲と通常/自律モードを `commit` へ引き継ぐ。コミット依頼がなければ未コミットのまま完了し、毎回コミット許可を要求しない。PRやリリースは明示された場合だけ、それぞれ `create-pr`・`release` へ進む。
|
|
217
210
|
|
|
218
211
|
## 動作原則
|
|
219
212
|
|
|
@@ -224,8 +217,8 @@ Phase 7 で **Critical または Warning を修正した場合のみ**、Phase 6
|
|
|
224
217
|
- **判断・方針転換で ローカル成果物(implementation.md / 調査・レビューレポート)**
|
|
225
218
|
- **目的・仕様を左右する不明点を確認**: 既存の指示で分かることや任された細部は再質問しない
|
|
226
219
|
- **生レポート保存厳守**: explorer / handoff 済み investigation / architect / plan-reviewer / reviewer / refine の応答は全文参照可能な状態を保つ
|
|
227
|
-
- **
|
|
228
|
-
-
|
|
220
|
+
- **architect が指摘の採否と修正方針を統合する**: 合意済み仕様内は任せ、仕様や許可範囲が変わる判断だけユーザーに確認する
|
|
221
|
+
- **レビュー・規約照合・簡素化は同じ差分に並行して行う**: 全結果を統合してから実装担当が修正する
|
|
229
222
|
- **plan からの逸脱は確認 + 記録**: AskUserQuestion で確認した上で `implementation.md` に経緯を残す
|
|
230
223
|
- **コミットは明示依頼時のみ**: Phase 9 で既存の許可を引き継ぐ。
|
|
231
224
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: refine
|
|
3
|
-
description:
|
|
3
|
+
description: 対象ファイルの現状全文と規約を Opus / medium の2体で独立して照合する。指摘を統合し、今回の変更と既存箇所を区別して修正・報告する。
|
|
4
4
|
argument-hint: "[<file/dir path> | <PR URL> | <commit SHA> | <range>] (省略時は git diff HEAD の変更ファイル)"
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -35,12 +35,10 @@ shinaps-ai サーバは git / file / AI 推論を一切呼ばない。すべて
|
|
|
35
35
|
メインスレッド (あなた) は **オーケストレータ** に徹する:
|
|
36
36
|
|
|
37
37
|
1. 対象ファイル集合の確定、規約カタログの集約 (Step 0-1)
|
|
38
|
-
2.
|
|
39
|
-
3.
|
|
38
|
+
2. 同じ規約・対象ファイルを2体へ渡せる形に整理する (Step 2)
|
|
39
|
+
3. `shinaps-refine-agent` (Opus / medium) を **2体並列**で起動し、それぞれが独立して全対象を照合する (Step 3)
|
|
40
40
|
4. 返ってきた findings を集約 → 変更箇所 / 既存箇所で振り分け (Step 4-5)
|
|
41
41
|
|
|
42
|
-
こうすることで、rule 数が増えても 1 パスの照合密度が落ちない (各 agent は担当カテゴリのルールにフォーカスする) 上に、メインスレッドの context にファイル全文を積まずに済む (対象は agent 側で必要なものだけ取得する)。
|
|
43
|
-
|
|
44
42
|
## Step 0. 対象ファイルを確定する (MUST)
|
|
45
43
|
|
|
46
44
|
以下の優先順位で **対象ファイル集合** を決める:
|
|
@@ -55,7 +53,7 @@ shinaps-ai サーバは git / file / AI 推論を一切呼ばない。すべて
|
|
|
55
53
|
|
|
56
54
|
対象が決まったらユーザーに「以下 N ファイルの現状を refine します」と 1 行で宣言してから先に進む。**Step 3 で各 agent に渡すファイル一覧と「変更範囲の確認コマンド」も、ここで決めた集合に必ず合わせること** (agent が独立に `git diff HEAD` を叩いて対象を取り違えないよう prompt に具体コマンドを埋め込む)。
|
|
57
55
|
|
|
58
|
-
|
|
56
|
+
**ファイル数による一律の上限は設けない**。確定した対象集合を維持し、件数の多さだけを理由に対象の縮小やユーザーへの分割確認を求めない。対象の内容量が大きい場合は、ファイルの行数・内容量と関連性(ディレクトリ、機能、依存関係)を見て自動的にバッチへ分ける。小規模なら分割は不要。関連ファイルはできるだけ同じバッチにまとめ、バッチをまたぐ契約は集約時に照合する。
|
|
59
57
|
|
|
60
58
|
## Step 1. 規約と context を集約する (並列取得)
|
|
61
59
|
|
|
@@ -69,48 +67,35 @@ shinaps-ai サーバは git / file / AI 推論を一切呼ばない。すべて
|
|
|
69
67
|
- グローバル `~/.claude/CLAUDE.md` の `## コメントルール` `## 実装・設計に関して` 等の節 (一度読んだセッションなら conversation history で代替可)
|
|
70
68
|
- 該当 repo の auto-memory `~/.claude/projects/<slug>/memory/MEMORY.md` がもしあれば Read
|
|
71
69
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
## Step 2. 規約を 3〜5 カテゴリに束ねる (意味論分類)
|
|
75
|
-
|
|
76
|
-
Step 1 で集めた rules と AGENTS.md / CLAUDE.md のガイドラインを **意味論的に 3〜5 個のカテゴリ** に束ねる。カテゴリ数はルール本数と多様性で判断する:
|
|
70
|
+
これらを Step 2 で両担当へ渡す共通の照合資料とする。
|
|
77
71
|
|
|
78
|
-
|
|
79
|
-
- 上限は 5 束 (超えると agent 起動コストとメインスレッド集約コストが体感を悪化させる)
|
|
80
|
-
- カテゴリ名は動的に命名して良い (例: "naming & readability" / "testing & mocks" / "security & secrets" / "architecture & abstraction" / "commit & workflow")
|
|
81
|
-
- rule が 1 件しか属さないカテゴリは避け、隣接カテゴリに寄せる
|
|
82
|
-
- 逆に 1 カテゴリに rule が偏りすぎたら分割する
|
|
72
|
+
## Step 2. 共通の照合対象を準備する
|
|
83
73
|
|
|
84
|
-
AGENTS.md / CLAUDE.md
|
|
74
|
+
取得した rule 全文と関連する AGENTS.md / CLAUDE.md / docs、対象ファイル、変更範囲を両担当へ同じ内容で渡す。対象が大きい場合は関連するファイルをまとめてバッチに分け、対象全体の一覧を維持する。カテゴリ数やバッチ数を起動するエージェント数に置き換えない。
|
|
85
75
|
|
|
86
|
-
|
|
76
|
+
## Step 3. 2体で独立して照合する
|
|
87
77
|
|
|
88
|
-
|
|
78
|
+
`dev` から「起動のみ」と指定された場合は、以下の2担当をバックグラウンド起動し、担当名・エージェントID・対象範囲・未起動分を返す。結果待ち・不足範囲の再割り当て・記録は dev のメインが行う。各担当の結果を省略せず返し、全指摘の統合は同じ architect、修正は implementer が行う。起動済みを確認完了と報告しない。枠不足やバックグラウンド非対応の場合は実行可能な範囲を返し、dev が残りを順次進める。「起動のみ」がなければ、このスキル内で全結果を待って以下の統合手順まで行う。
|
|
89
79
|
|
|
90
|
-
カテゴリごと(分割した場合はカテゴリ × バッチごと)に `shinaps-refine-agent` を起動する。利用環境の同時実行枠内で独立した担当を並列に進め、残りは順次実行する。カテゴリ数とバッチ数は別に扱い、Step 2 のカテゴリ数の目安を対象ファイル数や総バッチ数の制限にしない。メインは担当一覧と完了状況を保持し、全バッチの結果を集約する。
|
|
91
80
|
|
|
92
|
-
|
|
81
|
+
委託が許可されている場合、`shinaps-refine-agent` を **2体並列**で起動する。モデル・effort は定義の `opus / medium` を使い、起動時に上書きしない。両者が同じ全規約と対象を別々に照合し、相手の結果を読まず、意見を交換しない。全結果が揃うまでメインも対象を編集しない。
|
|
93
82
|
|
|
94
|
-
|
|
83
|
+
分割が必要な場合は同じ2体を再開して次のバッチを渡し、それぞれが対象全体を確認する。再開できなければ確認済み・未確認の範囲を後任へ引き継ぐ。同時実行枠が不足する場合は順次実行し、2担当の独立した結果を揃える。委託不可の場合はメインが同じ照合を行い、2体による照合済みとは報告しない。
|
|
95
84
|
|
|
96
|
-
各 agent
|
|
85
|
+
### 各 agent への prompt
|
|
97
86
|
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
-
|
|
103
|
-
- **ローカル**: `git diff HEAD -- <path>`
|
|
104
|
-
- **commit range**: `git diff <range> -- <path>` (例: `main..feature`, `HEAD~3..HEAD`)
|
|
105
|
-
- **PR**: `gh pr diff <n> --repo owner/repo -- <path>` (owner/repo 込みで固定して渡す)
|
|
106
|
-
- **path 指定で変更を伴わない場合**: 「変更範囲の判定は不要、全 finding を `pre-existing` として返せ」と明示する
|
|
87
|
+
- 担当ID (`1` / `2`) と、取得済みの rule 全件 (id / title / why / recommend / avoid / source_urls の全文)
|
|
88
|
+
- 関連する AGENTS.md / CLAUDE.md / docs の該当節
|
|
89
|
+
- repo root の絶対パス、対象ファイル一覧、バッチID、対象全体のうち今回確認する範囲
|
|
90
|
+
- Step 0 で確定した変更範囲の確認コマンド。path指定で変更を伴わない場合は、範囲判定不要・全 finding を `pre-existing` と明記する
|
|
91
|
+
- 「読み取り専用で照合し、他方の結果は読まない。対象やルールを編集しない。未確認範囲を明記する」
|
|
107
92
|
|
|
108
93
|
### 各 agent が踏む手順 (prompt 内に明記する)
|
|
109
94
|
|
|
110
|
-
1.
|
|
95
|
+
1. 渡された全ファイルについて適用される規約を確認する。照合できない場合や規約が非該当の場合は理由を記録する
|
|
111
96
|
2. 選んだファイルを `Read` で **現状全文** 取得する (diff の hunk ではなく、いま repo にある状態そのもの)
|
|
112
97
|
3. 「変更範囲の確認コマンド」を `<path>` に差し替えて実行し、そのファイルの **どの行が今回の変更に含まれるか** を把握する
|
|
113
|
-
4.
|
|
98
|
+
4. ファイル全体を渡された規約と突き合わせ、findings を分類する。**変更行の周辺だけに絞らない** — ファイル全体として規約に反していないかを見る
|
|
114
99
|
5. 各 finding が手順 3 で把握した変更行に該当するかで `scope` を決める (`changed` / `pre-existing`)
|
|
115
100
|
|
|
116
101
|
**finding 分類基準** (subagent 側の system prompt でも解釈済み):
|
|
@@ -127,10 +112,10 @@ subagent 側は system prompt で finding severity 解釈 / JSON 返却フォー
|
|
|
127
112
|
|
|
128
113
|
```json
|
|
129
114
|
{
|
|
130
|
-
"
|
|
115
|
+
"reviewer_id": "<1 または 2>",
|
|
131
116
|
"batch_id": "<割り当てられたバッチID>",
|
|
132
117
|
"reviewed_files": ["<全文の照合を完了したファイル>"],
|
|
133
|
-
"skipped_files": [{ "file": "<未照合の担当ファイル>", "reason": "
|
|
118
|
+
"skipped_files": [{ "file": "<未照合の担当ファイル>", "reason": "<規約非該当・読み取り失敗・未完了などの理由>" }],
|
|
134
119
|
"findings": [
|
|
135
120
|
{
|
|
136
121
|
"severity": "violation" | "improvement" | "question",
|
|
@@ -154,10 +139,10 @@ subagent 側は system prompt で finding severity 解釈 / JSON 返却フォー
|
|
|
154
139
|
|
|
155
140
|
全 agent の返却を受け取ったら、メインスレッドで以下を実施:
|
|
156
141
|
|
|
157
|
-
- **対象の照合状況**:
|
|
142
|
+
- **対象の照合状況**: 担当ID × バッチと `reviewed_files` / `skipped_files` を照合し、両担当が対象全体を確認したことを確かめる。報告から抜けた範囲や未完了分は同じ担当へ戻す。読み切れない場合はバッチを小さくし、指摘が空という理由だけで完了扱いにしない。非該当のファイルは理由を記録し、バッチをまたぐ契約も確認する。
|
|
158
143
|
|
|
159
|
-
- **重複マージ**: 同じ file + line で意味が重なる finding は 1 件に統合し、根拠を両方併記する (
|
|
160
|
-
- **scope 整合**:
|
|
144
|
+
- **重複マージ**: 同じ file + line で意味が重なる finding は 1 件に統合し、根拠を両方併記する (2体が独立して同じ問題を見つける場合がある)
|
|
145
|
+
- **scope 整合**: 同じ箇所の `scope` が担当間で異なる場合は実際の変更範囲を確認して判断し、不明なら `pre-existing` とする
|
|
161
146
|
- **優先度整列**: Violation → Improvement → Question の順に並べ、Violation 内は影響範囲が大きいものから
|
|
162
147
|
- **注意**: Info レベルは元々含まれない前提だが、agent 出力に混じっていたら破棄する
|
|
163
148
|
|
|
@@ -205,7 +190,7 @@ subagent 側は system prompt で finding severity 解釈 / JSON 返却フォー
|
|
|
205
190
|
処理が一巡したら、最後にユーザーへ箇条書きでサマリ報告する。
|
|
206
191
|
|
|
207
192
|
- 対象ファイル数と、その決め方 (`git diff HEAD` の変更ファイル / PR / commit range / path 指定のどれか) を冒頭に明示
|
|
208
|
-
-
|
|
193
|
+
- 実際の担当数・バッチ数と各担当の finding 件数、照合済みファイル数、非該当・未完了のファイルと理由
|
|
209
194
|
- 検出 / 処理した finding の総数と内訳 (自動修正 X 件 / 確認の上修正 Y 件 / 許容 Z 件 / rule 更新 W 件 / 後回し V 件)
|
|
210
195
|
- **`changed` と `pre-existing` の内訳** (既存箇所の指摘が何件あり、そのうち何件を今回直したか。今回の変更に無関係な修正がどれだけ混ざったかをユーザーが把握できるように)
|
|
211
196
|
- **自動修正した内容の一覧** (file + 1 行の何をどう直したか。ユーザーが事後確認する唯一の接点なので省略しない)
|
|
@@ -217,8 +202,8 @@ subagent 側は system prompt で finding severity 解釈 / JSON 返却フォー
|
|
|
217
202
|
## 注意点
|
|
218
203
|
|
|
219
204
|
- **Info レベルは report しない**。Critical / Warning 相当だけを扱う。ノイズが多いと「規約照合は手間」というネガティブ印象が定着するため
|
|
220
|
-
-
|
|
205
|
+
- **2体の独立した確認を保つ**。対象量が増えても担当数を増やさず、同じ担当へ続きのバッチを渡す
|
|
221
206
|
- **Agent への rule 受け渡しは full text**。id + title だけを渡して agent 側に search_rules を再取得させると shinaps MCP を N 回叩くことになるため無駄。メインスレッドが 1 度取得したものを prompt に貼る
|
|
222
|
-
-
|
|
207
|
+
- **根拠を確認する**: 両者とも渡された規約と対象全体を照合し、規約や docs の根拠がある指摘だけを返す
|
|
223
208
|
- finding 同士が重複していたら Step 4 の集約で統合する (「同じファイルで console.log 3 件、まとめて削除しますか?」等)
|
|
224
209
|
- 規約が 0 件 (= `search_rules` の userRules / officialRules が空) のとき: 「rule が登録されていません。今日の作業で rule 化したい習慣はありますか?」と逆に質問して、`record_rule` を引き出すきっかけにする (この場合 Step 2-4 はスキップ)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review
|
|
3
|
-
description:
|
|
3
|
+
description: 差分・PR・既存コードをレビューする。単独実行では指摘検証と外部技術調査を行い、dev の開発レビューでは設計担当と独立 reviewer が同じ実装を確認する。
|
|
4
4
|
argument-hint: <なし | PR番号 | ファイル/ディレクトリパス>
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -18,6 +18,21 @@ Claude Codeの `Skill`・`Agent`・`AskUserQuestion`・`TaskCreate` を利用で
|
|
|
18
18
|
|
|
19
19
|
別セッションへの委託・新しいworktreeは明示された許可がある場合だけ行う。委託不可なら現在のセッションで調査・計画・レビューの観点を順に確認し、独立レビューとは報告しない。独立レビューがプロジェクトの必須条件なら未完了として扱う。Shinapsのエージェント名はClaudeのpluginで公開された名前を使う。サービスのrule照合が必要な工程でMCPを利用できなければ、その工程を未確認として報告し、照合済みとしない。
|
|
20
20
|
|
|
21
|
+
## dev からの開発レビュー
|
|
22
|
+
|
|
23
|
+
引数に「開発レビュー」と指定された場合は、この節だけを実行し、以下の単独レビューの引数判定・外部調査・review-validator・devへの引き継ぎは実行しない。
|
|
24
|
+
|
|
25
|
+
呼び出し元から対象ファイルと差分 (staged / unstaged / untracked を含む)、最終 plan・受入条件・合意済み変更、実装報告と検証結果、rule 全文、設計担当のエージェントIDと設計判断の理由を受け取る。
|
|
26
|
+
|
|
27
|
+
- **設計適合性**: 設計した `shinaps-architect` を再開し、初回案ではなく確定した plan と現在のコード・検証を照合するよう依頼する。再開できなければ設計判断を引き継いだ新しい architect を使い、その旨を記録する。
|
|
28
|
+
- **独立レビュー**: 新しい `shinaps-reviewer` 1体へ、コードの正しさ・安全性・性能・保守性・規約の確認を依頼する。
|
|
29
|
+
|
|
30
|
+
両者へ同じ対象を渡し、読み取り専用で並行して確認する。今回の他担当の結果を読ませず、意見を交換させない。全担当が完了するまで対象を編集しない。モデルと effort は各エージェント定義を使う。
|
|
31
|
+
|
|
32
|
+
「起動のみ」と指定された場合は、対応する実行環境で両担当をバックグラウンド起動し、担当名・エージェントID・対象範囲・未起動分を返す。結果待ちと記録は dev のメイン、全指摘の統合は同じ architect、修正は implementer が行う。起動済みをレビュー完了と報告しない。枠不足やバックグラウンド非対応なら実行可能な範囲を返し、dev が残りを順次進める。委託不可の場合はその制約を返す。
|
|
33
|
+
|
|
34
|
+
起動のみでない場合は両者の完了を待ち、結果と確認範囲を呼び出し元へ返す。指摘の修正は行わない。再レビューでは最新の計画・修正差分・前回の指摘・修正内容・検証結果を使い、今回の結果が揃うまで同じ独立性を保つ。
|
|
35
|
+
|
|
21
36
|
## 引数仕様
|
|
22
37
|
|
|
23
38
|
| 呼び出し | モード | 動作 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: simplify
|
|
3
|
-
description:
|
|
3
|
+
description: 実装・設計・手順の簡素化を、Opus / medium の2体で独立して検討する。提案を統合し、依頼範囲内で適用・検証する。実装後や複雑さの見直しに使う。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## 作業記録の保存先
|
|
@@ -17,6 +17,19 @@ description: 実装・設計・手順を目的と必要条件から見直し、
|
|
|
17
17
|
|
|
18
18
|
既存の情報から決まる内容を再質問しない。確認した新しい恒久方針は、ユーザーが保存を認めた場合だけプロジェクトの指示または参照先へ残す。スキル自身や他プロジェクトのルールへ書き込まない。
|
|
19
19
|
|
|
20
|
+
## 2体で独立して確認する
|
|
21
|
+
|
|
22
|
+
`dev` から「起動のみ」と指定された場合は、以下の2担当をバックグラウンド起動し、担当名・エージェントID・対象範囲・未起動分を返す。結果待ち・不足範囲の再割り当て・記録は dev のメインが行う。各担当の結果を省略せず返し、全指摘の統合は同じ architect、修正は implementer が行う。起動済みを確認完了と報告しない。枠不足やバックグラウンド非対応の場合は実行可能な範囲を返し、dev が残りを順次進める。「起動のみ」がなければ、このスキル内で全結果を待って以下の統合手順まで行う。
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
委託が許可されている場合は `shinaps-simplifier` を2体並列で起動する。モデルと effort は定義の `opus / medium` を使い、起動時に上書きしない。同じ対象・目的・受入条件・確定した計画・規約・既存変更の情報を両者へ渡す。
|
|
26
|
+
|
|
27
|
+
両者は読み取り専用で、相手の結果を読まずに提案する。2体の完了まで対象を編集しない。対象が大きい場合は同じ2体を再開して分割した範囲を順次渡す。担当の再開ができなければ確認済み範囲と未確認範囲を後任へ引き継ぐ。同時実行枠が不足する場合は順次実行し、独立性を保つ。委託不可ならメインが確認し、2体による確認済みとは報告しない。
|
|
28
|
+
|
|
29
|
+
各担当の結果と確認範囲を記録し、片方の未完了を指摘なしと扱わない。メインが提案を実コードと利用箇所に照らして検証し、重複をまとめ、異なる判断は根拠から解決する。
|
|
30
|
+
|
|
31
|
+
「提案のみ」と指定された場合は、統合した提案・根拠・必要な検証・未確認事項を呼び出し元へ返し、編集や仕様変更の質問は行わない。`dev` では呼び出し元が実装担当に修正を渡す。
|
|
32
|
+
|
|
20
33
|
## 判断と実行
|
|
21
34
|
|
|
22
35
|
- 目的、守る外部契約、現在の実装方法を区別する。今の構造を要件として正当化しない。
|
|
@@ -9,7 +9,7 @@ description: プロジェクトの既存設計と条件を確認し、計画・
|
|
|
9
9
|
2. Shinaps AIのルール検索が利用できれば、リポジトリと変更領域に関係するルールを取得する。使えない場合はルール照合未確認として明記し、可能な実装を進める。
|
|
10
10
|
3. 複雑な調査・設計では、委託を許可されている場合に登録済みのshinaps-explorer、shinaps-architect、shinaps-plan-reviewerへ対象と期待する結果を渡す。担当の結論を自分で検証する。委託不可なら同じ観点を現在のセッションで確認する。worktree作成は別途許可が必要。
|
|
11
11
|
4. 計画を必要な単位に分けて実装する。利用できる計画ツールで進捗を管理する。既存の無関係な変更を保ち、公開契約を変える必要が出たら理由と案を確認する。
|
|
12
|
-
5. $shinaps:simplifyを読み、仕様を保つ削除・統合を行う。CIや既存スクリプトから変更に必要な検証を実行する。
|
|
12
|
+
5. $shinaps:simplifyを読み、仕様を保つ削除・統合を行う。CIや既存スクリプトから変更に必要な検証を実行する。
|
|
13
13
|
6. $shinaps:refineによるルール照合が可能なら行い、$shinaps:reviewで最終差分をレビューする。確定した今回の不具合を修正し、影響範囲を再検証する。依頼外の既存問題は混ぜず報告する。
|
|
14
14
|
7. 変更後の挙動、主要な検証と未確認事項を報告する。コミット・PR・公開は別途依頼された場合だけ進める。
|
|
15
15
|
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: verify-ui
|
|
3
|
-
description: UI変更を対象プロジェクトの対応環境で実際に操作し、見た目と挙動を検証する。UI実装後や画面の動作確認を求められたときに使う。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## 作業記録の保存先
|
|
7
|
-
|
|
8
|
-
作業記録はプロジェクトルートの `.shinaps/work/` 以下へ保存する。最初に記録を作るとき、`.shinaps/` を作成し、`.shinaps/.gitignore` がなければ内容 `*` と改行で作成する。既存ファイルは上書きせず、除外が不足する場合だけ `*` を追記する。ユーザーのグローバルignoreやルートの `.gitignore` の編集は不要。Git管理下では `git check-ignore` と `git status --short --untracked-files=all` で記録が未追跡変更に出ないことを確認する。既存の追跡済みファイルは自動で追跡解除しない。
|
|
9
|
-
|
|
10
|
-
既存の `.claude/shinaps/` 等の記録は渡されたパスから読み、無断で移動・削除しない。新規記録は新しい保存先を使う。共有する仕様書などを `docs/` 等へ出す場合は、明示された成果物の保存先に従う。秘密情報は記録しない。
|
|
11
|
-
|
|
12
|
-
# UIを使って検証する
|
|
13
|
-
|
|
14
|
-
## プロジェクトの条件を読む
|
|
15
|
-
|
|
16
|
-
適用される `AGENTS.md`・`CLAUDE.md` と参照先、README、CI、既存スクリプトから、今回の対象・必須検証・禁止事項を確認する。現在の依頼と合意済みの条件を引き継ぎ、一般的な推奨をプロジェクトの必須条件に格上げしない。条件同士が矛盾し結果を左右する場合だけ一問ずつ確認する。任された実装判断は進める。
|
|
17
|
-
|
|
18
|
-
既存の情報から決まる内容を再質問しない。確認した新しい恒久方針は、ユーザーが保存を認めた場合だけプロジェクトの指示または参照先へ残す。スキル自身や他プロジェクトのルールへ書き込まない。
|
|
19
|
-
|
|
20
|
-
## 検証範囲を決める
|
|
21
|
-
|
|
22
|
-
対応ブラウザ・端末、変更する操作、期待する性質、必須の証拠を既存仕様から決める。受入条件はケースの列挙ではなく「再表示しても保存した選択を保つ」のような性質で書き、代表的な操作で確かめる。
|
|
23
|
-
|
|
24
|
-
特定ブラウザ、実機、Simulator、複数OSバージョンを一律に必須にしない。プロジェクトがPCブラウザのみを対象にするならその範囲で検証する。エンジン差・ハードウェア・入力方式が結果を左右する変更なら、その差を確認できる環境を選ぶ。必要な環境が使えない場合、別環境で通ったことを代替証拠にせず未確認として残す。対応範囲自体が不明で結論を左右する場合だけ確認する。
|
|
25
|
-
|
|
26
|
-
## 実行と証拠
|
|
27
|
-
|
|
28
|
-
1. 現在の画面と実装を確認する。余白や入力の問題がアプリ・ブラウザ・端末のどこに属するか切り分ける。
|
|
29
|
-
2. プロジェクトが必要とする自動検証を実行し、対象の実画面で主要操作と関連する状態遷移を確かめる。DOMや内部状態の注入を操作成功の証拠にしない。
|
|
30
|
-
3. レイアウトの欠け、重なり、フォーカス、再操作、保存・再表示など変更の影響する性質を確認する。動画や計測を必要とする動き・性能は静止画だけで合格にしない。
|
|
31
|
-
4. 視覚的な判定にはスクリーンショットを残し、環境・操作・期待・観測結果を対応づける。明示された証拠の納品先がなければ `.shinaps/work/` 以下の今回の作業ディレクトリを使う。
|
|
32
|
-
5. 発見した問題を直した場合は影響部分を再確認する。独立レビューは利用可能で許可され、効果がある場合に限る。
|
|
33
|
-
|
|
34
|
-
## 完了
|
|
35
|
-
|
|
36
|
-
定めた範囲で期待する性質を実画面から確認できたことを報告する。自動テストのみ・画面を開いただけ・スクリーンショットのみで操作を確認済みにしない。未確認事項と理由は完了範囲から区別する。実装・修正が依頼されていなければ、検証の依頼から変更許可を推測しない。
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: verify-ui
|
|
3
|
-
description: UI変更を対象プロジェクトの対応環境で実際に操作し、見た目と挙動を検証する。UI実装後や画面の動作確認を求められたときに使う。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## 作業記録の保存先
|
|
7
|
-
|
|
8
|
-
作業記録はプロジェクトルートの `.shinaps/work/` 以下へ保存する。最初に記録を作るとき、`.shinaps/` を作成し、`.shinaps/.gitignore` がなければ内容 `*` と改行で作成する。既存ファイルは上書きせず、除外が不足する場合だけ `*` を追記する。ユーザーのグローバルignoreやルートの `.gitignore` の編集は不要。Git管理下では `git check-ignore` と `git status --short --untracked-files=all` で記録が未追跡変更に出ないことを確認する。既存の追跡済みファイルは自動で追跡解除しない。
|
|
9
|
-
|
|
10
|
-
既存の `.claude/shinaps/` 等の記録は渡されたパスから読み、無断で移動・削除しない。新規記録は新しい保存先を使う。共有する仕様書などを `docs/` 等へ出す場合は、明示された成果物の保存先に従う。秘密情報は記録しない。
|
|
11
|
-
|
|
12
|
-
# UIを使って検証する
|
|
13
|
-
|
|
14
|
-
## プロジェクトの条件を読む
|
|
15
|
-
|
|
16
|
-
適用される `AGENTS.md`・`CLAUDE.md` と参照先、README、CI、既存スクリプトから、今回の対象・必須検証・禁止事項を確認する。現在の依頼と合意済みの条件を引き継ぎ、一般的な推奨をプロジェクトの必須条件に格上げしない。条件同士が矛盾し結果を左右する場合だけ一問ずつ確認する。任された実装判断は進める。
|
|
17
|
-
|
|
18
|
-
既存の情報から決まる内容を再質問しない。確認した新しい恒久方針は、ユーザーが保存を認めた場合だけプロジェクトの指示または参照先へ残す。スキル自身や他プロジェクトのルールへ書き込まない。
|
|
19
|
-
|
|
20
|
-
## 検証範囲を決める
|
|
21
|
-
|
|
22
|
-
対応ブラウザ・端末、変更する操作、期待する性質、必須の証拠を既存仕様から決める。受入条件はケースの列挙ではなく「再表示しても保存した選択を保つ」のような性質で書き、代表的な操作で確かめる。
|
|
23
|
-
|
|
24
|
-
特定ブラウザ、実機、Simulator、複数OSバージョンを一律に必須にしない。プロジェクトがPCブラウザのみを対象にするならその範囲で検証する。エンジン差・ハードウェア・入力方式が結果を左右する変更なら、その差を確認できる環境を選ぶ。必要な環境が使えない場合、別環境で通ったことを代替証拠にせず未確認として残す。対応範囲自体が不明で結論を左右する場合だけ確認する。
|
|
25
|
-
|
|
26
|
-
## 実行と証拠
|
|
27
|
-
|
|
28
|
-
1. 現在の画面と実装を確認する。余白や入力の問題がアプリ・ブラウザ・端末のどこに属するか切り分ける。
|
|
29
|
-
2. プロジェクトが必要とする自動検証を実行し、対象の実画面で主要操作と関連する状態遷移を確かめる。DOMや内部状態の注入を操作成功の証拠にしない。
|
|
30
|
-
3. レイアウトの欠け、重なり、フォーカス、再操作、保存・再表示など変更の影響する性質を確認する。動画や計測を必要とする動き・性能は静止画だけで合格にしない。
|
|
31
|
-
4. 視覚的な判定にはスクリーンショットを残し、環境・操作・期待・観測結果を対応づける。明示された証拠の納品先がなければ `.shinaps/work/` 以下の今回の作業ディレクトリを使う。
|
|
32
|
-
5. 発見した問題を直した場合は影響部分を再確認する。独立レビューは利用可能で許可され、効果がある場合に限る。
|
|
33
|
-
|
|
34
|
-
## 完了
|
|
35
|
-
|
|
36
|
-
定めた範囲で期待する性質を実画面から確認できたことを報告する。自動テストのみ・画面を開いただけ・スクリーンショットのみで操作を確認済みにしない。未確認事項と理由は完了範囲から区別する。実装・修正が依頼されていなければ、検証の依頼から変更許可を推測しない。
|