@shinaps/skills 0.33.2 → 0.34.1

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.
Files changed (60) hide show
  1. package/README.md +45 -11
  2. package/dist/bin/skills.js +7 -0
  3. package/dist/lib/config-validation.js +33 -0
  4. package/dist/lib/install.js +1 -0
  5. package/dist/lib/linear-config.js +8 -30
  6. package/dist/lib/managed-config.js +10 -0
  7. package/package.json +1 -1
  8. package/plugins/shinaps-claude/.claude-plugin/plugin.json +1 -1
  9. package/plugins/shinaps-claude/agents/shinaps-split-reviewer.md +4 -4
  10. package/plugins/shinaps-claude/managed-agents/agents/shinaps-architect.md +92 -0
  11. package/plugins/shinaps-claude/managed-agents/agents/shinaps-dev-managed-cc.md +59 -0
  12. package/plugins/shinaps-claude/managed-agents/agents/shinaps-implementer.md +36 -0
  13. package/plugins/shinaps-claude/managed-agents/agents/shinaps-plan-reviewer.md +65 -0
  14. package/plugins/shinaps-claude/managed-agents/agents/shinaps-reviewer.md +79 -0
  15. package/plugins/shinaps-claude/managed-agents/agents/shinaps-simplifier.md +44 -0
  16. package/plugins/shinaps-claude/managed-agents/environments/shinaps-dev.yaml +5 -0
  17. package/plugins/shinaps-claude/managed-agents/skills/dev-managed-cc/SKILL.md +53 -0
  18. package/plugins/shinaps-claude/managed-agents/skills/dev-managed-cc/references/launch.md +73 -0
  19. package/plugins/shinaps-claude/managed-agents/skills/dev-managed-cc/references/staffing.md +42 -0
  20. package/plugins/shinaps-claude/managed-agents/skills/dev-managed-cc/references/workflow.md +61 -0
  21. package/plugins/shinaps-claude/references/dev/workflow.md +1 -1
  22. package/plugins/shinaps-claude/references/human-review.md +25 -16
  23. package/plugins/shinaps-claude/references/linear/bridge.md +6 -6
  24. package/plugins/shinaps-claude/references/linear/configuration.md +7 -7
  25. package/plugins/shinaps-claude/references/linear/execution.md +1 -1
  26. package/plugins/shinaps-claude/references/linear/workflow.md +9 -9
  27. package/plugins/shinaps-claude/references/managed/configuration.md +59 -0
  28. package/plugins/shinaps-claude/references/managed/configuration.schema.json +47 -0
  29. package/plugins/shinaps-claude/references/managed/execute.md +116 -0
  30. package/plugins/shinaps-claude/references/managed/setup.md +72 -0
  31. package/plugins/shinaps-claude/skills/commit/SKILL.md +7 -7
  32. package/plugins/shinaps-claude/skills/linear-execute/SKILL.md +4 -4
  33. package/plugins/shinaps-claude/skills/managed-execute/SKILL.md +18 -0
  34. package/plugins/shinaps-claude/skills/managed-setup/SKILL.md +19 -0
  35. package/plugins/shinaps-codex/.codex-plugin/plugin.json +1 -1
  36. package/plugins/shinaps-codex/managed-agents/agents/shinaps-architect.md +92 -0
  37. package/plugins/shinaps-codex/managed-agents/agents/shinaps-dev-managed-cc.md +59 -0
  38. package/plugins/shinaps-codex/managed-agents/agents/shinaps-implementer.md +36 -0
  39. package/plugins/shinaps-codex/managed-agents/agents/shinaps-plan-reviewer.md +65 -0
  40. package/plugins/shinaps-codex/managed-agents/agents/shinaps-reviewer.md +79 -0
  41. package/plugins/shinaps-codex/managed-agents/agents/shinaps-simplifier.md +44 -0
  42. package/plugins/shinaps-codex/managed-agents/environments/shinaps-dev.yaml +5 -0
  43. package/plugins/shinaps-codex/managed-agents/skills/dev-managed-cc/SKILL.md +53 -0
  44. package/plugins/shinaps-codex/managed-agents/skills/dev-managed-cc/references/launch.md +73 -0
  45. package/plugins/shinaps-codex/managed-agents/skills/dev-managed-cc/references/staffing.md +42 -0
  46. package/plugins/shinaps-codex/managed-agents/skills/dev-managed-cc/references/workflow.md +61 -0
  47. package/plugins/shinaps-codex/references/dev/workflow.md +1 -1
  48. package/plugins/shinaps-codex/references/human-review.md +25 -16
  49. package/plugins/shinaps-codex/references/linear/bridge.md +6 -6
  50. package/plugins/shinaps-codex/references/linear/configuration.md +7 -7
  51. package/plugins/shinaps-codex/references/linear/execution.md +1 -1
  52. package/plugins/shinaps-codex/references/linear/workflow.md +9 -9
  53. package/plugins/shinaps-codex/references/managed/configuration.md +59 -0
  54. package/plugins/shinaps-codex/references/managed/configuration.schema.json +47 -0
  55. package/plugins/shinaps-codex/references/managed/execute.md +116 -0
  56. package/plugins/shinaps-codex/references/managed/setup.md +72 -0
  57. package/plugins/shinaps-codex/skills/commit/SKILL.md +7 -7
  58. package/plugins/shinaps-codex/skills/linear-execute/SKILL.md +3 -3
  59. package/plugins/shinaps-codex/skills/managed-execute/SKILL.md +18 -0
  60. package/plugins/shinaps-codex/skills/managed-setup/SKILL.md +19 -0
