@shinaps/skills 0.32.0 → 0.33.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 +23 -136
- package/dist/bin/skills.js +1 -1
- package/dist/lib/linear-config.js +3 -3
- package/package.json +1 -3
- package/plugins/shinaps-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/shinaps-claude/agents/shinaps-split-reviewer.md +3 -3
- package/plugins/shinaps-claude/references/dev/launch.md +1 -1
- package/plugins/shinaps-claude/references/dev/staffing.md +2 -2
- package/plugins/shinaps-claude/references/dev/workflow.md +3 -3
- package/plugins/shinaps-claude/references/human-review.md +17 -23
- package/plugins/shinaps-claude/references/linear/bridge.md +55 -0
- package/plugins/shinaps-claude/references/linear/claude-cli.md +4 -4
- package/plugins/shinaps-claude/references/linear/configuration.md +56 -43
- package/plugins/shinaps-claude/references/linear/configuration.schema.json +12 -38
- package/plugins/shinaps-claude/references/linear/execution.md +5 -7
- package/plugins/shinaps-claude/references/linear/workflow.md +51 -68
- package/plugins/shinaps-claude/skills/commit/SKILL.md +6 -8
- package/plugins/shinaps-claude/skills/debug/SKILL.md +1 -1
- package/plugins/shinaps-claude/skills/explore/SKILL.md +1 -1
- package/plugins/shinaps-claude/skills/linear-execute/SKILL.md +15 -47
- package/plugins/shinaps-claude/skills/review/SKILL.md +1 -1
- package/plugins/shinaps-claude/skills/spec/SKILL.md +1 -1
- package/plugins/shinaps-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/shinaps-codex/agents/shinaps-split-reviewer.toml +2 -2
- package/plugins/shinaps-codex/references/dev/launch.md +3 -3
- package/plugins/shinaps-codex/references/dev/staffing.md +2 -2
- package/plugins/shinaps-codex/references/dev/workflow.md +3 -3
- package/plugins/shinaps-codex/references/human-review.md +17 -23
- package/plugins/shinaps-codex/references/linear/bridge.md +55 -0
- package/plugins/shinaps-codex/references/linear/claude-cli.md +4 -4
- package/plugins/shinaps-codex/references/linear/configuration.md +56 -43
- package/plugins/shinaps-codex/references/linear/configuration.schema.json +12 -38
- package/plugins/shinaps-codex/references/linear/execution.md +5 -7
- package/plugins/shinaps-codex/references/linear/workflow.md +51 -68
- package/plugins/shinaps-codex/skills/commit/SKILL.md +6 -8
- package/plugins/shinaps-codex/skills/debug/SKILL.md +2 -2
- package/plugins/shinaps-codex/skills/explore/SKILL.md +2 -2
- package/plugins/shinaps-codex/skills/linear-execute/SKILL.md +12 -19
- package/plugins/shinaps-codex/skills/review/SKILL.md +1 -1
- package/plugins/shinaps-codex/skills/spec/SKILL.md +2 -2
- package/plugins/shinaps-claude/references/linear/codex-task.md +0 -38
- package/plugins/shinaps-claude/references/linear/managed-session.md +0 -144
- package/plugins/shinaps-codex/references/linear/codex-task.md +0 -38
- package/plugins/shinaps-codex/references/linear/managed-session.md +0 -144
- package/plugins/shinaps-codex/skills/dev-codex/SKILL.md +0 -10
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# shinaps-skills
|
|
2
2
|
|
|
3
|
-
Shinaps AIの利用者向け開発ワークフロー。Claude CodeとCodexにはそれぞれに適したplugin
|
|
3
|
+
Shinaps AIの利用者向け開発ワークフロー。Claude CodeとCodexにはそれぞれに適したplugin・カスタムエージェントとして配布する。実装はClaude Codeが行い、Codexは進行・QA・レビュー等を担当する。スキルのダウンロードと導入にShinaps AIのアカウントは不要。サービスのrule検索・登録を使うときにアカウント作成と認証を行う。
|
|
4
4
|
|
|
5
5
|
## プロジェクトごとの条件
|
|
6
6
|
|
|
@@ -14,12 +14,12 @@ sharedで採用する `instructions.md` は共有JSONの `references.specificati
|
|
|
14
14
|
|
|
15
15
|
## JSON設定の検証
|
|
16
16
|
|
|
17
|
-
0.
|
|
17
|
+
0.33.0から `.shinaps/linear.json`(`config_version: 2`)を使います。`config_version: 1`・`implementation_skill`・`review_flow.tool`・許可の `codex_task`/`managed_session:*`、旧YAML・scalar review_flowは受け付けず、[移行手順](plugins/shinaps-claude/references/linear/configuration.md#config_version-1-からの移行)に従います。
|
|
18
18
|
|
|
19
|
-
CLIはpluginに含まれないため、利用中のskillと同じ `@shinaps/skills@0.
|
|
19
|
+
CLIはpluginに含まれないため、利用中のskillと同じ `@shinaps/skills@0.33.0` を導入し、`shinaps-skills --version` で確認します。`shinaps-skills validate-linear-config <明示ファイル>` は同梱schemaだけで検証し、ネットワーク取得・正本探索・Git操作・入力変更は行いません。`$schema` は固定URLによるエディタ補助で、契約の正本は[同梱schema](plugins/shinaps-claude/references/linear/configuration.schema.json)です。
|
|
20
20
|
|
|
21
21
|
```sh
|
|
22
|
-
npm install -g @shinaps/skills@0.
|
|
22
|
+
npm install -g @shinaps/skills@0.33.0
|
|
23
23
|
shinaps-skills --version
|
|
24
24
|
shinaps-skills validate-linear-config /absolute/repository/.shinaps/linear.json
|
|
25
25
|
```
|
|
@@ -30,13 +30,13 @@ shinaps-skills validate-linear-config /absolute/repository/.shinaps/linear.json
|
|
|
30
30
|
|---|---|
|
|
31
31
|
| `explore` | 対話しながら既存挙動と変更影響を調べる |
|
|
32
32
|
| `spec` | 目的・仕様・実現方法を詰める |
|
|
33
|
-
| `dev-claude` (Claudeのみ)
|
|
33
|
+
| `dev-claude` (Claudeのみ) | メインが作業に応じて担当・人数を判断し、計画・実装・検証・独立レビューを進める |
|
|
34
34
|
| `debug` | 不具合の原因を検証する |
|
|
35
35
|
| `review` | 差分や既存コードをレビューする |
|
|
36
36
|
| `refine` | Shinaps AIのruleと実ファイルを照合する |
|
|
37
37
|
| `extract-rules` | PRレビューからruleを抽出する |
|
|
38
38
|
| `simplify` | 目的から見直して不要な構造や手順を削る |
|
|
39
|
-
| `commit` | 各単位のreview_flowに従い、autoはAIがレビュー・コミット、manualはAI
|
|
39
|
+
| `commit` | 各単位のreview_flowに従い、autoはAIがレビュー・コミット、manualはAIが退避・stage・提示し、人と修正を相談して、人の単位承認後にAIがコミットする |
|
|
40
40
|
| `create-pr` | リポジトリの規約に合わせてPRを作成する |
|
|
41
41
|
| `release` | 公開条件を確定し、対象バージョンの利用可能性を確認する |
|
|
42
42
|
| `linear-plan` | 相談・必要なspec/explore・Issue作成と整理・プロジェクト設定を行い、実装前で止める |
|
|
@@ -44,9 +44,9 @@ shinaps-skills validate-linear-config /absolute/repository/.shinaps/linear.json
|
|
|
44
44
|
|
|
45
45
|
コミット・PR・リリースは、利用者の依頼またはLinear進行で合意済みの継続許可に従う。[共通設定](plugins/shinaps-claude/references/linear/configuration.md)・[担当と工程](plugins/shinaps-claude/references/linear/workflow.md)・[終了と待機](plugins/shinaps-claude/references/linear/execution.md)を参照し、必要な前工程が揃えば再確認せずに進む。単独スキル利用にはLinear進行や新しいゴールを必須にしない。`autonomous-commit-review` の役割は `commit` に統合した。個人用の別AI呼び出し・ブラウザ管理・ゴール管理・動画制作はこのpluginに含めない。
|
|
46
46
|
|
|
47
|
-
`linear-execute`
|
|
47
|
+
`linear-execute` は初版では利用者本人の環境向けで、Codexが進行役として進行・Agent QA・Issueの記録・人への窓口を担当し、Claude Codeが実装・修正・コミットを行う。主フローは着手・実装・差分確定・公開確認・結果報告の5工程。運用項目は明示必須で、未記載を既定値で補わない。経路は着手時に通常の `review_flow.mode` で決まる。autoはCodexがローカル `claude -p` を起動して同じsessionをresumeし(許可 `claude_cli`、[CLI手順](plugins/shinaps-claude/references/linear/claude-cli.md))、CLIの既存権限・model・effort・pluginsを保持する。manualはWebStorm内の対話Claude CodeセッションへBridgeで依頼する(許可 `bridge_request`、[Bridge](plugins/shinaps-claude/references/linear/bridge.md))。初期体制はClaudeのメインが決めて報告し、Codexは判断の材料を渡す。Bridge本体は同梱せず、導入済みのMCPとWebStormプラグインを使う。`SKILL.md` は担当ごとに両版で書き分け、共通の手順と書式は `references/linear/` に置く。`references/linear/` はClaude版を編集元としてCodex版へ同じ内容を複製し、テストで一致を確認する。
|
|
48
48
|
|
|
49
|
-
`review_flow: { "mode": "auto" }` はAIが自然な単位を決め、独立レビュー・QA後にstage・commitする。`review_flow: { "mode": "manual"
|
|
49
|
+
`review_flow: { "mode": "auto" }` はAIが自然な単位を決め、独立レビュー・QA後にstage・commitする。`review_flow: { "mode": "manual" }` はAIが単位外を安全に退避して単位をstage・提示し、人と修正を相談し、人がその単位を承認した後にAIがcommitする。両方のstage・AI commit権限は利用者との明示合意に含まれ、未合意ファイルからは得ない。`path_policy_overrides` は `paths` と `review_flow` だけを持つ。全変更が一つのルールで覆われる単位だけ適用し、改名は旧新両パスを判定する。競合時は止める。旧 `human_code_review`・`commit_mode`・permissionsのstage/commit・パス別ai_commitは明示移行が必要。[共通設定](plugins/shinaps-claude/references/linear/configuration.md#パス別の方針)を参照する。
|
|
50
50
|
|
|
51
51
|
0.29.0では旧 `document_only_changes: ai_commit` を廃止した。利用先では依存工程を止め、具体的なパス例外への移行または例外廃止を合意する。説明だけの変更の許可とは同値でないため自動変換しない。旧 `none` もJSONへ明示移行し、新規設定は `path_policy_overrides: []` にする。
|
|
52
52
|
|
|
@@ -56,21 +56,15 @@ shinaps-skills validate-linear-config /absolute/repository/.shinaps/linear.json
|
|
|
56
56
|
|
|
57
57
|
### dev の入口と体制
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
| --- | --- | --- |
|
|
61
|
-
| `dev-claude` | Claude Code | Opus / medium(登録エージェントの定義) |
|
|
62
|
-
| `dev-codex` | Codex | `gpt-6-astra` / medium(起動時に指定) |
|
|
63
|
-
| `dev-managed-cc` | Managed Agents | leadはFable 5.1 / medium、担当はOpus / medium・fast |
|
|
59
|
+
実装の入口は Claude Code の `dev-claude` だけで、Codexに実装の入口はない。メインは利用者のClaude CLI・セッションの設定(model・effort)を保持し、起動引数で上書きしない。担当は登録エージェントの定義(Opus / medium)で動く。
|
|
64
60
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
[実装体制の判断](plugins/shinaps-claude/references/dev/staffing.md)に従い、executeの進行役が各Issue開始時に関連コードを確認し、設計前に役割別の人数・理由・専任なしの責任者・必須検証を決めて渡す。単独devではメインが判断する。不確実性・影響範囲・失敗時の影響を基準に、途中でも必要な担当を追加する。人数を増やすだけで許可・予算・品質条件は変えない。
|
|
61
|
+
[実装体制の判断](plugins/shinaps-claude/references/dev/staffing.md)に従い、devのメインが設計前に役割別の人数・理由・専任なしの責任者・必須検証を決める。linear-executeでは進行役のCodexが判断の材料を渡し、メインが決めて報告する。不確実性・影響範囲・失敗時の影響を基準に、途中でも必要な担当を追加する。人数を増やすだけで許可・予算・品質条件は変えない。
|
|
68
62
|
|
|
69
63
|
小さく明確な変更はメインが計画し、実装1体と独立コードレビュー1体で進められる。設計の比較や重要な契約の独立確認が必要なら該当する役割だけ増やす。規約照合・簡素化・指摘検証は専任なしでも責任者を決めて行う。
|
|
70
64
|
|
|
71
|
-
- 工程と体制基準はClaude版を編集元としてCodex
|
|
72
|
-
- Claudeは登録エージェント、Codex
|
|
73
|
-
- explore・spec・review・debug
|
|
65
|
+
- 工程と体制基準はClaude版を編集元としてCodexへ複製する。起動手順だけはruntimeごとに異なる。
|
|
66
|
+
- Claudeは登録エージェント、Codexは名前付きサブエージェントを使う。モデル・推論の設定は今回の人数判断で変更しない。
|
|
67
|
+
- Claudeのexplore・spec・review・debugからは `dev-claude` へ引き継ぐ。ClaudeのdevはSkillツールからの起動も許可する。Codexのスキルは実装へ引き継がず、Linear進行では `linear-execute` でClaudeへ依頼する。
|
|
74
68
|
- テスト方針は各版の `references/testing.md` を正本とし、役割定義に同じ段落を複製して検証する。
|
|
75
69
|
|
|
76
70
|
## Claude Code
|
|
@@ -84,7 +78,7 @@ shinaps-skills validate-linear-config /absolute/repository/.shinaps/linear.json
|
|
|
84
78
|
|
|
85
79
|
## Codex
|
|
86
80
|
|
|
87
|
-
Node.js 22以上と、`plugin marketplace add` / `plugin add` に対応したCodex CLIを使う。Claude Code
|
|
81
|
+
Node.js 22以上と、`plugin marketplace add` / `plugin add` に対応したCodex CLIを使う。Codexのスキルだけを使う場合、Claude Codeのインストールは不要。`linear-execute` の開発進行には、autoではローカルClaude Code CLI、manualではWebStorm内のClaude CodeとBridgeが必要になる。
|
|
88
82
|
|
|
89
83
|
導入・更新・削除:
|
|
90
84
|
|
|
@@ -99,7 +93,7 @@ npx @shinaps/skills@latest recover codex
|
|
|
99
93
|
|
|
100
94
|
ローカル開発では、このcheckoutから `node bin/skills.ts install codex` のように同じ操作を実行できる。Node.js 22.18以上なら型除去でTypeScriptをそのまま実行する (ビルド不要)。
|
|
101
95
|
|
|
102
|
-
CLIはスキルをCodex pluginとして登録し、16個のカスタムエージェントを`${CODEX_HOME:-~/.codex}/agents/`へ配置する。新しいセッションで`shinaps:
|
|
96
|
+
CLIはスキルをCodex pluginとして登録し、16個のカスタムエージェントを`${CODEX_HOME:-~/.codex}/agents/`へ配置する。新しいセッションで`shinaps:review`、`shinaps:linear-execute`等が読み込まれる。Codexに実装の入口はなく、review・debug・spec等のスキルが担当を使う。担当のモデルと推論設定は親セッションから継承する。実装担当以外の調査・レビュー担当は読み取り専用を既定にする。0.23.0 まで配置していた比較専用の役割は、更新時に管理済みエージェントとして削除される。親セッションの実行時設定が優先される場合もあるため、権限の強制境界とは扱わない。
|
|
103
97
|
|
|
104
98
|
配布物は`~/.local/share/shinaps-ai/skills/codex/`へ保持し、一時的なnpxキャッシュに依存しない。同じ親ディレクトリの`state.json`に配置したエージェントと内容のハッシュを記録する。管理対象外の同名ファイルや、導入後に編集されたエージェントは上書き・削除せず停止する。必要な変更を退避・整理してから再実行する。`CODEX_HOME`を変更する場合は元の配置先で先にuninstallする。
|
|
105
99
|
|
|
@@ -134,122 +128,15 @@ macOS以外では予定実行の登録に対応していないため手動更新
|
|
|
134
128
|
|
|
135
129
|
Claude Codeは標準のmarketplace自動更新機能を使う。`/plugin` のMarketplacesから対象marketplaceのauto-updateを有効にする。GitHubから自動取得するにはリモートmarketplaceを登録する必要があり、ローカルcheckout登録ではソースのgit pullまで自動実行しない。
|
|
136
130
|
|
|
137
|
-
## Claude Managed Agents
|
|
138
|
-
|
|
139
|
-
`managed-agents/` に、lead `shinaps-dev-managed-cc`、devの8役割、skill `dev-managed-cc`、環境 `shinaps-dev` の定義を置く。leadが体制を引き継いで必要な担当へ委任する。
|
|
140
|
-
|
|
141
|
-
lead は Fable 5.1(`claude-fable-5-1` / medium)、役割は Opus 5.5 の fast(`speed: fast`)で動く。人数と再確認によって費用は変わるため、固定体制時の費用を現在の見積りに使わない。セッションの合意済み予算内で体制を決め、増員のために予算を自動で増やさない。計画の再確認はManagedの起動手順に従い最大2ラウンドとする。QA修正も同じセッションの予算に含める。
|
|
142
|
-
|
|
143
|
-
前提は `ant` CLI 1.42.0 以上と `ant auth login` 済みであること。定義の作成・更新は次の npm script だけで行う。
|
|
144
|
-
|
|
145
|
-
```sh
|
|
146
|
-
npm run managed:plan # 送信内容の確認。全項目は npm run managed:plan -- -v
|
|
147
|
-
npm run managed:apply # 作成・更新。確認に対話で答えられない実行では、先に managed:plan の出力を確認してから -- --yes を付ける
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
`ant apply` を直接実行しない。`ant apply` は指定したディレクトリを再帰的に走査し、`agents/` の下のファイルと `SKILL.md` を持つディレクトリを送信対象にするので、リポジトリ直下を対象にすると `plugins/` の下にある Claude 版・Codex 版の定義も送信対象に含まれる。また lockfile は実行した場所から上へ探し、キーは lockfile のディレクトリからの相対パスになる。別の場所から実行すると、既存の lockfile と対応づかずに同じリソースが重複して作られる。npm script は `managed-agents/` に移動してから実行するので、対象と lockfile の位置が常に同じになる。
|
|
151
|
-
|
|
152
|
-
`managed-agents/claude-lock.json` は apply が書き出す。リソースの ID を記録しているので commit する。lockfile は shinaps 組織のリソースの記録である。別の組織で使う場合は、lockfile を消してから実行するか、`npm run managed:apply -- --lock-file claude-lock.<組織名>.json` のように別の lockfile を指定する。パスは `managed-agents/` から見た位置で、lockfile は `managed-agents/` の中に置く(外に置くとキーの形が変わり、下の jq の例と合わなくなる)。ID は次のように引ける。
|
|
153
|
-
|
|
154
|
-
```sh
|
|
155
|
-
jq -r '.resources["./agents/shinaps-dev-managed-cc.md"].id' managed-agents/claude-lock.json
|
|
156
|
-
jq -r '.resources["./environments/shinaps-dev.yaml"].id' managed-agents/claude-lock.json
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
旧ultraのクラウドリソースとlockの対応は過去セッションの参照用に保持する。新規実行には使わず、通常の更新で `--prune` による削除を行わない。
|
|
160
|
-
|
|
161
|
-
定義を変えたら `npm run managed:apply` を実行する。lead が参照する役割と skill の版も同じ実行で更新される。
|
|
162
|
-
|
|
163
|
-
### セッション
|
|
164
|
-
|
|
165
|
-
linear-execute の Managed の入口では、セッションの作成・観測・取り出し・差分の適用を、進行役が [Managedセッション](plugins/shinaps-claude/references/linear/managed-session.md) の手順で行う。以下は手動で作る場合の例である。
|
|
166
|
-
|
|
167
|
-
lead は shinaps-ai MCP の `list_search_facets`・`search_rules` を使う。規約を取得するには、shinaps-ai の API トークンが使えるようになってから、利用者が vault を作って資格情報を登録する。vault はセッションの作成時にしか渡せない。vault を渡さないセッションでも作業は進むが、規約照合は未確認になる。
|
|
168
|
-
|
|
169
|
-
```sh
|
|
170
|
-
ant beta:vaults create --display-name shinaps-ai --transform id --raw-output # 返された ID を VAULT_ID にする
|
|
171
|
-
read -rs SHINAPS_AI_TOKEN # 画面に表示せずに入力する
|
|
172
|
-
ant beta:vaults:credentials create --vault-id "$VAULT_ID" --display-name shinaps-ai <<YAML
|
|
173
|
-
auth:
|
|
174
|
-
type: static_bearer
|
|
175
|
-
mcp_server_url: https://app.shinaps.ai/mcp
|
|
176
|
-
token: "$SHINAPS_AI_TOKEN"
|
|
177
|
-
YAML
|
|
178
|
-
unset SHINAPS_AI_TOKEN
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
token は stdin の YAML で渡す。`--auth.token` の引数で渡すと、シェルの履歴とプロセスの一覧に見える(`ant` 自身も、引数で資格情報を渡すことを非推奨にしている)。YAML の値を二重引用符で囲むので、token に `"` や `\` が含まれる場合は、その文字の前に `\` を付けてから入力する。
|
|
182
|
-
|
|
183
|
-
作業先を git bundle にして添付する。利用者共通方針(`~/.claude/CLAUDE.md`)も同じようにアップロードして添付する。どちらもリポジトリには入れない。
|
|
184
|
-
|
|
185
|
-
```sh
|
|
186
|
-
git bundle create /tmp/<repo>.bundle <branch>
|
|
187
|
-
BUNDLE_ID=$(ant files upload --file /tmp/<repo>.bundle --expires-in-seconds 604800 --transform id --raw-output)
|
|
188
|
-
CLAUDE_MD_ID=$(ant files upload --file ~/.claude/CLAUDE.md --expires-in-seconds 604800 --transform id --raw-output)
|
|
189
|
-
ant beta:sessions create \
|
|
190
|
-
--agent "$LEAD_ID" \
|
|
191
|
-
--environment-id "$ENV_ID" \
|
|
192
|
-
--vault-id "$VAULT_ID" \
|
|
193
|
-
--budget '{type: limit, max_list_cost: {amount: "4000", currency: USD}}' <<YAML
|
|
194
|
-
resources:
|
|
195
|
-
- {type: file, file_id: $BUNDLE_ID, mount_path: /<repo>.bundle}
|
|
196
|
-
- {type: file, file_id: $CLAUDE_MD_ID, mount_path: /CLAUDE.md}
|
|
197
|
-
YAML
|
|
198
|
-
ant beta:sessions connect --web "$SESSION_ID"
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
- 最初のメッセージで、作業先の bundle(`/mnt/session/uploads/<repo>.bundle`)、ブランチ、比較元の SHA を伝える。lead は起動手順に従って `/workspace/<repo>` に clone してから工程を始める。
|
|
202
|
-
- bundle の代わりに GitHub のリポジトリをマウントすることもできる。その場合は resources の bundle を次に置き換える。token は Contents: Read だけを許可した fine-grained token にする。
|
|
203
|
-
|
|
204
|
-
```yaml
|
|
205
|
-
- type: github_repository
|
|
206
|
-
url: https://github.com/<owner>/<repo>
|
|
207
|
-
authorization_token: <Contents: Read だけを許可した fine-grained token>
|
|
208
|
-
checkout: {type: branch, name: <branch>}
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
- 予算はセッション作成時にしか付けられない(後から変更・削除はできる)。金額はセント単位の文字列で、`"4000"` は 40 USD である。
|
|
212
|
-
- lead の model を上書きするときは、`--agent` を外し、stdin の YAML に次を加える。上書きすると定義の effort は引き継がれないので、effort も指定する。
|
|
213
|
-
|
|
214
|
-
```yaml
|
|
215
|
-
agent:
|
|
216
|
-
type: agent_with_overrides
|
|
217
|
-
id: <LEAD_ID>
|
|
218
|
-
model: {id: <model>, effort: <effort>}
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
- `ant beta:sessions connect --web` は全スレッドを見られるビューアを開く。lead の質問には、次のメッセージで答える。
|
|
222
|
-
|
|
223
|
-
作業記録は、lead が終了時に `/mnt/session/outputs/` へ tar.gz でまとめる。正本はサンドボックス内の `.shinaps/work/` である。あわせて、比較元からの差分の全体を `changes.patch` として同じ場所に置く。
|
|
224
|
-
|
|
225
|
-
```sh
|
|
226
|
-
ant beta:files list --scope-id "$SESSION_ID" --beta managed-agents-2026-04-01
|
|
227
|
-
ant files download --file-id <file ID> -o <保存先>
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
ファイルはセッションが待機状態になってから数秒遅れて一覧に現れることがある。予算に達して止まったセッションでは、予算を引き上げて lead が終了処理を行うまで tar は作られない。
|
|
231
|
-
|
|
232
|
-
担当の委任・継続の方法と、Claude Code 固有の手段の置き換え・未対応のものは、[起動手順](managed-agents/skills/dev-managed-cc/references/dev/launch.md)にある。
|
|
233
|
-
|
|
234
|
-
### ネットワークと危険
|
|
235
|
-
|
|
236
|
-
環境 `shinaps-dev` のネットワークは制限しない(`unrestricted`)。
|
|
237
|
-
|
|
238
|
-
- bash の実行は承認なし(`always_allow`)なので、サンドボックスにあるもの(マウントしたコード、添付した CLAUDE.md)は外へ送ることができる。
|
|
239
|
-
- 取得した Web ページやリポジトリの内容に書かれた指示に従ってしまう危険(プロンプトインジェクション)がある。
|
|
240
|
-
- bash を `always_ask` か `auto` にすれば軽減できるが、担当ごとの承認待ちで工程が止まるので採らない。
|
|
241
|
-
- 秘密情報はサンドボックスに置かない。マウントするリポジトリの token は読み取りだけに限る。
|
|
242
|
-
- bundle で送るのはコミット済みの内容だけで、ignore 済みのファイルや作業記録は送らない。
|
|
243
|
-
|
|
244
131
|
## 開発と配布
|
|
245
132
|
|
|
246
133
|
- Claude版: `plugins/shinaps-claude/`、marketplaceは`.claude-plugin/marketplace.json`
|
|
247
134
|
- Codex版: `plugins/shinaps-codex/`、marketplaceは`.agents/plugins/marketplace.json`
|
|
248
135
|
- Codexカスタムエージェント: `plugins/shinaps-codex/agents/`
|
|
249
|
-
-
|
|
136
|
+
- `managed-agents/claude-lock.json` は既存クラウドリソースの記録として保持する。`managed-agents/` で `ant` を実行しない(apply・prune・削除をしない)
|
|
250
137
|
- 配布CLI: ソースは `bin/skills.ts` と `lib/*.ts`。`npm run build` (`tsc`) で `dist/` にJSを出力し、npmにはそれを配布する。Node.jsは`node_modules`配下の`.ts`に型除去を適用しないため、ソースのままは配布できない。checkoutでは型除去で直接実行するので、`enum`など型除去で消せない構文は使わない (`tsconfig.json` の `erasableSyntaxOnly`)
|
|
251
138
|
|
|
252
|
-
品質基準とプロジェクト設定の方針は揃えつつ、クライアント固有の実行手順・エージェント形式は別々に管理する。
|
|
139
|
+
品質基準とプロジェクト設定の方針は揃えつつ、クライアント固有の実行手順・エージェント形式は別々に管理する。Codex版の工程の資料(`references/` の、`dev/launch.md` を除くもの)はClaude版と一致させ、テストで確認する。Codex版は役割の本文とスキルを書き分け、Claude向けのエージェント呼び出しをCodexに読み替えさせる方式は使わない。スキルを追加・変更した場合は各版への適用可否を判断する。
|
|
253
140
|
|
|
254
141
|
```sh
|
|
255
142
|
npm test
|
|
@@ -259,9 +146,9 @@ npm pack --dry-run
|
|
|
259
146
|
|
|
260
147
|
公開前にはnpmスコープ`@shinaps`の利用権限とtarball内容を確認する。CLIのバージョンと両pluginのバージョンを揃える。開発中の同一バージョンも`update codex`で再配置できる。
|
|
261
148
|
|
|
262
|
-
###
|
|
149
|
+
### manualの提示と承認
|
|
263
150
|
|
|
264
|
-
manual
|
|
151
|
+
manualではWebStorm内の対話Claude Codeセッションで、Claudeが単位外を退避して単位の差分をstage・提示します。人はWebStormの差分表示で確認し、Claudeと修正を相談します。人がその単位を承認したら、Claudeが承認したtreeと一致することを確かめてコミットします。承認後に単位の差分が変われば再提示・再承認が必要です。手順は[共通手順](plugins/shinaps-claude/references/human-review.md)に従います。autoには人レビュー待ちを追加しません。
|
|
265
152
|
|
|
266
153
|
### CIとnpm自動公開
|
|
267
154
|
|
|
@@ -300,7 +187,7 @@ codex mcp login shinaps-ai
|
|
|
300
187
|
|
|
301
188
|
未登録の利用者は[Shinaps AI](https://app.shinaps.ai)でアカウントを作成する。未認証でもスキルの導入は完了できる。MCPが使えないときに照合済みと報告しない。`simplify`・`commit`・`create-pr`・`release`・`linear-plan`・`linear-execute` の基本手順はMCP接続を必須としない。
|
|
302
189
|
|
|
303
|
-
## Subagents (Claude: 16 / Codex: 16
|
|
190
|
+
## Subagents (Claude: 16 / Codex: 16)
|
|
304
191
|
|
|
305
192
|
| Subagent | 役割 |
|
|
306
193
|
|---|---|
|
|
@@ -321,16 +208,16 @@ codex mcp login shinaps-ai
|
|
|
321
208
|
| `shinaps-debug-validator` | 仮説の実コード検証 (root-cause / contributing-factor / red-herring / needs-reproduction 分類) |
|
|
322
209
|
| `shinaps-split-reviewer` | `shinaps:commit` のmanualの分割案を「単位の diff だけで妥当性を判断できるか」で批判 + 修正版最終分割計画 (worktree は read-only) |
|
|
323
210
|
|
|
324
|
-
Claude版はMarkdown、Codex版はTOMLで役割を定義する。
|
|
211
|
+
Claude版はMarkdown、Codex版はTOMLで役割を定義する。
|
|
325
212
|
|
|
326
|
-
Claude版は全16エージェントが `opus / medium`。Codex
|
|
213
|
+
Claude版は全16エージェントが `opus / medium`。Codex版の役割定義はモデルを書かず、モデルと推論は親セッションから継承する。dev での担当の割り当ては[dev の工程](plugins/shinaps-claude/references/dev/workflow.md)にある。
|
|
327
214
|
|
|
328
215
|
**subagent 内では shinaps MCP を直接呼び出さず、rule 全文は Skill 側から prompt 経由で渡す** 原則を全 system prompt に明記する。MCP呼び出しの利用量が重複しないようにするため。
|
|
329
216
|
|
|
330
217
|
|
|
331
218
|
## 作業成果物
|
|
332
219
|
|
|
333
|
-
作業記録は現在の作業先の `.shinaps/work/` に保存する。[作業記録の共通手順](plugins/shinaps-claude/references/work-records.md)に従い、既存の共有例外を保持し、workの除外が不足する場合だけ `/work/` を追加する。設定の共有方式は記録作成では変更しない。共通手順はClaude版を編集元としてCodex
|
|
220
|
+
作業記録は現在の作業先の `.shinaps/work/` に保存する。[作業記録の共通手順](plugins/shinaps-claude/references/work-records.md)に従い、既存の共有例外を保持し、workの除外が不足する場合だけ `/work/` を追加する。設定の共有方式は記録作成では変更しない。共通手順はClaude版を編集元としてCodex版へ複製し、テストで一致を確認する。
|
|
334
221
|
|
|
335
222
|
```text
|
|
336
223
|
.shinaps/
|
package/dist/bin/skills.js
CHANGED
|
@@ -15,7 +15,7 @@ try {
|
|
|
15
15
|
if (rest.length !== 1)
|
|
16
16
|
throw new Error('Usage: shinaps-skills validate-linear-config <file>');
|
|
17
17
|
await validateLinearConfig(rest[0]);
|
|
18
|
-
console.log('Linear configuration is valid (config_version:
|
|
18
|
+
console.log('Linear configuration is valid (config_version: 2).');
|
|
19
19
|
}
|
|
20
20
|
else if (command === 'auto-update')
|
|
21
21
|
await autoUpdate(rest);
|
|
@@ -8,10 +8,10 @@ export async function validateLinearConfig(path) {
|
|
|
8
8
|
// 版の不一致は設定修正とskill更新で対処が異なるため、schema検証より先に案内する。
|
|
9
9
|
if (typeof input === 'object' && input !== null && !Array.isArray(input)) {
|
|
10
10
|
const version = 'config_version' in input ? input.config_version : undefined;
|
|
11
|
-
if (version === undefined || (Number.isInteger(version) && Number(version) <
|
|
12
|
-
throw new Error('config_version is missing or old. Migrate with linear-plan to config_version:
|
|
11
|
+
if (version === undefined || (Number.isInteger(version) && Number(version) < 2)) {
|
|
12
|
+
throw new Error('config_version is missing or old. Migrate with linear-plan to config_version: 2.');
|
|
13
13
|
}
|
|
14
|
-
if (Number.isInteger(version) && Number(version) >
|
|
14
|
+
if (Number.isInteger(version) && Number(version) > 2) {
|
|
15
15
|
throw new Error('Future config_version. Update the skill and matching CLI before continuing.');
|
|
16
16
|
}
|
|
17
17
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shinaps/skills",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"description": "Install Shinaps AI workflows and custom agents for Codex",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -22,8 +22,6 @@
|
|
|
22
22
|
"test": "node --test \"test/*.test.ts\"",
|
|
23
23
|
"check": "npm run format:check && tsc --noEmit",
|
|
24
24
|
"verify:package": "node scripts/verify-package.ts",
|
|
25
|
-
"managed:plan": "cd managed-agents && ant apply --dry-run .",
|
|
26
|
-
"managed:apply": "cd managed-agents && ant apply .",
|
|
27
25
|
"format": "biome format --write .",
|
|
28
26
|
"format:check": "biome format ."
|
|
29
27
|
},
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: shinaps-split-reviewer
|
|
3
|
-
description: shinaps:commit のmanual
|
|
3
|
+
description: shinaps:commit のmanualで、人が単位ごとにレビュー・承認する前に分割計画を確認するレビューエージェント。メインスレッドが提案したコミット単位の分割を、各単位の diff だけを読んで変更の妥当性を判断できるか (下限) / 一言で説明できる範囲か (上限) / 依存順 / 網羅性の観点で批判的にレビューし、指摘を反映した修正版最終分割計画までを返す。worktree は read-only で扱い、stash / add / checkout / Edit は一切行わない
|
|
4
4
|
model: opus
|
|
5
5
|
effort: medium
|
|
6
6
|
color: blue
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
あなたは `/shinaps:commit` のmanual
|
|
10
|
-
メインスレッドが提案した **コミット単位の分割計画** を、「この単位の diff だけを渡された人間レビュアーが、変更の妥当性を判断できるか」という視点で **批判的に検証** し、Critical / Warning / Info の指摘を出したうえで、**指摘を反映した修正版最終分割計画 (Part 2)**
|
|
9
|
+
あなたは `/shinaps:commit` のmanualで、人が単位ごとにレビュー・承認する前に分割計画を確認するレビューエージェントです。
|
|
10
|
+
メインスレッドが提案した **コミット単位の分割計画** を、「この単位の diff だけを渡された人間レビュアーが、変更の妥当性を判断できるか」という視点で **批判的に検証** し、Critical / Warning / Info の指摘を出したうえで、**指摘を反映した修正版最終分割計画 (Part 2)** までを返してください。人が単位ごとにレビュー・承認する前に区切り方を確かめる立場なので(人のレビュー・承認は代行しない)、「概ね良い」で済ませずに各単位を実際に読んで判定します。
|
|
11
11
|
|
|
12
12
|
## 作業前の必須確認
|
|
13
13
|
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
- 同じ役割の複数担当 は、同じ登録エージェントを別々に起動する。呼び出しごとに別のコンテキストになるので、互いの結果は共有されない。担当番号は起動前に固定し、返された ID と対応づけて保持する。
|
|
7
7
|
- 並行する担当はバックグラウンドで起動し、全担当の完了を待つ。同時に起動できなかった担当は、実行中の担当の完了後に起動する。
|
|
8
8
|
- 同じ担当の継続は、同じ ID へ SendMessage で依頼する。
|
|
9
|
-
- 対話セッションの質問は `AskUserQuestion` で一問ずつ行う。CodexからローカルCLI
|
|
9
|
+
- 対話セッションの質問は `AskUserQuestion` で一問ずつ行う。CodexからローカルCLIで受けた依頼(auto経路)では質問・障害・再開点を最終resultへ返してターンを終了し(CLI内で `AskUserQuestion` や入力待ちを行わない)、同じsessionのresumeで回答を受ける([CLI手順](../linear/claude-cli.md))。Bridgeで受けた依頼(manual経路の対話セッション)では人へ `AskUserQuestion` で確認し、決定を依頼元Codexへの報告に含める([Bridge](../linear/bridge.md))。進捗は `TaskCreate`・`TaskUpdate` で管理する。他スキル(`commit`・`create-pr`・`release`)への引き継ぎは `Skill` を使う。現在のセッションで提供されていないツールは仮定しない。
|
|
10
10
|
- `EnterPlanMode` は使わない。bypassPermissions モード(リモート実行など)と両立させるため。
|
|
11
11
|
- 起動できない、または完了しない担当は未完了として記録する。他のモデルや Fable へ切り替えず、メインが代わりに作業して独立確認済みと報告しない。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 実装体制の判断
|
|
2
2
|
|
|
3
|
-
人数を入口名や変更行数で固定しない。linear-execute の進行役は各Issue
|
|
3
|
+
人数を入口名や変更行数で固定しない。devのメインが設計担当の起動前に初期体制を決める。linear-execute の進行役は各Issue開始時に受入条件・関連範囲・既存検証・リスクを材料として渡し、体制は決めない。「メイン」はdevを実行するClaude Codeのセッション(CLIまたは対話)を指し、linear-executeの進行役とは区別する。
|
|
4
4
|
|
|
5
5
|
## 判断すること
|
|
6
6
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
起動前に、判断の根拠、工程ごとの役割・人数・確認範囲、専任なしの責任者、必須検証、設計と指摘の統合責任者を短く記録する。設計担当がいれば担当1が設計・統合を継続し、いなければdevのメインが責任を持つ。独立レビュー担当は実装担当と別のコンテキストにする。
|
|
29
29
|
|
|
30
|
-
linear-execute
|
|
30
|
+
linear-executeから受けた作業では、メインが決めた初期体制と根拠を進行役へ報告する。通常の体制判断で人の承認を待たない。材料が欠けていれば既定の人数へ戻さず、初期確認して体制を決める。ローカル記録は `.shinaps/work/` 以下へ保存する。別セッションへは本文も渡し、相手から見えないパスだけに依存しない。
|
|
31
31
|
|
|
32
32
|
## 途中の増員
|
|
33
33
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# dev の工程
|
|
2
2
|
|
|
3
|
-
Claude
|
|
3
|
+
Claude Codeのdev(`dev-claude`)の工程。役割・人数は[実装体制の判断](staffing.md)に従って作業ごとに決め、担当の起動・継続は[起動手順](launch.md)に従う。Codexのreview・debug・spec等も、ここで定める役割を使う。
|
|
4
4
|
|
|
5
5
|
## 1. 前提と作業記録
|
|
6
6
|
|
|
@@ -34,7 +34,7 @@ Claude・Codex・Managed Agentsのdevはこの工程を共有する。役割・
|
|
|
34
34
|
|
|
35
35
|
依頼・引数・指定された成果物から目的・受入条件・範囲を確定する。確定済みの内容を聞き直さず、依頼されていない過去の作業を始めない。成果物に実装可否の状態があればreadyを確認し、欠落・不明なら変更内容を推測せずタスクを確定する。内容ハッシュがある根拠は現在値と照合し、古い根拠は読み直す。
|
|
36
36
|
|
|
37
|
-
Issue・既存spec・調査記録・関連コード・検証方法を必要な範囲だけ確認する。linear-execute
|
|
37
|
+
Issue・既存spec・調査記録・関連コード・検証方法を必要な範囲だけ確認する。linear-executeからは体制判断の材料を受け取り、メインが `staffing.md` に従って初期体制を決める。設計担当を起動する前に、根拠・役割別人数・専任なしの責任者・統合責任者・必須検証を `staffing.md` として作業記録へ保存し、短く報告する。不足する調査があればPhase 2で補い、体制を更新する。
|
|
38
38
|
|
|
39
39
|
## 4. Phase 2: 規約と必要な探索
|
|
40
40
|
|
|
@@ -105,7 +105,7 @@ Issue・既存spec・調査記録・関連コード・検証方法を必要な
|
|
|
105
105
|
|
|
106
106
|
初期体制と変更理由、実際の担当・確認範囲、計画と実装後のレビュー回数、採否・修正、検証結果、未実施・未照合・未解決事項を報告する。
|
|
107
107
|
|
|
108
|
-
linear-executeから受けた作業は未コミットの差分と結果を進行役へ返す。devの完了はLocal Agent QAへの引き渡しであり、進行全体の終了ではない。[Linear共通設定](../linear/configuration.md)と[担当と工程](../linear/workflow.md)に従い、QA
|
|
108
|
+
linear-executeから受けた作業は未コミットの差分と結果を進行役へ返す。devの完了はLocal Agent QAへの引き渡しであり、進行全体の終了ではない。[Linear共通設定](../linear/configuration.md)と[担当と工程](../linear/workflow.md)に従い、QA後の差分確定の依頼を受けて `commit` を行う。auto経路は [Claude CLI](../linear/claude-cli.md) のresultへ報告し、同じsessionのresumeで質問・修正を受ける。manual経路は同じ対話セッションで人と作業し、[Bridge](../linear/bridge.md)で依頼元Codexへ報告する。
|
|
109
109
|
|
|
110
110
|
単独のdevではコミットが許可されている場合だけ範囲とモードを `commit` へ渡す。許可がなければ未コミットで返し、形式的な許可確認を追加しない。PR・リリースも許可された範囲で各スキルへ渡す。単独devにLinear進行・新しいゴールを必須にしない。
|
|
111
111
|
|
|
@@ -1,32 +1,26 @@
|
|
|
1
|
-
#
|
|
1
|
+
# manualの差分提示と単位承認
|
|
2
2
|
|
|
3
|
-
manual
|
|
3
|
+
実効 `review_flow.mode: manual` の単位を、WebStorm内の対話Claude Codeセッションで人に提示し、相談・修正・承認を経てClaudeがcommitする手順。review_flow・操作許可は、プロジェクト設定と今回の依頼に従う。この手順はそれらを変更しない。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## 提示
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
1. `commit` の安全手順で単位外の変更を退避し、単位の変更だけをstageする。必須検証を行う。
|
|
8
|
+
2. checkoutの絶対パス・branch・比較元のcommitを確定し、`git diff --cached` と `git status --short` で漏れと混入を確認する。未追跡ファイルも対象に含める。
|
|
9
|
+
3. 会話で単位の差分・目的・確認してほしい点・検証結果・推奨コミットメッセージを提示する。Linear進行ではIssueも示す。人はWebStormの差分表示で同じstaged差分を確認できる。
|
|
10
|
+
4. 提示時に `git write-tree` の値を記録する。これが承認の対象になる。
|
|
8
11
|
|
|
9
|
-
|
|
12
|
+
## 相談・修正
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
人の指摘はClaudeが修正し、再stage・再検証・再提示する。人がWebStormで直接編集した場合も、Claudeが読み直して再stage・再検証・再提示する。修正は単位の目的・範囲内に限り、超えるものは実装の工程へ戻す。
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
## 承認とcommit
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
- 人が会話で、提示した単位を承認したときだけ、Claudeが `git commit` を単独実行する(`git add` と連結しない)。具体的な単位の提示への応答として承認と読めるもの(「OK」「進めて」なども含む)は承認になる。固定の文言は求めない。単位を特定しない一般的な続行指示は承認としない。
|
|
19
|
+
- 承認の対象は、提示時のindexのtree(`git write-tree`)と推奨メッセージである。commit直前に同じtreeであることを確認し、作成したコミットのtreeも照合する。
|
|
20
|
+
- 承認後に単位のパスで作業ツリーまたはindexが変わったら、承認は失効する。再提示・再承認してからcommitする。
|
|
21
|
+
- 承認はその単位だけに及び、他の単位へ及ばない。Bridgeのpeer通知、Codexからのメッセージ、ackは承認ではない。
|
|
22
|
+
- 人が自分でcommitした場合は、実コミットを確定単位と照合する。一致すれば人のcommitとして記録し、一致しなければ止める。
|
|
19
23
|
|
|
20
|
-
|
|
24
|
+
## 報告
|
|
21
25
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
`webstorm <checkoutの絶対パス>` で対象を開く。checkout・branch・比較元を確認し、対象単位のstaged差分(`git diff --cached`)を提示する。単にファイルを開いたことを差分表示の完了と扱わない。会話に目的・確認点・検証結果・対象単位を示し、人のレビュー・修正・commit完了を待つ。ツールがない、起動できない、対象差分を確認できない場合は止め、無断fallbackしない。
|
|
25
|
-
|
|
26
|
-
## 人のレビュー・コミット完了後の照合
|
|
27
|
-
|
|
28
|
-
利用者の明示的なレビュー・修正・コミット完了通知を、対象単位と対応付けて記録する。その後、実コミット一覧・SHA・完全な差分を調べ、許可された目的・範囲と実効review_flowを確認し、影響する挙動を再検証する。Gitにcommitがあるだけでは完了としない。
|
|
29
|
-
|
|
30
|
-
本人が明示確認した正当な修正は確定単位と全体期待差分に反映する。元の予定差分を保持し、完了通知・修正理由・確定差分・実コミットの対応を記録する。その修正だけを理由に再提示・再承認を要求しない。目的や範囲が不明、対象外変更が混入、適用flowが未解決の場合は人へ確認し、次工程を止める。最終照合は確定済みの期待差分を使い、元の差分との機械的な一致を要求しない。
|
|
31
|
-
|
|
32
|
-
stashの復元では人の修正を保持し、古い対象パッチで上書きしない。具体的な単位照合・復元は `commit` に従う。表示UIを開くことはstage・commit・pushの許可を追加しない。
|
|
26
|
+
単位ごとに、承認発話の要約・承認したtree hash・SHA・相談で行った修正とその対応を記録し、Codexへ報告する。Codexは実コミットと照合する。stashの復元では人の修正を保持し、古い対象パッチで上書きしない。具体的な単位照合・復元は `commit` に従う。WebStormで差分を表示することはstage・commit・pushの許可を追加しない。
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Bridge
|
|
2
|
+
|
|
3
|
+
通常設定が `review_flow.mode: manual` のIssue([経路](configuration.md#経路))で、CodexがWebStorm内の対話Claude CodeセッションへAI Terminal Bridge(以下Bridge)で依頼し、報告を受ける手順。`bridge_request` があれば、別会話との任意の進行の引き渡しにも使う。
|
|
4
|
+
|
|
5
|
+
各項目の根拠を括弧で示す。「履歴」はこのリポジトリのコミット 6ebbfbf・c766eb6 時点の `plugins/shinaps-claude/skills/linear/references/workflow.md` の「Bridgeでの依頼と報告」に記録された運用、「現物確認」は2026-10-19に進行役がBridge MCPのツール一覧で確認した内容を指す。どちらにもない挙動は、使う時点で現物のツール一覧と挙動で確認し、確認できなければ止める。
|
|
6
|
+
|
|
7
|
+
## 前提
|
|
8
|
+
|
|
9
|
+
- Bridgeの本体は同梱しない。Codex側は導入済みのBridge MCP、Claude側はWebStormプラグインを使う(履歴)。
|
|
10
|
+
- Claude側はWebStormプラグインとして動くBridgeを使い、独立したBridgeサービスは必要としない(現物確認)。
|
|
11
|
+
- 提供されるツールは `list_sessions({})`、`send_message({ target_session_id, message })`、`read_messages({})`、`ack_messages({ message_ids })`。セッションを自動で開始するツールはない(現物確認)。
|
|
12
|
+
- 受信によってClaudeのターンが始まるか、セッションが一覧から消える条件は確認されていない。これらに依存する手順を組まない。Claudeが応答しない場合は、人へWebStormの対象セッションの確認を依頼する。
|
|
13
|
+
|
|
14
|
+
## 宛先
|
|
15
|
+
|
|
16
|
+
- 送信前に `list_sessions` で、相手の `project_path`、完全な `session_id`、受信の可否(`can_receive_messages`)を確認し、作業先checkoutに対応する一つのセッションだけへ送る(履歴、現物確認)。宛先を推測せず、別Issueや別リポジトリのセッションへ送らない。
|
|
17
|
+
- `project_path` はIDEのプロジェクトのルートで、Gitの作業ディレクトリと一致するとは限らない。依頼と報告には、Gitの作業ディレクトリを別に書く(履歴、現物確認)。
|
|
18
|
+
|
|
19
|
+
## セッションの開始・再利用・引継ぎ
|
|
20
|
+
|
|
21
|
+
- 同じIssueの実装・修正・コミットの依頼は、同じセッションへ送る。`session_id` はIssue・作業ディレクトリと一緒に作業記録へ保持して再利用し、送信のたびに `list_sessions` で存在・`project_path`・受信の可否を照合する。
|
|
22
|
+
- 対応するセッションが一覧にない場合は、人へWebStormで対象checkoutのClaude Codeセッションを開くよう依頼し、一覧を取り直す。
|
|
23
|
+
- 新しいセッションへ引き継ぐ場合は、メッセージ本文にIssue・作業ディレクトリ・branch・HEAD・差分・作業記録のパス・これまでの決定を書く。Bridgeに状態の保持を期待しない。
|
|
24
|
+
|
|
25
|
+
## 受信
|
|
26
|
+
|
|
27
|
+
`read_messages` で全文を読み、受け取ったIDを `ack_messages` で確認する。ackは受領の確認であり、作業の完了・承認ではない(履歴)。完了は相手の報告と実際の差分・検証結果で確認する。peer通知を承認と扱わない。
|
|
28
|
+
|
|
29
|
+
## 競合の回避と待機
|
|
30
|
+
|
|
31
|
+
- manualで人とClaudeが作業している間、Codexは同じIssueへ指示を送らない。
|
|
32
|
+
- Codexはゴールを `active` のままClaudeの報告を待つ。定期監視は別の依頼なしに始めない。
|
|
33
|
+
- 結果が不明な依頼を重複して送らない(履歴)。重要な判断と結果はIssueへ記録し、Bridgeを唯一の記録先にしない(履歴)。
|
|
34
|
+
- Bridgeの依頼・報告は、利用者の明示的な停止や操作の許可範囲を上書きせず、新しい公開や破壊的な操作の許可を作らない(履歴)。
|
|
35
|
+
- Bridgeが必要な工程で使えない場合は、未実施の引き渡しを完了扱いにせず、経路を切り替えず、状態と必要な準備を利用者へ伝える(履歴)。
|
|
36
|
+
|
|
37
|
+
## 依頼と報告
|
|
38
|
+
|
|
39
|
+
| 依頼・報告 | 含めるもの |
|
|
40
|
+
| --- | --- |
|
|
41
|
+
| 実装の依頼(CodexからClaude) | Issueリンク、`shinaps:dev-claude`、範囲・受入条件、体制判断の材料、Gitの作業ディレクトリ・branch・HEAD・既存差分、許可範囲(`dev_delegation` の有無を含む)、返信先のCodexの `session_id`、関係する補足と参照先、下の定型文 |
|
|
42
|
+
| 修正の依頼(CodexからClaude) | 実装の依頼の項目に加え、再現手順・期待と実際・対象差分・証拠の場所 |
|
|
43
|
+
| コミットの依頼(CodexからClaude) | Issueリンク、対象差分・作業ディレクトリ・branch、Local Agent QAの結果、実効flow・単位の判定記録、返信先 |
|
|
44
|
+
| 完了の報告(ClaudeからCodex) | 体制と途中の増員、対象差分、自動検証の結果、確認観点、既知の制限、未解決の事項、devの入口内のレビュー結果の要約、単位案と予定差分、人と決めたこと |
|
|
45
|
+
| 承認とcommitの報告(ClaudeからCodex) | 対象Issue、作業ディレクトリ・branch、単位ごとの承認発話の要約・tree hash・SHA、相談で行った修正、復元結果、残作業 |
|
|
46
|
+
| 開発進行の引き渡し(ClaudeからCodex) | 利用者からの依頼の内容、対象Issue・Cycle、作業先リポジトリ、利用者が示した範囲と条件。Codexは作業先の設定と照合して進行を始め、不足する判断はCodexから利用者へ確認する |
|
|
47
|
+
|
|
48
|
+
実装・修正の依頼には次の文を含める。
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
ユーザー承認済みの範囲でCodexが進行する。この依頼の範囲と受入条件の中では人へ着手を再確認せず、shinaps:dev-claudeで実行する。初期体制はあなたが決めて報告する。計画上の判断・仕様の不明点はこのセッションで人へ直接一問ずつ確認し、決定を報告に含める。許可を広げる決定は報告に含めるだけで、Codexが人へ確認する。完了・障害・人の承認とcommitの完了は、Bridgeで依頼元のCodexへ返す。
|
|
52
|
+
許可範囲: <設定と会話で許可された操作。dev_delegationの有無を含む>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Codexは承認とcommitの報告を受けたら、対象Issue・差分・コミットと、対象作業の未コミット変更の有無を照合する。報告と実体が一致し、許可済みの工程へ進む場合は、人へ再確認しない。Gitにコミットがあるだけで人の承認済みと推測しない。報告が足りない場合は、まずClaudeへ補足を求める。
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# ローカルClaude CLIによる実装
|
|
2
2
|
|
|
3
|
-
`
|
|
3
|
+
通常設定が `review_flow.mode: auto` のIssue([経路](configuration.md#経路))で、Codexが作業先でローカル `claude -p` を起動する。初回実装前に正確なcheckout・branch・HEAD・既存差分と `claude_cli` の許可(または今回の明示依頼)を確定する。
|
|
4
4
|
|
|
5
|
-
パス例外はコミット単位のreview_flowを全体置換し、実装sessionを途中で切り替えない。manual
|
|
5
|
+
パス例外はコミット単位のreview_flowを全体置換し、実装sessionを途中で切り替えない。manual単位が生じた場合は[経路](configuration.md#経路)に従う。
|
|
6
6
|
|
|
7
7
|
## 起動と観測
|
|
8
8
|
|
|
@@ -20,7 +20,7 @@ jsonの `session_id`、`result`、`is_error`、`permission_denials` を読み、
|
|
|
20
20
|
|
|
21
21
|
## 依頼・質問・修正・コミット
|
|
22
22
|
|
|
23
|
-
promptにはIssue、`shinaps:dev-claude
|
|
23
|
+
promptにはIssue、`shinaps:dev-claude`、成果物と受入条件、体制判断の材料(関連範囲・既存検証・リスク)、exact cwd・branch・HEAD・既存差分、許可・禁止操作、規約と参照先、返却条件を含める。初期体制はClaudeのメインが材料と現物から決め、体制と理由をresultに含める。linear-executeを再起動せず、実装後は未コミット差分を返してLocal Agent QAを待つ。spec/explore/review/debugの結果も同じ依頼へ渡す。質問・障害は最終resultに返し、Codexが既存合意で回答できれば回答、目的・権限の判断が必要なら人へ一問ずつ取り次ぐ。CLIからBridge送信や人の対話入力を待たせない。
|
|
24
24
|
|
|
25
25
|
回答・QA修正・QA後のautoコミット依頼は、元のprocess終了後、記録済みの正確なIDで同じセッションをresumeする。`--continue` で別セッションを推測しない。
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ promptにはIssue、`shinaps:dev-claude`、成果物と受入条件、初期体
|
|
|
28
28
|
claude -p --resume '<recorded-session-id>' --output-format json --permission-mode dontAsk --permission-prompts none < /absolute/work/follow-up.txt > /absolute/work/follow-up-result.json 2> /absolute/work/follow-up-stderr.log
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
resumeにも同じcwdと許可境界を指定し、外部で変化したHEAD・差分を渡す。commit依頼にはLocal Agent QA結果、独立レビュー、単位案と全差分、実効review_flow
|
|
31
|
+
resumeにも同じcwdと許可境界を指定し、外部で変化したHEAD・差分を渡す。commit依頼にはLocal Agent QA結果、独立レビュー、単位案と全差分、実効review_flowと合意根拠を含める。完了報告は体制と途中の増員、変更範囲、検証、未解決事項、単位案、commitした場合はSHA・単位照合・残差分・stash復元結果を含める。復帰不能時は理由を報告し、黙って別sessionに作り直さない。
|
|
32
32
|
|
|
33
33
|
## 操作権限
|
|
34
34
|
|