@@ -0,0 +1,61 @@
1
+ # dev の工程(Managed Agents)
2
+
3
+ Claude Code の dev の工程を、Managed Agents のセッション向けに絞ったもの。役割・人数は[実装体制の判断](staffing.md)に従って作業ごとに決め、担当の委任・継続・作業先・出力は[起動手順](launch.md)に従う。
4
+
5
+ ## 役割と継続
6
+
7
+ 下の表は必須起動一覧ではない。
8
+
9
+ | 工程 | 役割定義 | 継続と責任 |
10
+ | --- | --- | --- |
11
+ | Phase 3・4・6・7 | `shinaps-architect` | 担当1は設計・統合・設計適合性を継続。担当2以降は独立設計と追加確認のみ |
12
+ | Phase 4 | `shinaps-plan-reviewer` | 修正版の再確認も同じ担当 |
13
+ | Phase 4・6 | `shinaps-simplifier` | 計画の再確認は継続。実装の簡素化は別担当 |
14
+ | Phase 5・7 | `shinaps-implementer` | 1体。同じ担当へ修正を返す |
15
+ | Phase 6 | `shinaps-reviewer` | 実装担当とは別。レビューラウンドごとに新規。規約照合も担う |
16
+
17
+ - 目的・範囲・規約全文・必読ファイル・今回の役割・担当番号・確認対象の版を依頼に渡す。実装担当にはファイルの所有範囲を明記する。
18
+ - 独立確認する担当には同じ版の入力を渡し、今回の他担当の結果を読ませない。対象を編集中にレビューせず、全結果が揃うまで lead と実装担当も対象を変えない。
19
+ - 起動失敗・空回答・未確認範囲を「指摘なし」にしない。
20
+
21
+ ## Phase 1: タスクと初期体制
22
+
23
+ 初回メッセージの必須入力が揃っていることを確かめ、目的・受入条件・範囲を確定する。作業先を[起動手順](launch.md)に従って用意し、関連コードと検証方法を必要な範囲だけ確認して初期体制を決め、作業記録に残す。
24
+
25
+ ## Phase 2: 規約と必要な探索
26
+
27
+ 規約の範囲は [SKILL.md の規約](../SKILL.md#規約)に従う。lead が読んで以降の担当へ全文を渡す。lead(設計担当がいれば設計担当も)が関連ファイルを確認し、実装担当は実装の詳細を調べる。探索の専任は委任しない。
28
+
29
+ ## Phase 3: 設計と計画
30
+
31
+ 設計責任者は設計担当1、専任なしなら lead とする。計画には目的・不変条件・変更範囲(対象ファイルと責務)・実装順・検証を書く。設計担当が複数なら同じ入力で独立に検討させ、担当1が根拠で一つの案へ統合する。
32
+
33
+ ## Phase 4: 計画の確認
34
+
35
+ 選んだ計画レビュー・計画簡素化の担当へ同じ計画を渡し、指摘を「指摘の検証と統合」に従って扱う。同じ対象について初回を1として最大2ラウンドとする。上限到達後に計画を修正した場合は、未再確認の変更と残課題を記録する。重大な設計リスク、仕様・許可の未決事項、必要な担当の未完了があれば Phase 5 へ進まず未完了で返す。
36
+
37
+ ## Phase 5: 実装と検証
38
+
39
+ 実装担当1体へ確定計画・必読ファイル・規約全文・所有ファイル・必要な検証を渡す。実装担当は計画を実装し、簡素化・セルフレビュー・必須検証を行う。実装ミスによる検証失敗の自己修正は3回まで。lead は報告だけで完了とせず、差分と検証の根拠を確認する。
40
+
41
+ ## Phase 6: 実装後の確認
42
+
43
+ 同じ差分を固定し、選んだ担当を並行して委任する。実装者と独立したコードレビューは最低1体。設計適合性は設計担当1(専任なしなら lead)、規約照合はコードレビュー担当、実装の簡素化は選んだ simplifier(専任なしなら実装担当とコードレビュー担当)が確認する。staged・unstaged・untracked を含めて対象を特定する。
44
+
45
+ ## 指摘の検証と統合(Phase 4・6)
46
+
47
+ 設計責任者(設計担当1、専任なしなら lead)が全指摘の根拠・誤認・重複・対立・未確認を区別し、全項目の採否と理由、必要な修正と検証をまとめる。再現・検証が必要なら実装担当へ依頼する。仕様・受入条件の変更や許可範囲の拡大は利用者の合意前に採用しない。
48
+
49
+ ## Phase 7〜8: 修正と終了判定
50
+
51
+ 修正指示を同じ実装担当へ返す。実装後の全体レビューは初回を1として最大2ラウンド。2回目の後に修正したら必要なテストを行い、最終差分が再レビューされていないことを報告する。重大な未解決事項、必須検証の失敗、必要な担当の未完了が残れば品質上の完了とは報告しない。
52
+
53
+ ## Phase 9: コミット・push・draft PR と報告
54
+
55
+ 1. コミット単位を依存順に確定する。stage は合意した範囲のパスだけにし、作業記録やその他のファイルを含めない。
56
+ 2. 許可された場合だけ commit する。
57
+ 3. 許可された場合だけ head ブランチへ push する。
58
+ 4. 許可された場合だけ draft PR を作る。
59
+ 5. [起動手順](launch.md)の出力を置き、状態行と SKILL.md の最終報告を書く。
60
+
61
+ 許可されていない操作はその手前で止め、行わなかった操作を最終報告に書く。
@@ -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後の差分確定の依頼を受けて `commit` を行う。auto経路は [Claude CLI](../linear/claude-cli.md) のresultへ報告し、同じsessionのresumeで質問・修正を受ける。manual経路は同じ対話セッションで人と作業し、[Bridge](../linear/bridge.md)で依頼元Codexへ報告する。
108
+ linear-executeから受けた作業は未コミットの差分と結果を進行役へ返す。devの完了はLocal Agent QAへの引き渡しであり、進行全体の終了ではない。[Linear共通設定](../linear/configuration.md)と[担当と工程](../linear/workflow.md)に従い、autoはQA後の差分確定の依頼を受けて、manualは人のコミット開始依頼で `commit` を始め、単位の退避・stage・commitはQA結果の引き渡し後に行う。auto経路は [Claude CLI](../linear/claude-cli.md) のresultへ報告し、同じsessionのresumeで質問・修正を受ける。manual経路は同じ対話セッションで人と作業し、[Bridge](../linear/bridge.md)で依頼元Codexへ報告する。manualの完了時は人へユーザーのレビュー待ちと明示する([manualの手順](../human-review.md))。
109
109
 
110
110
  単独のdevではコミットが許可されている場合だけ範囲とモードを `commit` へ渡す。許可がなければ未コミットで返し、形式的な許可確認を追加しない。PR・リリースも許可された範囲で各スキルへ渡す。単独devにLinear進行・新しいゴールを必須にしない。
111
111
 
@@ -1,26 +1,35 @@
1
- # manualの差分提示と単位承認
1
+ # manualのレビュー待ちと単位ごとのコミット
2
2
 
3
- 実効 `review_flow.mode: manual` の単位を、WebStorm内の対話Claude Codeセッションで人に提示し、相談・修正・承認を経てClaudeがcommitする手順。review_flow・操作許可は、プロジェクト設定と今回の依頼に従う。この手順はそれらを変更しない。
3
+ 実効 `review_flow.mode: manual` の差分を、人がWebStormの差分表示でレビューし、人の依頼に従ってWebStorm内の対話Claude Codeセッションで単位ごとにClaudeがcommitする手順。review_flow・操作許可は、プロジェクト設定と今回の依頼に従う。この手順はそれらを変更しない。
4
4
 
5
- ## 提示
5
+ 会話では単位名・目的・対象ファイル・検証結果・短い推奨コミットメッセージなど判断に必要な最小限を示し、差分本文を貼らない。Claude自身の差分の読取りと独立レビューは制限しない。
6
6
 
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` の値を記録する。これが承認の対象になる。
7
+ ## レビュー待ち
11
8
 
12
- ## 相談・修正
9
+ devと必要な検証が終わったら、作業内容と検証結果を短く報告し、「ユーザーのレビュー待ち」と明示する。人はWebStormの差分表示で全体を確認し、Claudeと相談する。
10
+
11
+ 人がコミットの開始を依頼するまで、分割案の提示・単位外の退避・単位のstage・単位のコミット依頼の要求を始めない。Linear進行でCodexへの完了報告に含める単位案と予定差分はQAの材料であり、人への分割案の提示ではない。Linear進行では、分割案の提示は人の開始依頼だけで行え、単位の退避・stage・commitはLocal Agent QAの合格とQA結果・判定記録の引き渡しの後に行う(両者の順序は問わない)。
12
+
13
+ ## コミットの開始と分割案
14
+
15
+ 人がコミットの開始を依頼したら(「コミットしましょう」など。固定の文言は求めない)、`commit` に従って自然な責務単位の分割案を示す。各単位の名前・目的・対象ファイル・順序・推奨コミットメッセージを短く示す。許可された独立レビュアーによる分割案の確認は `commit` に従う。
13
16
 
14
- 人の指摘はClaudeが修正し、再stage・再検証・再提示する。人がWebStormで直接編集した場合も、Claudeが読み直して再stage・再検証・再提示する。修正は単位の目的・範囲内に限り、超えるものは実装の工程へ戻す。
17
+ 分割案への合意は単位の構成への合意であり、どの単位のcommitの承認でもない。
15
18
 
16
- ## 承認とcommit
19
+ ## 単位ごとのコミット
20
+
21
+ 1. 人がその単位のコミットを依頼したときだけ進める。具体的な単位を特定できる依頼であればよく、固定の文言は求めない。単位を特定しない一般的な続行指示は依頼としない。依頼は特定された単位だけに及ぶ。
22
+ 2. `commit` の安全手順で単位外の変更を退避し、単位の変更だけをstageして必須検証を行う。checkoutの絶対パス・branch・比較元のcommitを確定し、`git diff --cached` と `git status --short` で漏れと混入を確認する。未追跡ファイルも対象に含める。
23
+ 3. stage時の `git write-tree` の値を記録し、単位名・検証結果・コミットメッセージを短く報告する。stageした差分が分割案の予定差分と違えば、commitせず違いを報告して改めて依頼を受ける。検証の失敗や阻害する指摘があればcommitせずに報告して止める。
24
+ 4. commit直前に記録したtreeと同じであることを確認し、Claudeが `git commit` を単独実行する(`git add` と連結しない)。作成したコミットのtreeも照合する。
25
+ 5. stage時にtreeを記録した後に、単位のパスで作業ツリーまたはindexが変わったら、依頼は失効する。単位を再提示し、改めて人の依頼を受けてからcommitする。
26
+
27
+ Bridgeのpeer通知、Codexからのメッセージ、ackは依頼ではない。人が自分でcommitした場合は、実コミットを確定単位と照合する。一致すれば人のcommitとして記録し、一致しなければ止める。
28
+
29
+ ## 相談・修正
17
30
 
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として記録し、一致しなければ止める。
31
+ 人の指摘はClaudeが修正し、再検証する。人がWebStormで直接編集した場合も、Claudeが読み直して再検証する。stage済みの単位では再stageし、上の失効に従う。修正は単位と依頼の目的・範囲内に限り、超えるものは実装の工程へ戻す。Linear進行のQA中は人もClaudeも作業ツリーを編集しない。
23
32
 
24
33
  ## 報告
25
34
 
26
- 単位ごとに、承認発話の要約・承認したtree hash・SHA・相談で行った修正とその対応を記録し、Codexへ報告する。Codexは実コミットと照合する。stashの復元では人の修正を保持し、古い対象パッチで上書きしない。具体的な単位照合・復元は `commit` に従う。WebStormで差分を表示することはstage・commit・pushの許可を追加しない。
35
+ コミットの開始依頼と単位ごとの依頼発話の要約・記録したtree hash・SHA・相談で行った修正とその対応・復元結果を記録し、Codexへ報告する。Codexは実コミットと照合する。stashの復元では人の修正を保持し、古い対象パッチで上書きしない。具体的な単位照合・復元は `commit` に従う。WebStormで差分を表示することはstage・commit・pushの許可を追加しない。
@@ -18,7 +18,7 @@
18
18
 
19
19
  ## セッションの開始・再利用・引継ぎ
20
20
 
21
- - 同じIssueの実装・修正・コミットの依頼は、同じセッションへ送る。`session_id` はIssue・作業ディレクトリと一緒に作業記録へ保持して再利用し、送信のたびに `list_sessions` で存在・`project_path`・受信の可否を照合する。
21
+ - 同じIssueの実装・修正の依頼とQA結果の引き渡しは、同じセッションへ送る。`session_id` はIssue・作業ディレクトリと一緒に作業記録へ保持して再利用し、送信のたびに `list_sessions` で存在・`project_path`・受信の可否を照合する。
22
22
  - 対応するセッションが一覧にない場合は、人へWebStormで対象checkoutのClaude Codeセッションを開くよう依頼し、一覧を取り直す。
23
23
  - 新しいセッションへ引き継ぐ場合は、メッセージ本文にIssue・作業ディレクトリ・branch・HEAD・差分・作業記録のパス・これまでの決定を書く。Bridgeに状態の保持を期待しない。
24
24
 
@@ -40,16 +40,16 @@
40
40
  | --- | --- |
41
41
  | 実装の依頼(CodexからClaude) | Issueリンク、`shinaps:dev-claude`、範囲・受入条件、体制判断の材料、Gitの作業ディレクトリ・branch・HEAD・既存差分、許可範囲(`dev_delegation` の有無を含む)、返信先のCodexの `session_id`、関係する補足と参照先、下の定型文 |
42
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、相談で行った修正、復元結果、残作業 |
43
+ | QA結果の引き渡し(CodexからClaude。manualの単位のcommitの依頼ではない) | Issueリンク、対象差分・作業ディレクトリ・branch、Local Agent QAの結果、実効flow・単位の判定記録、返信先 |
44
+ | 完了の報告(ClaudeからCodex) | 体制と途中の増員、対象差分、自動検証の結果、確認観点、既知の制限、未解決の事項、devの入口内のレビュー結果の要約、単位案と予定差分、人と決めたこと、人へレビュー待ちと明示したこと |
45
+ | 人の依頼とcommitの報告(ClaudeからCodex) | 対象Issue、作業ディレクトリ・branch、コミットの開始依頼と単位ごとの依頼発話の要約・tree hash・SHA、相談で行った修正、復元結果、残作業 |
46
46
  | 開発進行の引き渡し(ClaudeからCodex) | 利用者からの依頼の内容、対象Issue・Cycle、作業先リポジトリ、利用者が示した範囲と条件。Codexは作業先の設定と照合して進行を始め、不足する判断はCodexから利用者へ確認する |
47
47
 
48
48
  実装・修正の依頼には次の文を含める。
49
49
 
50
50
  ```text
51
- ユーザー承認済みの範囲でCodexが進行する。この依頼の範囲と受入条件の中では人へ着手を再確認せず、shinaps:dev-claudeで実行する。初期体制はあなたが決めて報告する。計画上の判断・仕様の不明点はこのセッションで人へ直接一問ずつ確認し、決定を報告に含める。許可を広げる決定は報告に含めるだけで、Codexが人へ確認する。完了・障害・人の承認とcommitの完了は、Bridgeで依頼元のCodexへ返す。
51
+ ユーザー承認済みの範囲でCodexが進行する。この依頼の範囲と受入条件の中では人へ着手を再確認せず、shinaps:dev-claudeで実行する。初期体制はあなたが決めて報告する。計画上の判断・仕様の不明点はこのセッションで人へ直接一問ずつ確認し、決定を報告に含める。許可を広げる決定は報告に含めるだけで、Codexが人へ確認する。完了・障害・人の依頼によるcommitの完了は、Bridgeで依頼元のCodexへ返す。
52
52
  許可範囲: <設定と会話で許可された操作。dev_delegationの有無を含む>
53
53
  ```
54
54
 
55
- Codexは承認とcommitの報告を受けたら、対象Issue・差分・コミットと、対象作業の未コミット変更の有無を照合する。報告と実体が一致し、許可済みの工程へ進む場合は、人へ再確認しない。Gitにコミットがあるだけで人の承認済みと推測しない。報告が足りない場合は、まずClaudeへ補足を求める。
55
+ Codexは人の依頼とcommitの報告を受けたら、対象Issue・差分・コミットと、対象作業の未コミット変更の有無を照合する。報告と実体が一致し、許可済みの工程へ進む場合は、人へ再確認しない。Gitにコミットがあるだけで人の依頼によるcommitと推測しない。報告が足りない場合は、まずClaudeへ補足を求める。
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## 検証CLIと契約版
6
6
 
7
- 利用中のskillとCLIの版を確認し、0.33.2のskillには同じ版のnpm CLIを導入する(`npm install -g @shinaps/skills@0.33.2`)。pluginだけにはCLIは含まれない。導入・更新が必要ならその権限を確認し、検証のたびに `npx latest` を取得しない。
7
+ 利用中のskillとCLIの版を確認し、0.34.1のskillには同じ版のnpm CLIを導入する(`npm install -g @shinaps/skills@0.34.1`)。pluginだけにはCLIは含まれない。導入・更新が必要ならその権限を確認し、検証のたびに `npx latest` を取得しない。
8
8
 
9
9
  ```sh
10
10
  shinaps-skills --version
@@ -76,10 +76,10 @@ shinaps-skills validate-linear-config /absolute/repository/.shinaps/linear.json
76
76
  | `permissions` | 継続的に許可した操作の一覧(下の「許可」)。経路の許可(auto: `claude_cli`、manual: `bridge_request`)も含む。許可なしは `[]` |
77
77
  | `references` | `specifications`・`validation`・`environments`・`deployment`・`publication` の5分類をすべて記載し、既存資料のパスまたはURLの一覧を指定する。該当資料なしは `[]` |
78
78
  | `cycle_report` | Cycle報告の設定(下の「Cycle報告」)。報告を使わない場合は `null` |
79
- | `review_flow` | `{ "mode": "auto" }`(AIが自然な単位を決め、独立レビュー・QA後にstage・commit)または `{ "mode": "manual" }`(AIが単位外を安全に退避して単位をstage・提示し、人と修正を相談し、人の単位承認後にAIがcommit)。開始時の値で経路も決まる(下の「経路」) |
79
+ | `review_flow` | `{ "mode": "auto" }`(AIが自然な単位を決め、独立レビュー・QA後にstage・commit)または `{ "mode": "manual" }`(AIがレビュー待ちを明示し、人がWebStormで差分を確認する。人のコミット開始依頼でAIが分割案を示し、人が単位ごとに依頼したらAIがstage・commit)。開始時の値で経路も決まる(下の「経路」) |
80
80
  | `path_policy_overrides` | パス別に `review_flow` を上書きするルールの一覧。例外なしは `[]`(下の「パス別の方針」) |
81
81
 
82
- - 利用者と合意した `review_flow` は両方とも対象のstageとAIのcommitを許可する。`auto` は独立レビュー後、`manual` は人の単位承認後にcommitする。未合意の設定ファイルから許可を得ない。その場の明示指示が優先し、push・公開・履歴変更は別の許可に従う。
82
+ - 利用者と合意した `review_flow` は両方とも対象のstageとAIのcommitを許可する。`auto` は独立レビュー後、`manual` は人がその単位のコミットを依頼した後にcommitする。未合意の設定ファイルから許可を得ない。その場の明示指示が優先し、push・公開・履歴変更は別の許可に従う。
83
83
  - どちらのflowもdev内の確認、必須検証、Agent QA、必要なHuman QAを維持する。`auto` は独立レビューを必須とし、利用できなければ自己確認で代用せず止める。人レビュー省略を人のレビュー済みと記録しない。
84
84
  - 状態キーは [workflow.md](workflow.md) の「工程とステータス」の表と同じ。`statuses` の値はチームに実在する正確な名前にする。操作時はLinearから取得した状態のIDを使う。対応が曖昧・欠落・実物と不一致なら、その対応に依存する更新を止める。ステータスを自動で新設しない。
85
85
  - `team_settings: manage_on_setup` の場合も、通常実行ではチーム設定を変更しない。
@@ -94,8 +94,8 @@ shinaps-skills validate-linear-config /absolute/repository/.shinaps/linear.json
94
94
  | `manual` | WebStorm内の対話Claude CodeセッションへBridgeで依頼する([Bridge](bridge.md)) | `bridge_request` |
95
95
 
96
96
  - 経路はIssueの途中で切り替えない。`permissions`・`stop_after`・`dev_delegation`・worktreeや別セッションの作成の許可は、経路によって変わらない。
97
- - manual経路でパス別の方針によりauto単位が生じた場合は、対話session内のClaudeが独立レビュー後に人の承認なしでcommitし、人のレビューの省略を記録する。
98
- - auto経路でmanual単位が生じた場合、非対話CLIは人との相談・承認を扱えない。CodexはLocal Agent QAで判定記録を照合した時点で検出し、差分確定の依頼前に人へ一問で確認する: 「今回の明示指示でその単位をautoとして進める」か「Issueを中止し、未コミット差分を保全したまま設定(通常設定またはルール)を見直してから、manual経路でやり直す」か。黙ってautoへ落とさない。`commit` の中で検出した場合は手順を進めず、判定を記録してresultへ返す。
97
+ - manual経路でパス別の方針によりauto単位が生じた場合は、人のコミット開始依頼の後、対話session内のClaudeがその単位を単位ごとの依頼なしに独立レビュー後にcommitし、人のレビューの省略を記録する。
98
+ - auto経路でmanual単位が生じた場合、非対話CLIは人との相談・コミットの依頼を扱えない。CodexはLocal Agent QAで判定記録を照合した時点で検出し、差分確定の依頼前に人へ一問で確認する: 「今回の明示指示でその単位をautoとして進める」か「Issueを中止し、未コミット差分を保全したまま設定(通常設定またはルール)を見直してから、manual経路でやり直す」か。黙ってautoへ落とさない。`commit` の中で検出した場合は手順を進めず、判定を記録してresultへ返す。
99
99
 
100
100
  ## パス別の方針
101
101
 
@@ -125,9 +125,9 @@ shinaps-skills validate-linear-config /absolute/repository/.shinaps/linear.json
125
125
 
126
126
  ### 判定記録と変更時の扱い
127
127
 
128
- 各予定単位について、設定の正本と内容、適用した全ルール(または適用なしの理由)、単位の比較元と全差分、実効 `review_flow`、今回の明示指示とflowの合意根拠、検証・レビューの結果を記録する。manualの単位は承認記録(承認発話の要約・承認したtree hash・作成したSHA)も残す。差分の同一性はパスだけでなく内容・mode等も含めて確認する。Linear進行での担当間の引き渡しは [workflow.md](workflow.md)、コミット前後の単位照合と完了時の全体照合は `commit` に従う。
128
+ 各予定単位について、設定の正本と内容、適用した全ルール(または適用なしの理由)、単位の比較元と全差分、実効 `review_flow`、今回の明示指示とflowの合意根拠、検証・レビューの結果を記録する。manualの単位は依頼記録(コミットの依頼発話の要約・stage時のtree hash・作成したSHA)も残す。差分の同一性はパスだけでなく内容・mode等も含めて確認する。Linear進行での担当間の引き渡しは [workflow.md](workflow.md)、コミット前後の単位照合と完了時の全体照合は `commit` に従う。
129
129
 
130
- 予定単位の内容・分割・統合を変更したら、変更した単位を再判定して必要なレビュー・許可確認・検証へ戻す。設定変更時も影響する未実行単位を再判定する。以前の判定や別単位の方針は流用しない。manualで人の修正・承認を経てcommitした場合は `commit` に従い、commit後に目的・範囲・実効flowと影響する挙動を確認する。正当な修正は元の予定との差と対応を残して確定単位へ反映する。不明・対象外の変更、確定単位との不一致は停止し、履歴を無断で書き換えない。
130
+ 予定単位の内容・分割・統合を変更したら、変更した単位を再判定して必要なレビュー・許可確認・検証へ戻す。設定変更時も影響する未実行単位を再判定する。以前の判定や別単位の方針は流用しない。manualで人の修正・依頼を経てcommitした場合は `commit` に従い、commit後に目的・範囲・実効flowと影響する挙動を確認する。正当な修正は元の予定との差と対応を残して確定単位へ反映する。不明・対象外の変更、確定単位との不一致は停止し、履歴を無断で書き換えない。
131
131
 
132
132
  ### config_version 1 からの移行
133
133
 
@@ -28,7 +28,7 @@ Claudeのメインは途中の新しい根拠で必要な担当を増やし、
28
28
 
29
29
  原則、確定した順序で一つずつ実行する。Issue単体の依頼では完了後に別Issueへ進まない。複数対象では、現在のIssueのQA・必要な人の対応・コミットを残して次へ切り替えない。
30
30
 
31
- - 実装担当の作業中や、manualの単位承認・Human QA・本人認証・通常の承認待ちは必要な工程として扱い、必要な依頼を行って会話側のゴールを `active` のまま待機する。回答がないことや待ち時間をブロッカー到達・承認・完了と扱わない。
31
+ - 実装担当の作業中や、manualの人のレビュー・コミットの依頼・Human QA・本人認証・通常の承認待ちは必要な工程として扱い、必要な依頼を行って会話側のゴールを `active` のまま待機する。回答がないことや待ち時間をブロッカー到達・承認・完了と扱わない。
32
32
  - 観測結果が得られないことだけでは終了条件を満たさない。同じsessionの状態を確認して待機を続け、新しいsessionやゴールを作る根拠にしない。
33
33
  - QAで見つけた不具合は[共通ルール](workflow.md#失敗・許可・停止の共通ルール)に従って実装担当へ戻し、再検証する。テストの失敗だけでバックログ実行を打ち切らない。
34
34
  - 未決の仕様判断、許可不足、対象外の依存、外部障害など、現在の許可と対象内では解消できない進行不能をブロッカーとする。
@@ -5,8 +5,8 @@
5
5
  | 担当 | 責務 |
6
6
  | --- | --- |
7
7
  | Codex(進行役) | Issueの作成・整理、仕様相談、Ready判定、依存・Cycle管理、進行判断、作業先設定からの経路と許可の確定、体制判断の材料(受入条件・関連範囲・既存検証・リスク)の提示、Claudeへの依頼(auto: CLI、manual: Bridge)、Local・Staging・ProductionのAgent QA、単位・全体の照合、許可されたpush・PR・merge・配備・公開、Issueへの記録、人への依頼 |
8
- | Claude(実装担当・Claude Code) | 初期体制の決定と途中の増員、`shinaps:dev-claude` による技術調査・計画・実装・検証・独立レビュー、QA指摘の修正、`shinaps:commit`(auto: 独立レビュー後にcommit、manual: 提示・相談・人の単位承認後にcommit)、結果の報告。実装を伴わない文書整理は、作業先リポジトリの規約に従いdevの入口の対象外にできる。スキル・コードの変更は文書の形でも実装としてdevの入口を使う |
9
- | 人 | 未合意の仕様・権限の判断、manualの単位レビュー・修正相談・承認、本人の操作が必要な認証等、必要なHuman QA |
8
+ | Claude(実装担当・Claude Code) | 初期体制の決定と途中の増員、`shinaps:dev-claude` による技術調査・計画・実装・検証・独立レビュー、QA指摘の修正、`shinaps:commit`(auto: 独立レビュー後にcommit、manual: 人の開始依頼で分割案、人が依頼した単位ごとにcommit)、結果の報告。実装を伴わない文書整理は、作業先リポジトリの規約に従いdevの入口の対象外にできる。スキル・コードの変更は文書の形でも実装としてdevの入口を使う |
9
+ | 人 | 未合意の仕様・権限の判断、manualのWebStormでの差分レビュー・修正相談・コミットの開始と単位ごとの依頼、本人の操作が必要な認証等、必要なHuman QA |
10
10
 
11
11
  経路は着手時に通常設定の `review_flow.mode` で決まる([経路](configuration.md#経路))。autoはCodexが[ローカルClaude CLI](claude-cli.md)の同じsessionをresumeし、manualはWebStorm内の対話Claude Codeセッションへ[Bridge](bridge.md)で依頼する。どちらでもClaudeはdev内レビューと検証を終えて結果を返し、CodexがLocal Agent QAを行う。Claudeの報告をQA合格の根拠にせず、この引き渡しを進行全体の終了と扱わない。
12
12
 
@@ -23,8 +23,8 @@ Linear MCPで扱えない画面操作(添付、並べ替え、Cycleへの紐
23
23
  | 工程 | 状態キー | 内容と次へ進む条件 |
24
24
  | --- | --- | --- |
25
25
  | 着手 | `ready` | Readyと依存を確認し、作業先設定を読み、通常設定の `review_flow` から経路と必要な許可(auto: `claude_cli`、manual: `bridge_request`)を確定する。checkout・branch・HEAD・既存差分を固定し、体制判断の材料を添えてClaudeへ依頼する。通常設定がautoでmanualのパス別ルールがあれば、起こり得る停止([経路](configuration.md#経路))を依頼に書く |
26
- | 実装 | `coding`, `local_agent_qa` | Claudeのメインが初期体制を決めて報告し、`shinaps:dev-claude` で実装・検証・独立レビューを行い、未コミット差分・単位案・予定差分・判定記録を返す。CodexがLocal Agent QA(判定記録と経路の整合を含む)を行い、不合格なら同じsessionへ戻す |
27
- | 差分確定 | `code_review` | QA合格後、Codexが実効flow・判定記録・QA結果を同じsessionへ渡し、Claudeが `shinaps:commit` を行う。autoは単位ごとに独立レビュー後にcommitする。manualは退避・stage・提示、相談・修正、人の明示承認の後にcommitする。Codexは各コミットの単位照合と全体照合を行う。差分確定中の修正は単位の目的・範囲内に限り、超えるものは実装へ戻す。差分確定で差分が変わったIssueは、確定後にCodexのAgent QAを必須にする(公開確認のpush前の最終Agent QAで兼ねてよい) |
26
+ | 実装 | `coding`, `local_agent_qa` | Claudeのメインが初期体制を決めて報告し、`shinaps:dev-claude` で実装・検証・独立レビューを行い、未コミット差分・単位案・予定差分・判定記録を返す。manualでは人へユーザーのレビュー待ちと明示する。CodexがLocal Agent QA(判定記録と経路の整合を含む)を行い、不合格なら同じsessionへ戻す |
27
+ | 差分確定 | `code_review` | QA合格後、Codexが実効flow・判定記録・QA結果を同じsessionへ渡し、Claudeが `shinaps:commit` を行う。autoは単位ごとに独立レビュー後にcommitする。manualではCodexはcommitを依頼せず、渡した後は報告を待つ。人のコミット開始依頼でClaudeが分割案を示し、人が単位ごとに依頼したcommitを行う。Codexは各コミットの単位照合と全体照合を行う。差分確定中の修正は単位の目的・範囲内に限り、超えるものは実装へ戻す。差分確定で差分が変わったIssueは、確定後にCodexのAgent QAを必須にする(公開確認のpush前の最終Agent QAで兼ねてよい) |
28
28
  | 公開確認 | `post_commit`, `staging_agent_qa`, `staging_human_qa`, `release`, `production_agent_qa`, `production_human_qa` | 受入条件と許可に応じて必要なものだけ行う: push前の最終Agent QA、push・PR作成、環境配備とStaging/ProductionのAgent QA、必要なHuman QA、merge・配備・公開。適用しない項目は理由を記録する |
29
29
  | 結果報告 | (状態キーなし) | 結果・証拠・省略した工程と理由・残項目をIssueへ記録し、終了地点に到達する。必須受入条件をすべて満たしたIssueは `done` にする |
30
30
 
@@ -60,7 +60,7 @@ Linear MCPで扱えない画面操作(添付、並べ替え、Cycleへの紐
60
60
  | Codexから許可範囲と受入条件を伴う実装・修正の依頼を受けた | Claudeは人へ着手を再確認せず、指定されたスキルで実行する |
61
61
  | devの入口の中で計画上の判断が必要になった | autoはClaudeがresultでCodexへ相談し、Codexは既存の合意で判断できれば回答する。manualはClaudeが人へ直接確認し、決定を報告する |
62
62
  | QAで受入条件の範囲内の不具合が見つかった | Codexが同じClaude sessionへ修正を依頼し、Claudeは人の着手許可を改めて取らずに修正する。Codexが再検証する |
63
- | ClaudeがCLIのresultでcommitの完了を、またはBridgeで人の承認とcommitの完了を報告した | Codexは人に同じ事実を聞き直さず、報告の対象とGitの状態を照合して次の工程へ進む |
63
+ | ClaudeがCLIのresultでcommitの完了を、またはBridgeで人の依頼によるcommitの完了を報告した | Codexは人に同じ事実を聞き直さず、報告の対象とGitの状態を照合して次の工程へ進む |
64
64
  | 次の操作の継続的な許可があり、必要な工程の結果が揃った | Codexは「進めてもよいか」を再質問せずに実行する |
65
65
  | Cycle全体を任され、対象Issueが設定された終了地点に達した | Codexは開始時に確定した対象と順序を照合し、その範囲の次のIssueへ進む |
66
66
 
@@ -72,9 +72,9 @@ Linear MCPで扱えない画面操作(添付、並べ替え、Cycleへの紐
72
72
 
73
73
  1. Claudeは成果引き渡しに、モードによらず自然な責務で決めたコミット単位案と予定差分を含める。CodexはLocal Agent QAで対象を検証し、単位案が依頼全体を漏れなく覆い対象外変更を含まないことと、各単位の[判定記録](configuration.md#判定記録と変更時の扱い)を確認する。依頼の比較元と全体差分も最終照合用に記録する。判定記録に経路と異なるmanual単位があれば、差分確定の依頼前に[経路](configuration.md#経路)に従って人へ確認する。
74
74
  2. QA合格後、Codexは実効flow・単位の判定記録・QA結果を同じClaude sessionへ渡す。Claudeは設定・予定差分・合意根拠を照合する。
75
- 3. Claudeは `commit` に従う。autoでは独立レビュー後にClaudeがstage・commitする。manualでは単位外を安全に退避して単位をstage・提示し、人と修正を相談し、人がその単位を承認した後にClaudeがcommitする。各コミット直前・作成後の実差分と確定した予定単位を照合し、予定単位・SHA・検証・レビュー・承認記録・復元結果をCodexへ返す。
75
+ 3. Claudeは `commit` に従う。autoでは独立レビュー後にClaudeがstage・commitする。manualでは人のコミット開始依頼で分割案を示し、人がその単位のコミットを依頼したら単位外を安全に退避して単位をstage・検証し、Claudeがcommitする。各コミット直前・作成後の実差分と確定した予定単位を照合し、予定単位・SHA・検証・レビュー・依頼記録・復元結果をCodexへ返す。
76
76
  4. 全単位完了後、Codexは各コミットの単位照合結果を実差分で独立確認したうえで、依頼の比較元からの全体差分が、`commit` の手順で正当な人の修正を反映した確定済みの全体期待差分と一致し、対象の未コミット変更が残っていないことを照合する。最終差分だけでは途中で混入し後で相殺された対象外変更を検出できないため、単位照合を省かない。人レビューを省略した単位は、上の省略記録を完成させる。
77
- 5. 単位の組み替え・内容・設定の変更は[変更時の扱い](configuration.md#判定記録と変更時の扱い)に従って再判定し、必要なレビュー・許可確認・検証へ戻す。承認後のcommit(または人自身のcommit)の後は、`commit` に従って正当な修正と元の予定差分の対応を記録し、確定単位に更新する。確定単位と実コミットに不一致があれば次工程を止め、SHA・予定差分・実差分の違いを記録して人に確認する。履歴を無断で書き換えない。
77
+ 5. 単位の組み替え・内容・設定の変更は[変更時の扱い](configuration.md#判定記録と変更時の扱い)に従って再判定し、必要なレビュー・許可確認・検証へ戻す。人の依頼によるcommit(または人自身のcommit)の後は、`commit` に従って正当な修正と元の予定差分の対応を記録し、確定単位に更新する。確定単位と実コミットに不一致があれば次工程を止め、SHA・予定差分・実差分の違いを記録して人に確認する。履歴を無断で書き換えない。
78
78
 
79
79
  ## 待ち状態
80
80
 
@@ -90,13 +90,13 @@ manual経路の依頼・報告と、別会話との任意の進行の引き渡
90
90
 
91
91
  ## 人への依頼
92
92
 
93
- manualの単位の提示・相談・承認は、WebStorm内の対話Claude Codeセッションで[manualの差分提示と単位承認](../human-review.md)に従って行う。
93
+ manualの差分レビュー・相談・コミットの依頼は、WebStormの差分表示と対話Claude Codeセッションで[manualのレビュー待ちと単位ごとのコミット](../human-review.md)に従って行う。
94
94
 
95
95
  会話でIssueリンクと必要な作業を明示し、ステータスの変更だけで依頼を済ませない。
96
96
 
97
97
  | 依頼 | 文例 |
98
98
  | --- | --- |
99
- | manualの単位レビュー | できるようになったことと重点確認点を添えて「[Issueリンク]の単位レビュー・承認を、WebStormのClaude Codeセッションでお願いします。」 |
99
+ | manualのレビュー | できるようになったことと重点確認点を添えて「[Issueリンク]の差分をWebStormでレビューし、コミットはWebStormのClaude Codeセッションで依頼してください。」 |
100
100
  | Human QA | 「[Issueリンク]のHuman QAをお願いします。」 |
101
101
  | 外部対応 | 「[Issueリンク]の〇〇をお願いします。」 |
102
102
 
@@ -0,0 +1,59 @@
1
+ # Claude Managed Agents の設定
2
+
3
+ 作業先リポジトリの `.shinaps/managed.json` に置く。`config_version: 1` のJSONで、[JSON Schema](configuration.schema.json)を契約の正本とする。
4
+
5
+ 設定が持つのは、共通定義のコピーの置き場所・対象リポジトリ・GitHub MCP の資格情報を登録した vault だけである。許可・予算・Issueの範囲・base と head・終了条件は呼び出しのたびに利用者と合意して決め、設定には書かない。lead・役割・環境のリソース ID は lock から読み、設定には書かない。vault は lock に記録されないため、`vault_id` だけを設定に持つ。秘密値は書かない。schema は未知のキーを拒否するので、許可や予算などのキーを書いた設定は検証で失敗し、許可や予算として扱われることはない。
6
+
7
+ 認証は `ant` の既存のログイン(利用者本人が `ant auth login` を行う)と環境変数、GitHub MCP は vault の資格情報を使う。
8
+
9
+ ## 配置
10
+
11
+ | パス | 内容 |
12
+ | --- | --- |
13
+ | `.shinaps/managed.json` | この設定 |
14
+ | `<definitions>/agents/`・`environments/`・`skills/` | plugin の `managed-agents/` からコピーした共通定義。テンプレートの所有で、更新時は丸ごと置き換える |
15
+ | `<definitions>/claude-lock.json` | `ant apply` が記録するクラウド上のリソースの ID と版 |
16
+
17
+ いずれも Git 対象外にする。`.shinaps/.gitignore` が `*` で始まる場合は追加の設定なしで除外される。書き込む前に `git check-ignore --no-index -v <パス>` で除外を確認する。除外されていなければ、[導入の手順](setup.md#1-設定を読む)に従って既存の規則と共有例外を保ったまま `.shinaps/.gitignore` に必要な行だけを加えてから書き込む(新規作成の内容は[作業記録の共通手順](../work-records.md)と同じ)。`<definitions>` をリポジトリの外に置く場合は Git の対象にならないので、この確認は `.shinaps/managed.json` だけに行う。
18
+
19
+ ## 項目
20
+
21
+ 全項目が必須で、`$schema` だけは省略できる。
22
+
23
+ | キー | 内容 |
24
+ | --- | --- |
25
+ | `$schema` | 任意のエディタ補助。CLI はこの URL を取得しない |
26
+ | `config_version` | `1` |
27
+ | `definitions` | 共通定義のコピーと lock を置くディレクトリ。リポジトリのルートからの相対パス、または絶対パス。clone のやり直し・worktree・`git clean` の影響を避けたい場合は、リポジトリの外の絶対パスにする。同じマシンの同じ組織で複数のリポジトリから使う場合は、全リポジトリの `definitions` に同じ絶対パスを指定し、lock を 1 つにする。別のマシンでは[lock の扱い](#lock-の扱い)に従う |
28
+ | `repository.url` | セッションにマウントする GitHub リポジトリの URL |
29
+ | `repository.mount_path` | セッション内のマウント先(例 `/workspace/widgets`) |
30
+ | `vault_id` | GitHub MCP の資格情報を登録した vault の ID。未登録なら `null` |
31
+
32
+ ## 検証
33
+
34
+ 利用中の skill と同じ版の `@shinaps/skills` を導入し、`shinaps-skills validate-managed-config <明示ファイル>` で検証する。ローカル開発では `node bin/skills.ts validate-managed-config <file>` を使える。CLI は指定された一つのJSONを同梱 schema で検証し、ネットワーク取得・設定の探索・Git 操作・入力の変更はしない。成功は構造が正しいことだけを表し、lock や vault がクラウドに存在することは保証しない。
35
+
36
+ `config_version` が欠落または旧版なら setup で作り直し、未来版なら skill と CLI を更新する。
37
+
38
+ ## 設定例
39
+
40
+ ```json
41
+ {
42
+ "$schema": "https://cdn.jsdelivr.net/npm/@shinaps/skills@0.34.0/plugins/shinaps-claude/references/managed/configuration.schema.json",
43
+ "config_version": 1,
44
+ "definitions": ".shinaps/managed",
45
+ "repository": {
46
+ "url": "https://github.com/acme/widgets",
47
+ "mount_path": "/workspace/widgets"
48
+ },
49
+ "vault_id": null
50
+ }
51
+ ```
52
+
53
+ ## lock の扱い
54
+
55
+ - `<definitions>/claude-lock.json` がクラウド上の lead・役割・skill・環境の ID の正本である。`ant apply` が作成・更新するので手で編集しない。
56
+ - lock のキーは lock のあるディレクトリからの相対パス(例 `./agents/shinaps-dev-managed-cc.md`)である。共通定義を同じ構造で `<definitions>` 直下に置くので、そこで適用すると既存のリソースに対応づく。
57
+ - lead の ID は `./agents/shinaps-dev-managed-cc.md`、環境の ID は `./environments/shinaps-dev.yaml` の `id` から読む。
58
+ - lock が無いと適用は既存のリソースと対応づかず、同じ名前のリソースを重複して作る。lock の `hash` は既存のリソースから作り直せないため、バックアップや以前の置き場所から戻す。見つからなければ適用せず、利用者に相談する。
59
+ - 適用の前後に lock を作業記録(`.shinaps/work/`)へ複製し、適用後の差分を比べる。
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://cdn.jsdelivr.net/npm/@shinaps/skills@0.34.0/plugins/shinaps-claude/references/managed/configuration.schema.json",
4
+ "title": "Shinaps Managed Agents configuration v1",
5
+ "type": "object",
6
+ "properties": {
7
+ "$schema": {
8
+ "type": "string"
9
+ },
10
+ "config_version": {
11
+ "type": "integer",
12
+ "const": 1
13
+ },
14
+ "definitions": {
15
+ "type": "string",
16
+ "minLength": 1
17
+ },
18
+ "repository": {
19
+ "type": "object",
20
+ "properties": {
21
+ "url": {
22
+ "type": "string",
23
+ "minLength": 1
24
+ },
25
+ "mount_path": {
26
+ "type": "string",
27
+ "minLength": 1
28
+ }
29
+ },
30
+ "required": ["url", "mount_path"],
31
+ "additionalProperties": false
32
+ },
33
+ "vault_id": {
34
+ "anyOf": [
35
+ {
36
+ "type": "string",
37
+ "minLength": 1
38
+ },
39
+ {
40
+ "type": "null"
41
+ }
42
+ ]
43
+ }
44
+ },
45
+ "required": ["config_version", "definitions", "repository", "vault_id"],
46
+ "additionalProperties": false
47
+ }
@@ -0,0 +1,116 @@
1
+ # Managed Agents への依頼と観測
2
+
3
+ 作業先の設定を読み、Claude Managed Agents の lead `shinaps-dev-managed-cc` へ dev を依頼し、進み具合の観測・質問の取り次ぎ・成果物と draft PR の確認を行う手順。計画・実装・レビューの工程と体制は lead が [skill `dev-managed-cc`](../../managed-agents/skills/dev-managed-cc/SKILL.md) に従って決めるので、ここでは指示しない。
4
+
5
+ ## 呼び出し時に合意する入力
6
+
7
+ 設定からは読まず、依頼のたびに利用者と合意する。
8
+
9
+ - 必須: base ブランチとその SHA、head ブランチ、範囲と受入条件、許可(commit・head への push・draft PR の作成のうち明示されたもの)、予算(USD のセント単位)
10
+ - 任意: 必須検証のコマンド、コミットの author、利用者 CLAUDE.md の添付
11
+
12
+ 設定から読むのは `definitions`(lock の場所)・`repository`・`vault_id` だけで、lead と環境の ID は lock から読む([設定](configuration.md))。許可と予算は合意した内容だけで、会話の途中で増やさない。
13
+
14
+ ## 1. 前提を確かめる
15
+
16
+ - `.shinaps/managed.json` を CLI で検証する。
17
+ - `<definitions>/claude-lock.json` が無ければ止める。setup へ自動で進まない。
18
+ - `ant auth status` を確かめ、lock の `origin.workspace_id` と一致することを確かめる。複数のワークスペースで使える資格情報では各コマンドに `--workspace-id` を付ける。
19
+ - `vault_id` が `null` で、許可に draft PR の作成が含まれる場合は、セッションを作る前に止めて利用者に確認する。draft PR の作成を含まない依頼だけは続けられる。
20
+
21
+ ## 2. セッションを作る
22
+
23
+ 合意済みの依頼があるときだけ作る。この手順を読んだことを理由に作らない。
24
+
25
+ GitHub の token は対象リポジトリだけに限った fine-grained token にし、Contents と Pull requests の write だけを許可する。merge できるかは GitHub のブランチ保護で決まるので、base を保護しておく。token は `read -rs` で画面に出さずに受け取り、サンドボックス・作業記録・チャットに書かない。
26
+
27
+ 次はひな形で、`<...>` を設定と合意した入力で埋める。`vault_id` が `null` なら `--vault-id` の行を除く。
28
+
29
+ ```sh
30
+ LOCK=<definitions>/claude-lock.json
31
+ LEAD_ID=$(jq -r '.resources["./agents/shinaps-dev-managed-cc.md"].id' "$LOCK")
32
+ ENV_ID=$(jq -r '.resources["./environments/shinaps-dev.yaml"].id' "$LOCK")
33
+ read -rs GITHUB_TOKEN # 画面に表示せずに入力する
34
+ ant beta:sessions create --beta managed-agents-2026-04-01 \
35
+ --agent "$LEAD_ID" \
36
+ --environment-id "$ENV_ID" \
37
+ --vault-id <vault_id> \
38
+ --title "<作業名>" <<YAML
39
+ budget: {type: limit, max_list_cost: {amount: "<セント単位の金額。4000 は 40 USD>", currency: USD}}
40
+ resources:
41
+ - type: github_repository
42
+ url: <repository.url>
43
+ mount_path: <repository.mount_path>
44
+ authorization_token: "$GITHUB_TOKEN"
45
+ checkout: {type: commit, sha: <base の SHA>}
46
+ initial_events:
47
+ - type: user.message
48
+ content:
49
+ - type: text
50
+ text: |
51
+ リポジトリ: <repository.url>(マウント先 <repository.mount_path>)
52
+ base: <ブランチ> @ <SHA>
53
+ head: <ブランチ名>
54
+ 範囲と受入条件: <内容>
55
+ 許可: <commit・headへのpush・draft PRの作成のうち許可するもの>
56
+ 予算: <金額>
57
+ 必須検証(任意): <コマンド。省略時はリポジトリの規約に従う>
58
+ author(任意): <name> <email>
59
+ YAML
60
+ unset GITHUB_TOKEN
61
+ ```
62
+
63
+ - `checkout` は base の SHA にする。比較元が必ずチェックアウトされ、head ブランチが無ければ lead がそこから作る。
64
+ - 利用者 CLAUDE.md を渡す場合は `ant files upload --file <パス>` で上げ、`resources` に `{type: file, file_id: <ID>, mount_path: /CLAUDE.md}` を加える(`/mnt/session/uploads/CLAUDE.md` に置かれる)。
65
+
66
+ ## 3. 観測する
67
+
68
+ - `ant beta:sessions:events stream --session-id <ID> --beta managed-agents-2026-04-01` で進行を追う。途中から見る場合は `ant beta:sessions:events list --session-id <ID> --beta managed-agents-2026-04-01` を使う。
69
+ - セッションの状態は `ant beta:sessions retrieve --session-id <ID> --beta managed-agents-2026-04-01` で確かめる。
70
+ - lead のターンの最後の `agent.message` の1行目が `状態: 完了`・`状態: 質問`・`状態: 未完了` のどれかを読む。
71
+
72
+ ## 4. 質問を取り次ぐ
73
+
74
+ - `状態: 質問` なら、質問を一問ずつ利用者へ伝える。
75
+ - 回答は `ant beta:sessions:events send` に、API の本文と同じ形の JSON を標準入力で渡して返す。`events` 配列に `user.message` を1件入れ、本文は `text` ブロックにする([Send Events](https://platform.claude.com/docs/en/api/beta/sessions/events/send) の本文と同じ構造)。
76
+
77
+ ```sh
78
+ ant beta:sessions:events send --session-id <ID> --beta managed-agents-2026-04-01 <<'JSON'
79
+ {
80
+ "events": [
81
+ {
82
+ "type": "user.message",
83
+ "content": [
84
+ { "type": "text", "text": "<質問への回答>" }
85
+ ]
86
+ }
87
+ ]
88
+ }
89
+ JSON
90
+ ```
91
+
92
+ 同じ内容は `--event.type user.message --event.content '<content の JSON 配列>'` のフラグでも渡せる。回答の送信は、依頼が進行中のセッションに対してだけ行う。
93
+ - 回答で新しい許可・予算を加えない。必要なら新しい依頼として合意し直す。
94
+ - `user.tool_confirmation` は利用者の明示の指示なしに送らない。
95
+
96
+ ## 5. 成果物を確かめる
97
+
98
+ 確かめる対象は、lead の最終報告の `出力:`・`コミット:`・`PR:` の行にある成果物だけにする。許可に push や draft PR の作成を含めない依頼では、remote の head ブランチや PR は存在しないので、出力ファイルだけを確かめる。
99
+
100
+ - 出力ファイル(`changes.patch` と作業記録の tar)は、セッションに紐づく Files から取得する。`ant beta:files list --scope-id <セッションの ID> --beta managed-agents-2026-04-01` で一覧を取り、`ant beta:files download --file-id <ID> --beta managed-agents-2026-04-01 --output <保存先>` で保存する。保存したサイズを一覧の metadata と比べる。複数のワークスペースで使える資格情報では `--workspace-id` を付ける。
101
+ - `changes.patch` は作業先で `git apply --check` するか、合意した base の SHA に対して適用して、範囲と受入条件に対する差分を確かめる。
102
+ - `コミット:` と push 先がある場合は `git fetch origin <head>` で head ブランチを取得し、base の SHA からのコミットと差分を確かめる。
103
+ - `PR:` がある場合は `gh pr view <PR の URL> --json isDraft,baseRefName,headRefName` または GitHub MCP の読み取りで、draft であること・base と head が合意どおりであることを確かめる。
104
+ - `ant beta:sessions connect <セッションの ID> --web --no-browser` でも内容を閲覧できるが、この画面からはメッセージ送信やツールの承認もできるので、観測目的では操作しない。
105
+
106
+ ## 6. 終了する
107
+
108
+ 状態行、取得した出力ファイル、コミット、push 先、PR の URL、未検証の事項を報告する。merge・deploy・release・Issue の更新・セッションのアーカイブは行わない。QA は呼び出し元が別に行う。
109
+
110
+ ## 未検証の境界
111
+
112
+ - マウントしたリポジトリの remote へ `git push` できるか(`authorization_token` が push に使われるか)。最初のセッションで最優先に確かめ、できなければ GitHub MCP の push 用ツール(`create_branch`・`push_files`)を有効にするかを利用者と相談する。
113
+ - commit をチェックアウトしてマウントした作業先から、origin の head ブランチを取得できるか(clone の深さと fetch の資格情報)。
114
+ - GitHub MCP で draft PR を作れるか。`draft: true` は lead への指示でしか担保されない。
115
+ - vault に資格情報を登録できたことは、上の3点の確認にならない。
116
+ - `events send` による回答の送信は、本文の構造を API 仕様で確かめただけで、実際のセッションではまだ送っていない。出力ファイルの一覧と取得は既存のセッションで確かめた。