@shinaps/skills 0.36.1 → 0.38.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.
Files changed (78) hide show
  1. package/README.md +46 -35
  2. package/dist/bin/skills.js +4 -1
  3. package/dist/lib/config-validation.js +2 -1
  4. package/dist/lib/install.js +1 -0
  5. package/dist/lib/layout.js +12 -0
  6. package/dist/lib/linear-config.js +2 -2
  7. package/dist/lib/managed-ant.js +70 -0
  8. package/dist/lib/managed-config.js +6 -6
  9. package/dist/lib/managed-session.js +274 -0
  10. package/dist/lib/managed-setup.js +167 -0
  11. package/dist/lib/managed.js +249 -0
  12. package/package.json +1 -1
  13. package/plugins/shinaps-claude/.claude-plugin/plugin.json +1 -1
  14. package/plugins/shinaps-claude/agents/shinaps-architect.md +35 -55
  15. package/plugins/shinaps-claude/agents/shinaps-explorer.md +5 -5
  16. package/plugins/shinaps-claude/agents/shinaps-plan-reviewer.md +16 -5
  17. package/plugins/shinaps-claude/agents/shinaps-refine-agent.md +2 -2
  18. package/plugins/shinaps-claude/agents/shinaps-reviewer.md +43 -9
  19. package/plugins/shinaps-claude/agents/shinaps-simplifier.md +1 -1
  20. package/plugins/shinaps-claude/managed-agents/agents/shinaps-architect.md +35 -55
  21. package/plugins/shinaps-claude/managed-agents/agents/shinaps-dev-managed-cc.md +6 -6
  22. package/plugins/shinaps-claude/managed-agents/agents/shinaps-plan-reviewer.md +16 -5
  23. package/plugins/shinaps-claude/managed-agents/agents/shinaps-reviewer.md +43 -9
  24. package/plugins/shinaps-claude/managed-agents/skills/dev-managed-cc/SKILL.md +3 -2
  25. package/plugins/shinaps-claude/managed-agents/skills/dev-managed-cc/references/design.md +37 -0
  26. package/plugins/shinaps-claude/managed-agents/skills/dev-managed-cc/references/launch.md +4 -4
  27. package/plugins/shinaps-claude/managed-agents/skills/dev-managed-cc/references/staffing.md +15 -17
  28. package/plugins/shinaps-claude/managed-agents/skills/dev-managed-cc/references/workflow.md +43 -29
  29. package/plugins/shinaps-claude/references/dev/design.md +37 -0
  30. package/plugins/shinaps-claude/references/dev/launch.md +1 -1
  31. package/plugins/shinaps-claude/references/dev/staffing.md +19 -19
  32. package/plugins/shinaps-claude/references/dev/workflow.md +56 -45
  33. package/plugins/shinaps-claude/references/human-review.md +1 -1
  34. package/plugins/shinaps-claude/references/linear/configuration.md +2 -2
  35. package/plugins/shinaps-claude/references/linear/execution.md +1 -1
  36. package/plugins/shinaps-claude/references/linear/workflow.md +3 -3
  37. package/plugins/shinaps-claude/references/managed/configuration.md +55 -30
  38. package/plugins/shinaps-claude/references/managed/configuration.schema.json +27 -17
  39. package/plugins/shinaps-claude/references/managed/execute.md +38 -74
  40. package/plugins/shinaps-claude/references/managed/setup.md +27 -39
  41. package/plugins/shinaps-claude/skills/commit/SKILL.md +1 -1
  42. package/plugins/shinaps-claude/skills/dev-claude/SKILL.md +3 -3
  43. package/plugins/shinaps-claude/skills/managed-execute/SKILL.md +6 -6
  44. package/plugins/shinaps-claude/skills/managed-setup/SKILL.md +6 -7
  45. package/plugins/shinaps-codex/.codex-plugin/plugin.json +1 -1
  46. package/plugins/shinaps-codex/agents/shinaps-reviewer.toml +1 -1
  47. package/plugins/shinaps-codex/managed-agents/agents/shinaps-architect.md +35 -55
  48. package/plugins/shinaps-codex/managed-agents/agents/shinaps-dev-managed-cc.md +6 -6
  49. package/plugins/shinaps-codex/managed-agents/agents/shinaps-plan-reviewer.md +16 -5
  50. package/plugins/shinaps-codex/managed-agents/agents/shinaps-reviewer.md +43 -9
  51. package/plugins/shinaps-codex/managed-agents/skills/dev-managed-cc/SKILL.md +3 -2
  52. package/plugins/shinaps-codex/managed-agents/skills/dev-managed-cc/references/design.md +37 -0
  53. package/plugins/shinaps-codex/managed-agents/skills/dev-managed-cc/references/launch.md +4 -4
  54. package/plugins/shinaps-codex/managed-agents/skills/dev-managed-cc/references/staffing.md +15 -17
  55. package/plugins/shinaps-codex/managed-agents/skills/dev-managed-cc/references/workflow.md +43 -29
  56. package/plugins/shinaps-codex/references/dev/design.md +37 -0
  57. package/plugins/shinaps-codex/references/dev/staffing.md +19 -19
  58. package/plugins/shinaps-codex/references/dev/workflow.md +56 -45
  59. package/plugins/shinaps-codex/references/human-review.md +1 -1
  60. package/plugins/shinaps-codex/references/linear/configuration.md +2 -2
  61. package/plugins/shinaps-codex/references/linear/execution.md +1 -1
  62. package/plugins/shinaps-codex/references/linear/workflow.md +3 -3
  63. package/plugins/shinaps-codex/references/managed/configuration.md +55 -30
  64. package/plugins/shinaps-codex/references/managed/configuration.schema.json +27 -17
  65. package/plugins/shinaps-codex/references/managed/execute.md +38 -74
  66. package/plugins/shinaps-codex/references/managed/setup.md +27 -39
  67. package/plugins/shinaps-codex/skills/managed-execute/SKILL.md +6 -6
  68. package/plugins/shinaps-codex/skills/managed-setup/SKILL.md +6 -7
  69. package/plugins/shinaps-claude/agents/shinaps-implementer.md +0 -34
  70. package/plugins/shinaps-claude/agents/shinaps-review-verifier.md +0 -30
  71. package/plugins/shinaps-claude/managed-agents/agents/shinaps-implementer.md +0 -37
  72. package/plugins/shinaps-claude/managed-agents/agents/shinaps-refine-agent.md +0 -88
  73. package/plugins/shinaps-claude/managed-agents/agents/shinaps-review-verifier.md +0 -38
  74. package/plugins/shinaps-claude/managed-agents/agents/shinaps-simplifier.md +0 -44
  75. package/plugins/shinaps-codex/managed-agents/agents/shinaps-implementer.md +0 -37
  76. package/plugins/shinaps-codex/managed-agents/agents/shinaps-refine-agent.md +0 -88
  77. package/plugins/shinaps-codex/managed-agents/agents/shinaps-review-verifier.md +0 -38
  78. package/plugins/shinaps-codex/managed-agents/agents/shinaps-simplifier.md +0 -44
@@ -1,59 +1,84 @@
1
- # Claude Managed Agents の設定
1
+ # Claude Managed Agents の設定とアカウント
2
2
 
3
- 作業先リポジトリの `.shinaps/managed.json` に置く。`config_version: 1` のJSONで、[JSON Schema](configuration.schema.json)を契約の正本とする。
3
+ Managed Agents は配布CLI `shinaps-skills managed` で導入・依頼・観測・回収する([導入](setup.md)・[依頼と観測](execute.md))。CLI は利用中の skill と同じ版の `@shinaps/skills` を使う。クラウドの操作は公式の `ant` CLI(2.4.0 以上)へ委ね、CLI は PATH 上の `ant` を呼ぶ。CLI が使うコマンド・フラグ・stdin の本文・出力の形は、ant 2.4.0 の公式ソースで照合した(実行は未確認。[未検証の境界](execute.md#未検証の境界))。
4
4
 
5
- 設定が持つのは、共通定義のコピーの置き場所・対象リポジトリ・GitHub MCP の資格情報を登録した vault だけである。許可・予算・Issueの範囲・base と head・終了条件は呼び出しのたびに利用者と合意して決め、設定には書かない。lead・役割・環境のリソース ID は lock から読み、設定には書かない。vault は lock に記録されないため、`vault_id` だけを設定に持つ。秘密値は書かない。schema は未知のキーを拒否するので、許可や予算などのキーを書いた設定は検証で失敗し、許可や予算として扱われることはない。
5
+ ## アカウント
6
6
 
7
- 認証は `ant` の既存のログイン(利用者本人が `ant auth login` を行う)と環境変数、GitHub MCP は vault の資格情報を使う。
7
+ アカウントは、APIキー1つが属する組織・workspace に利用者が付ける名前で、英小文字・数字と単独のハイフン(`^[a-z0-9]+(-[a-z0-9]+)*$`)にする。同じマシンでは、同じ名前は常に同じ組織・workspace を表すようにする。lock がアカウント名で引かれるので、別の組織に同じ名前を使うと別の組織の lock で適用しようとする(`ant apply` は lock と違う組織・workspace の資格情報を拒否して止まる)。
8
8
 
9
- ## 配置
9
+ ### APIキー
10
+
11
+ コマンドごとに、各アカウントのキーを次のどちらかで渡す。
12
+
13
+ - 環境変数 `SHINAPS_MANAGED_API_KEY_<NAME>`(`<NAME>` はアカウント名の英大文字で、`-` は `_`。例 `work-us` → `SHINAPS_MANAGED_API_KEY_WORK_US`)。推奨。
14
+ - 引数 `--api-key <name>=<key>`(環境変数より優先)。引数は同じマシンの他のプロセスやシェルの履歴から見えるので、共有のマシンでは使わない。
15
+
16
+ CLI はキーを保存せず、出力とエラー文では伏字にする。`ant` へは子プロセスの環境変数 `ANTHROPIC_API_KEY` だけで渡し、親の `ANTHROPIC_*`(別のキー・`ant auth login` のプロファイル・workspace の指定)と他アカウントのキーは子へ渡さない。workspace をまたげる資格情報(`--workspace-id` が必要なもの)は扱わないので、workspace に属するキーを使う。
17
+
18
+ ### アカウントの状態
19
+
20
+ 各アカウントの状態は、マシン単位の管理ディレクトリ `~/.local/share/shinaps-ai/skills/managed/<account>/` に置く。lock は組織・workspace に属し、リポジトリには属さないため。複数のリポジトリから同じアカウントを使っても lock は1つになり、clone のやり直し・worktree・`git clean` で失われない。
10
21
 
11
22
  | パス | 内容 |
12
23
  | --- | --- |
13
- | `.shinaps/managed.json` | この設定 |
14
- | `<definitions>/agents/`・`environments/`・`skills/` | plugin の `managed-agents/` からコピーした共通定義。テンプレートの所有で、更新時は丸ごと置き換える |
15
- | `<definitions>/claude-lock.json` | `ant apply` が記録するクラウド上のリソースの ID と版 |
24
+ | `definitions/agents/`・`environments/`・`skills/` | 同梱の共通定義の写し。setup が同梱の定義に揃える |
25
+ | `definitions/claude-lock.json` | `ant apply` が記録するクラウド上の lead・役割・skill・環境の ID と版。setup は読むだけで書き換えない。手で編集しない |
26
+ | `definitions.json` | setup が最後に書いた共通定義の各ファイルのハッシュ。利用者の変更の検出に使う |
27
+ | `sessions/<request_id>.json` | このアカウントで作ったセッションの記録(入力と session ID。秘密値は含まない) |
28
+ | `sessions/<session_id>/outputs/` | 回収した出力ファイル |
29
+ | `update.lock` | 同じアカウントの setup・run を同時に1つにする排他(`ant apply` は lock を排他しないため) |
30
+
31
+ `definitions/` には同梱の共通定義と lock だけを置き、共通定義を手で編集しない。適用はディレクトリ内の定義をすべて送るため。利用者が加えた定義の変更は導入に取り込まない(クラウドへ持ち越さない)。setup は、自分が最後に書いた内容か今回書く内容と一致するファイルだけを書き換え・削除する。利用者の編集・追加、記録の無い既存のファイル(旧版の定義ごと複写した場合など)、通常のファイル・ディレクトリ以外のもの、ほかの項目が一つでもあれば、何も変えずにそのアカウントを失敗にし、該当するパスを示す。それらを `definitions/` の外へ退避してから(lock は残す)再実行すると、同梱の定義を書き直して進む。消えた共通定義のファイルは書き直す。
32
+
33
+ ## lock の扱い
16
34
 
17
- いずれも Git 対象外にする。`.shinaps/.gitignore` が `*` で始まる場合は追加の設定なしで除外される。書き込む前に `git check-ignore --no-index -v <パス>` で除外を確認する。除外されていなければ、[導入の手順](setup.md#1-設定を読む)に従って既存の規則と共有例外を保ったまま `.shinaps/.gitignore` に必要な行だけを加えてから書き込む(新規作成の内容は[作業記録の共通手順](../work-records.md)と同じ)。`<definitions>` をリポジトリの外に置く場合は Git の対象にならないので、この確認は `.shinaps/managed.json` だけに行う。
35
+ - `definitions/claude-lock.json` がクラウド上の ID の正本である。lead の ID は `./agents/shinaps-dev-managed-cc.md`、環境の ID は `./environments/shinaps-dev.yaml` の `id` にある。
36
+ - lock のキーは lock のあるディレクトリからの相対パスである。共通定義を同じ構造で `definitions/` 直下に置き、そこで適用するので、既存のリソースに対応づく。
37
+ - lock が無いと適用は既存のリソースと対応づかず、同じ名前のリソースを重複して作る。lock の `hash` は既存のリソースから作り直せないので、setup は lock が無いアカウントに同名の未アーカイブの lead・役割・環境があれば止まる。バックアップや以前の置き場所から lock を戻して再実行する。見つからなければ適用せず、利用者に相談する。
38
+ - 別のマシンでは lock が無い。同じ組織を別のマシンから導入するときは、元のマシンの lock を同じ名前のアカウントへ複写する。
18
39
 
19
- ## 項目
40
+ ## 作業先の設定(`.shinaps/managed.json`)
20
41
 
21
- 全項目が必須で、`$schema` だけは省略できる。
42
+ `managed run` だけが読む作業先の設定。`config_version: 2` のJSONで、[JSON Schema](configuration.schema.json)を契約の正本とする。持つのは、セッションにマウントするリポジトリと、アカウントごとの GitHub MCP の vault だけである。許可・予算・base と head・範囲・体制は依頼のたびに引数で明示し、設定には書かない。schema は未知のキーを拒否するので、許可や予算のキーを書いた設定は検証で失敗する。lead と環境の ID はアカウントの lock から読む。秘密値は書かない。
22
43
 
23
44
  | キー | 内容 |
24
45
  | --- | --- |
25
46
  | `$schema` | 任意のエディタ補助。CLI はこの URL を取得しない |
26
- | `config_version` | `1` |
27
- | `definitions` | 共通定義のコピーと lock を置くディレクトリ。リポジトリのルートからの相対パス、または絶対パス。clone のやり直し・worktree・`git clean` の影響を避けたい場合は、リポジトリの外の絶対パスにする。同じマシンの同じ組織で複数のリポジトリから使う場合は、全リポジトリの `definitions` に同じ絶対パスを指定し、lock を 1 つにする。別のマシンでは[lock の扱い](#lock-の扱い)に従う |
47
+ | `config_version` | `2` |
28
48
  | `repository.url` | セッションにマウントする GitHub リポジトリの URL |
29
49
  | `repository.mount_path` | セッション内のマウント先(例 `/workspace/widgets`) |
30
- | `vault_id` | GitHub MCP の資格情報を登録した vault の ID。未登録なら `null` |
50
+ | `accounts.<name>.vault_id` | そのアカウントで GitHub MCP の資格情報を登録した vault の ID(vault は組織ごと)。未登録なら `null`。依頼に使うアカウントを全て書く |
31
51
 
32
- ## 検証
52
+ 設定は Git 対象外にする(`.shinaps/.gitignore` が `*` で始まる場合は追加の設定なしで除外される)。書き込む前に `git check-ignore --no-index -v .shinaps/managed.json` で除外を確認し、除外されていなければ既存の規則と共有例外を保ったまま `.shinaps/.gitignore` の末尾に `/managed.json` を加える(新規作成の内容は[作業記録の共通手順](../work-records.md)と同じ)。
33
53
 
34
- 利用中の skill と同じ版の `@shinaps/skills` を導入し、`shinaps-skills validate-managed-config <明示ファイル>` で検証する。ローカル開発では `node bin/skills.ts validate-managed-config <file>` を使える。CLI は指定された一つのJSONを同梱 schema で検証し、ネットワーク取得・設定の探索・Git 操作・入力の変更はしない。成功は構造が正しいことだけを表し、lock や vault がクラウドに存在することは保証しない。
54
+ ### 検証
35
55
 
36
- `config_version` が欠落または旧版なら setup で作り直し、未来版なら skill と CLI を更新する。
56
+ `shinaps-skills validate-managed-config <明示ファイル>` で検証する。ローカル開発では `node bin/skills.ts validate-managed-config <file>` を使える。CLI は指定された一つのJSONを同梱 schema で検証し、ネットワーク取得・設定の探索・Git 操作・入力の変更はしない。成功は構造が正しいことだけを表し、vault やアカウントの lock がクラウドに存在することは保証しない。
37
57
 
38
- ## 設定例
58
+ `config_version` が欠落または旧版なら作り直し、未来版なら skill と CLI を更新する。
59
+
60
+ ### version 1 からの移行
61
+
62
+ version 1 は lock を作業先の `definitions`(既定 `.shinaps/managed/`)に置いていた。
63
+
64
+ 1. 使っていた組織・workspace にアカウント名を決める。
65
+ 2. `<definitions>/claude-lock.json` だけを `~/.local/share/shinaps-ai/skills/managed/<account>/definitions/claude-lock.json` へ移す(複数のリポジトリで同じ `definitions` を共有していた場合も1回でよい)。旧版の `agents/` などは移さない。移すと記録の無いファイルとして setup が止まる。
66
+ 3. 設定を version 2 で作り直す。`definitions` を除き、`vault_id` を `accounts.<account>.vault_id` へ移す。
67
+ 4. `managed setup --account <account>` で計画を確かめる([導入](setup.md))。lock を移し忘れると同名のリソースで止まる。旧版の定義を手で編集していた場合、その変更は持ち越されない。計画に、クラウド上の定義を同梱の定義へ戻す update が含まれることを確かめてから適用する。
68
+
69
+ ### 設定例
39
70
 
40
71
  ```json
41
72
  {
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",
73
+ "$schema": "https://cdn.jsdelivr.net/npm/@shinaps/skills@0.38.0/plugins/shinaps-claude/references/managed/configuration.schema.json",
74
+ "config_version": 2,
45
75
  "repository": {
46
76
  "url": "https://github.com/acme/widgets",
47
77
  "mount_path": "/workspace/widgets"
48
78
  },
49
- "vault_id": null
79
+ "accounts": {
80
+ "personal": { "vault_id": null },
81
+ "work": { "vault_id": "vlt_011CZkZDLs7fYzm1hXNPeRjv" }
82
+ }
50
83
  }
51
84
  ```
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/`)へ複製し、適用後の差分を比べる。
@@ -1,7 +1,7 @@
1
1
  {
2
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",
3
+ "$id": "https://cdn.jsdelivr.net/npm/@shinaps/skills@0.38.0/plugins/shinaps-claude/references/managed/configuration.schema.json",
4
+ "title": "Shinaps Managed Agents configuration v2",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "$schema": {
@@ -9,11 +9,7 @@
9
9
  },
10
10
  "config_version": {
11
11
  "type": "integer",
12
- "const": 1
13
- },
14
- "definitions": {
15
- "type": "string",
16
- "minLength": 1
12
+ "const": 2
17
13
  },
18
14
  "repository": {
19
15
  "type": "object",
@@ -30,18 +26,32 @@
30
26
  "required": ["url", "mount_path"],
31
27
  "additionalProperties": false
32
28
  },
33
- "vault_id": {
34
- "anyOf": [
35
- {
36
- "type": "string",
37
- "minLength": 1
29
+ "accounts": {
30
+ "type": "object",
31
+ "minProperties": 1,
32
+ "propertyNames": {
33
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
34
+ },
35
+ "additionalProperties": {
36
+ "type": "object",
37
+ "properties": {
38
+ "vault_id": {
39
+ "anyOf": [
40
+ {
41
+ "type": "string",
42
+ "minLength": 1
43
+ },
44
+ {
45
+ "type": "null"
46
+ }
47
+ ]
48
+ }
38
49
  },
39
- {
40
- "type": "null"
41
- }
42
- ]
50
+ "required": ["vault_id"],
51
+ "additionalProperties": false
52
+ }
43
53
  }
44
54
  },
45
- "required": ["config_version", "definitions", "repository", "vault_id"],
55
+ "required": ["config_version", "repository", "accounts"],
46
56
  "additionalProperties": false
47
57
  }
@@ -1,118 +1,82 @@
1
1
  # Managed Agents への依頼と観測
2
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) に従って決めるので、ここでは指示しない。
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) に従って決めるので、ここでは指示しない。アカウント・キー・状態の置き場所は[設定とアカウント](configuration.md)に従う。
4
4
 
5
5
  ## 呼び出し時に合意する入力
6
6
 
7
- 設定からは読まず、依頼のたびに利用者と合意する。
7
+ 設定・記録・過去の作業からは推定せず、依頼のたびに利用者と合意して引数で明示する。
8
8
 
9
- - 必須: base ブランチとその SHA、head ブランチ、範囲と受入条件、体制(LITE・BASIC・ULTRA。[体制の選択](../dev/staffing.md)に従い推奨を添えて確認する)、許可(commit・head への push・draft PR の作成のうち明示されたもの)、予算(USD のセント単位)
10
- - 任意: 必須検証のコマンド、コミットの author、利用者 CLAUDE.md の添付
9
+ - 必須: アカウント、base ブランチとその SHA、head ブランチ、範囲と受入条件(ファイル)、体制(LITE・BASIC・ULTRA。[体制の選択](../dev/staffing.md)に従い推奨を添えて確認する)、許可(`none`、または `commit`・`push`・`draft_pr` のうち明示されたもの)、予算(USD のセント単位)
10
+ - 任意: 必須検証のコマンド、コミットの author、セッションの題名、利用者 CLAUDE.md の添付
11
11
 
12
- 設定から読むのは `definitions`(lock の場所)・`repository`・`vault_id` だけで、lead と環境の ID は lock から読む([設定](configuration.md))。許可と予算は合意した内容だけで、会話の途中で増やさない。
12
+ 設定(`.shinaps/managed.json`)から読むのは `repository` とそのアカウントの `vault_id` だけで、lead と環境の ID はアカウントの lock から読む。許可と予算は合意した内容だけで、会話の途中で増やさない。
13
13
 
14
- ## 1. 前提を確かめる
14
+ ## 1. 設定を用意する
15
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 の作成を含まない依頼だけは続けられる。
16
+ `.shinaps/managed.json` が無い、または version 1 なら、`repository`(URL とマウント先)と、使うアカウントの `vault_id` を利用者に一問ずつ確認して version 2 で作る([作業先の設定](configuration.md#作業先の設定shinapsmanagedjson)。version 1 は[移行](configuration.md#version-1-からの移行)のとおり lock も移す)。書き込む前に Git 対象外であることを確かめる。作った設定は `shinaps-skills validate-managed-config` で検証する。
20
17
 
21
- ## 2. セッションを作る
18
+ ## 2. 依頼する
22
19
 
23
20
  合意済みの依頼があるときだけ作る。この手順を読んだことを理由に作らない。
24
21
 
25
- GitHub の token は対象リポジトリだけに限った fine-grained token にし、Contents と Pull requests の write だけを許可する。merge できるかは GitHub のブランチ保護で決まるので、base を保護しておく。token は `read -rs` で画面に出さずに受け取り、サンドボックス・作業記録・チャットに書かない。
26
-
27
- 次はひな形で、`<...>` を設定と合意した入力で埋める。`vault_id` が `null` なら `--vault-id` の行を除く。
22
+ GitHub の token は対象リポジトリだけに限った fine-grained token にし、Contents と Pull requests の write だけを許可する。merge できるかは GitHub のブランチ保護で決まるので、base を保護しておく。token は利用者が環境変数 `SHINAPS_MANAGED_GITHUB_TOKEN` に設定する(例 `read -rs SHINAPS_MANAGED_GITHUB_TOKEN && export SHINAPS_MANAGED_GITHUB_TOKEN`)。CLI はリクエスト本文(stdin)にだけ入れ、保存・表示しない。
28
23
 
29
24
  ```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
- 体制: <LITE|BASIC|ULTRA>
56
- 許可: <commit・headへのpush・draft PRの作成のうち許可するもの>
57
- 予算: <金額>
58
- 必須検証(任意): <コマンド。省略時はリポジトリの規約に従う>
59
- author(任意): <name> <email>
60
- YAML
61
- unset GITHUB_TOKEN
25
+ shinaps-skills managed run .shinaps/managed.json --account <name> \
26
+ --base <branch> --base-sha <SHA> --head <branch> \
27
+ --staffing <LITE|BASIC|ULTRA> --allow <none|commit,push,draft_pr> \
28
+ --budget-cents <セント。4000 は 40 USD> --task-file <範囲と受入条件のファイル> \
29
+ [--verify "<コマンド>"] [--author "<name> <email>"] [--title "<作業名>"] [--claude-md <パス>]
62
30
  ```
63
31
 
64
- - `checkout` は base の SHA にする。比較元が必ずチェックアウトされ、head ブランチが無ければ lead がそこから作る。
65
- - 利用者 CLAUDE.md を渡す場合は `ant files upload --file <パス>` で上げ、`resources` に `{type: file, file_id: <ID>, mount_path: /CLAUDE.md}` を加える(`/mnt/session/uploads/CLAUDE.md` に置かれる)。
32
+ - 設定と引数を検証し、セッションを作る前に次で止まる: `draft_pr` を許可したのにそのアカウントの `vault_id` が `null`、`push` か `draft_pr` を許可したのに token が無い。どちらもセッションを作ってから lead が気づくと予算を消費した後になるため。
33
+ - セッションは lock の lead と環境、そのアカウントの vault、`max_list_cost` の予算、base の SHA をチェックアウトしたリポジトリで作る。head ブランチが無ければ lead が base から作る。初回メッセージにはリポジトリ・base と SHA・head・範囲と受入条件・体制・許可・予算・任意の入力を全て書く。
34
+ - `--claude-md` は `ant beta:files upload` で上げ、`/mnt/session/uploads/CLAUDE.md` に置く。
35
+ - 同じ入力(設定のリポジトリと vault、引数、範囲と CLAUDE.md の本文)の再実行は新しいセッションを作らず、記録したセッションの ID を返す。完了後に同じ範囲で新しく依頼するときは、題名など入力を変える。作成の途中で止まった記録が残っていれば作らずに止まる。表示された metadata `shinaps_request` のセッションがコンソールに無いことを確かめてから、表示された記録を消して再実行する。
66
36
 
67
37
  ## 3. 観測する
68
38
 
69
- - `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` を使う。
70
- - セッションの状態は `ant beta:sessions retrieve --session-id <ID> --beta managed-agents-2026-04-01` で確かめる。
71
- - lead のターンの最後の `agent.message` の1行目が `状態: 完了`・`状態: 質問`・`状態: 未完了` のどれかを読む。
39
+ ```sh
40
+ shinaps-skills managed status --account <name> --session <ID>
41
+ ```
42
+
43
+ セッションの `status`・`usage`(`list_cost` を含む)・`budget` と、lead の最後の `agent.message` の本文と1行目の状態(`完了`・`質問`・`未完了`)を JSON で表示する。扱うのは、そのアカウントで `managed run` が作った記録のあるセッションだけである。
72
44
 
73
45
  ## 4. 質問を取り次ぐ
74
46
 
75
- - `状態: 質問` なら、質問を一問ずつ利用者へ伝える。
76
- - 回答は `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) の本文と同じ構造)。
47
+ - 状態が `質問` なら、質問を一問ずつ利用者へ伝える。
48
+ - 回答はファイルに書き、`user.message` として送る。
77
49
 
78
50
  ```sh
79
- ant beta:sessions:events send --session-id <ID> --beta managed-agents-2026-04-01 <<'JSON'
80
- {
81
- "events": [
82
- {
83
- "type": "user.message",
84
- "content": [
85
- { "type": "text", "text": "<質問への回答>" }
86
- ]
87
- }
88
- ]
89
- }
90
- JSON
51
+ shinaps-skills managed reply --account <name> --session <ID> --message-file <回答のファイル>
91
52
  ```
92
53
 
93
- 同じ内容は `--event.type user.message --event.content '<content の JSON 配列>'` のフラグでも渡せる。回答の送信は、依頼が進行中のセッションに対してだけ行う。
94
- - 回答で新しい許可・予算を加えない。必要なら新しい依頼として合意し直す。
95
- - `user.tool_confirmation` は利用者の明示の指示なしに送らない。
54
+ - 回答の送信は、依頼が進行中のセッションに対してだけ行う。回答で新しい許可・予算を加えない。必要なら新しい依頼として合意し直す。
55
+ - `user.tool_confirmation` は送らない。
96
56
 
97
- ## 5. 成果物を確かめる
57
+ ## 5. 出力を回収して確かめる
98
58
 
99
59
  確かめる対象は、lead の最終報告の `出力:`・`コミット:`・`PR:` の行にある成果物だけにする。許可に push や draft PR の作成を含めない依頼では、remote の head ブランチや PR は存在しないので、出力ファイルだけを確かめる。
100
60
 
101
- - 出力ファイル(`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` を付ける。
102
- - `changes.patch` は作業先で `git apply --check` するか、合意した base の SHA に対して適用して、範囲と受入条件に対する差分を確かめる。
61
+ ```sh
62
+ shinaps-skills managed collect --account <name> --session <ID>
63
+ ```
64
+
65
+ - セッションに紐づく Files(`changes.patch` と作業記録の tar)を、そのアカウントの `sessions/<ID>/outputs/` へ保存し、保存したパスを表示する。同じ名前のファイルは最新のものだけを保存する(lead は毎ターン `changes.patch` を比較元からの全体の差分で置き換える)。名前がファイル名だけでないものは保存せずに止まる。保存したサイズは一覧の値と比べる。
66
+ - CLI は差分を適用しない。`changes.patch` は合意した base の SHA のチェックアウトで `git apply --check` してから、範囲と受入条件に対する差分を確かめる。適用するかは利用者と決める。
103
67
  - `コミット:` と push 先がある場合は `git fetch origin <head>` で head ブランチを取得し、base の SHA からのコミットと差分を確かめる。
104
68
  - `PR:` がある場合は `gh pr view <PR の URL> --json isDraft,baseRefName,headRefName` または GitHub MCP の読み取りで、draft であること・base と head が合意どおりであることを確かめる。
105
- - `ant beta:sessions connect <セッションの ID> --web --no-browser` でも内容を閲覧できるが、この画面からはメッセージ送信やツールの承認もできるので、観測目的では操作しない。
106
69
 
107
70
  ## 6. 終了する
108
71
 
109
- 状態行、取得した出力ファイル、コミット、push 先、PR の URL、未検証の事項を報告する。merge・deploy・release・Issue の更新・セッションのアーカイブは行わない。QA は呼び出し元が別に行う。完了後に修正する場合は、新しい依頼として、体制を含めて合意し直す。
72
+ 状態行、回収した出力ファイル、コミット、push 先、PR の URL、未検証の事項を報告する。merge・deploy・release・Issue の更新・セッションのアーカイブは行わない。QA は呼び出し元が別に行う。完了後に修正する場合は、新しい依頼として、体制を含めて合意し直す。
110
73
 
111
74
  ## 未検証の境界
112
75
 
76
+ - `managed setup`・`run`・`status`・`reply`・`collect` のコマンド・フラグ・stdin の本文・出力の形は ant 2.4.0 の公式ソースで照合し、偽の `ant` を使うテストで確かめた。実際の `ant` とクラウドではまだ実行していない。
77
+ - API の側で決まり、ant のソースでは確かめられないこと: 予算 `max_list_cost.amount` がセント単位か、`mount_path: /CLAUDE.md` が `/mnt/session/uploads/CLAUDE.md` に置かれるか、Files の upload・一覧・取得に `files-api-2025-04-14` と `managed-agents-2026-04-01` の両方の beta を付ければよいか(ant の `--beta` は既定の beta を置き換えるので、全ての呼び出しで明示している)、Files の応答の `filename`・`size_bytes`・`created_at`、events の一覧に役割のスレッドの `agent.message` が混ざるか。lock が無い状態での skill の重複は、同じ setup で作る lead の同名確認で止まる。
113
78
  - マウントしたリポジトリの remote へ `git push` できるか(`authorization_token` が push に使われるか)。最初のセッションで最優先に確かめ、できなければ GitHub MCP の push 用ツール(`create_branch`・`push_files`)を有効にするかを利用者と相談する。
114
79
  - commit をチェックアウトしてマウントした作業先から、origin の head ブランチを取得できるか(clone の深さと fetch の資格情報)。
115
80
  - GitHub MCP で draft PR を作れるか。`draft: true` は lead への指示でしか担保されない。
116
81
  - vault に資格情報を登録できたことは、上の3点の確認にならない。
117
- - `events send` による回答の送信は、本文の構造を API 仕様で確かめただけで、実際のセッションではまだ送っていない。出力ファイルの一覧と取得は既存のセッションで確かめた。
118
82
  - 完了したスレッドが同時実行の枠(25本)を空けるか。ULTRAでは、ラウンドごとに新しく起動する担当を含めて、同時に保つスレッドが多い。
@@ -1,74 +1,62 @@
1
1
  # Managed 構成の導入と更新
2
2
 
3
- 共通の dev 構成(lead `shinaps-dev-managed-cc`、dev の7役割、skill `dev-managed-cc`、環境 `shinaps-dev`)を利用者の組織へ導入・更新する手順。既存の lock を使い、同じリソースを重複して作らない。セッションの作成・予定実行は行わない。dev の工程は [skill `dev-managed-cc`](../../managed-agents/skills/dev-managed-cc/SKILL.md) が持つので、ここでは扱わない。
3
+ 共通の dev 構成(lead `shinaps-dev-managed-cc`、dev の3役割、skill `dev-managed-cc`、環境 `shinaps-dev`)を、利用者の1つ以上のアカウントへ一コマンドで導入・更新する手順。既存の lock を使い、同じリソースを重複して作らない。セッションの作成・予定実行は行わない。dev の工程は [skill `dev-managed-cc`](../../managed-agents/skills/dev-managed-cc/SKILL.md) が持つので、ここでは扱わない。アカウント・キー・状態の置き場所は[設定とアカウント](configuration.md)に従う。
4
4
 
5
5
  ## 前提
6
6
 
7
- - `ant` 1.30 以上(`ant --version` で確認する。確認済みの版は 1.42.0)
8
- - 利用者本人が `ant auth login` を済ませている。ログインは代行しない。`ant auth status` で組織とワークスペースを確認する。複数のワークスペースで使える資格情報では各コマンドに `--workspace-id` が必要になる。lock があれば `origin.workspace_id` と一致することを確かめる
9
- - 作業先の `.shinaps/managed.json`([設定](configuration.md))
7
+ - PATH 上の `ant` 2.4.0 以上(`ant --version`)と、利用中の skill と同じ版の `shinaps-skills`
8
+ - 導入する各アカウントの APIキー([APIキー](configuration.md#apiキー))。利用者が環境変数に設定する。キーをチャット・作業記録に貼らない
10
9
 
11
- ## 1. 設定を読む
12
-
13
- `.shinaps/managed.json` を読み、CLI で検証する。無ければ、決まっていない項目を利用者に一問ずつ確認して作る。書き込む前に Git 対象外であることを確かめる([設定](configuration.md#配置))。`.shinaps/.gitignore` が無ければ[作業記録の共通手順](../work-records.md)のとおり `*` だけの内容で作る。既存の ignore が設定や `<definitions>` を除外していない場合は、既存の規則と共有例外を保ったまま、末尾に `/managed.json` と `<definitions>` の相対パス(既定は `/managed/`)の2行だけを加える。この追記は導入の依頼に含まれる操作として行い、別の承認を求めない。
14
-
15
- ## 2. 共通定義を配置する
16
-
17
- このスキルを含む plugin の `managed-agents/`(SKILL.md から `../../managed-agents/`)にある `agents/`・`environments/`・`skills/` で、`<definitions>` の同名の3ディレクトリを丸ごと置き換える。この3ディレクトリはテンプレートの所有で、手で編集した内容は上書きされる。`<definitions>` には `claude-lock.json` 以外のファイルを置かない。適用はディレクトリ内の定義をすべて送信するため。
18
-
19
- 置き換える前に、既存の3ディレクトリとテンプレートを `diff -r` で比べる。テンプレートに無い変更(利用者が手で直した定義や追加したファイル)があれば、その一覧を示して残すか捨てるかを確かめてから置き換える。黙って失わせない。
20
-
21
- 以前の置き場所に lock があれば、`<definitions>/claude-lock.json` へ移してから進む。lock の扱いは[設定](configuration.md#lock-の扱い)に従う。
22
-
23
- ## 3. 安全上の注意を示す
10
+ ## 1. 安全上の注意を示す
24
11
 
25
12
  適用の合意を求める前に、次を利用者へ示す。
26
13
 
27
14
  - 環境のネットワークは制限しない(`unrestricted`)。bash と GitHub MCP の3ツール(`get_me`・`create_pull_request`・`pull_request_read`)は承認なし(`always_allow`)で動く。無人のセッションが承認待ちで止まらないようにするため。
28
15
  - サンドボックスのコードは外部へデータを送れる。取得した内容に書かれた指示に従ってしまう危険(プロンプトインジェクション)がある。
16
+ - lead と3役割は Opus 5.5(`claude-opus-5-5` / medium / standard)で動く。費用はセッションごとに依頼時の予算で上限を付ける。
29
17
 
30
- ## 4. 計画を確認する
18
+ ## 2. 計画を確認する
31
19
 
32
20
  ```sh
33
- (cd <definitions> && ant apply --dry-run .)
21
+ shinaps-skills managed setup --account <name> [--account <name> ...]
34
22
  ```
35
23
 
36
- サブシェルで `<definitions>` に移動してから実行する。lock は実行した場所から上へ探され、キーは lock のディレクトリからの相対パスになるため。
24
+ アカウントごとに順に、次を行う。どのアカウントのキーが欠けていても、何も変えずに止まる。
25
+
26
+ 1. アカウントの `definitions/` の3ディレクトリを同梱の共通定義に揃える。書き換え・削除するのは setup が最後に書いた内容か今回書く内容と一致するファイルだけで、利用者の編集・追加や記録の無いファイルがあれば何も変えずに止まる。消えたファイルは書き直す([アカウントの状態](configuration.md#アカウントの状態))。lock は書き換えない。
27
+ 2. lock が無ければ、`ant beta:agents list`・`ant beta:environments list` で同名の未アーカイブの lead・役割・環境を探し、あれば止める。以前の lock を戻してから再実行する([lock の扱い](configuration.md#lock-の扱い)、[version 1 からの移行](configuration.md#version-1-からの移行))。
28
+ 3. `definitions/` で `ant apply --dry-run --lock-file claude-lock.json .` を実行して計画を表示する。`ant` は `--lock-file` が無いと lock を上のディレクトリへ探すので、祖先の lock で対応づけないよう `definitions/` 直下の lock を常に指定する。`--prune`・`--force` は使わない。
29
+ 4. 計画に `This plan cannot be applied` があれば、そのアカウントを失敗にする(dry-run はこの場合も終了コード0で返る)。
30
+
31
+ 失敗したアカウントがあれば一覧を示して終了コード1で終わる。他のアカウントの処理は続ける。
37
32
 
38
- - 出力の `Preview` 行が `./claude-lock.json`(`<definitions>` 直下)であることを確かめる。違えば止める。別の場所の lock を `--lock-file` で指定しない。キーの基準がずれて重複作成につながる。
39
- - lock があれば、計画は定義を変えたリソースの update、テンプレートに新しく加わったリソースの create、それ以外の unchanged になる。lock にあってソースの無い項目は警告として残る。`--prune` は付けない。
40
- - 次の場合は適用せずに止めて報告する: `This plan cannot be applied` が出る、意図しない環境の更新がある。
41
- - create があれば、`ant beta:agents list --beta managed-agents-2026-04-01` と `ant beta:environments list --beta managed-agents-2026-04-01` で、アーカイブされていない同じ名前の lead・役割・環境が既にあるかを確かめる。あれば止める。アーカイブの状態を判定できなければ止める。
42
- - lock がある場合は、lock を変えずに状況を報告して利用者と相談する。
43
- - lock が無い場合は、lock を戻す方法を利用者と相談する。同じマシンで同じ組織に導入済みなら、その `<definitions>` を指すよう設定を直してやり直す。別のマシンでは[lock の扱い](configuration.md#lock-の扱い)に従い、バックアップや以前の置き場所から lock を戻し、無ければ相談する。
33
+ 計画は、lock があれば定義を変えたリソースの update、テンプレートに新しく加わったリソースの create、それ以外の unchanged になる。lock にあってソースの無い項目は警告として残る。意図しない環境の更新があれば適用しない。
44
34
 
45
- ## 5. 適用する
35
+ ## 3. 適用する
46
36
 
47
- 利用者が dry-run の計画に合意してから実行する。
37
+ 利用者が計画に合意してから、同じアカウントで `--apply` を付けて実行する。
48
38
 
49
39
  ```sh
50
- (cd <definitions> && ant apply .)
40
+ shinaps-skills managed setup --account <name> [--account <name> ...] --apply
51
41
  ```
52
42
 
53
- `ant apply` は計画を表示して承認を求める。確認した計画と同じ内容の適用を利用者が明示的に許可している場合は `--yes` を付けて、同じ範囲の承認を繰り返さない。計画が変わっていれば `--yes` を付けずに止める。`--prune`・`--force` は使わない。リソースを削除しない。
43
+ 計画を作り直し、上の止める条件を同じように確かめてから、変更のあるアカウントだけ `ant apply --yes --lock-file claude-lock.json .` を実行する。適用後にもう一度 dry-run し、`Everything is up to date.` でなければ失敗にする。リソースは削除しない。`--apply` は作り直した計画をそのまま適用し、途中で確認を挟まない。計画を確かめてから適用するまでの間に、CLI の版・同梱の定義・lock を変えない。適用時に表示された計画が合意した計画と違えば、利用者へ報告する。
54
44
 
55
- ## 6. 結果を確かめる
45
+ ## 4. 結果を確かめる
56
46
 
57
- - もう一度 dry-run を実行し、`Everything is up to date.` を確かめる。
58
- - lock を適用前の複製と比べ、更新したリソースの `version`・`hash`・`remote_hash` 以外が変わっていないことを確かめる。変わっていれば報告する。
59
- - 読み取りで確かめる場合は `ant beta:agents retrieve --agent-id <ID> --beta managed-agents-2026-04-01` と `ant beta:environments retrieve --environment-id <ID>` を使う。セッションは作らない。
47
+ - 各アカウントの結果(`applied`・`up-to-date`・`planned`・`failed`)を確かめる。
48
+ - 読み取りで確かめる場合は、そのアカウントのキーを `ANTHROPIC_API_KEY` に入れて `ant beta:agents retrieve --agent-id <ID>`・`ant beta:environments retrieve --environment-id <ID>` を使う。セッションは作らない。
60
49
 
61
50
  ## GitHub MCP の vault を準備する
62
51
 
63
- lead の GitHub MCP(`https://api.githubcopilot.com/mcp`)は、セッション作成時に渡す vault の資格情報で認証する。vault はセッション作成時にしか渡せない。
52
+ lead の GitHub MCP(`https://api.githubcopilot.com/mcp`)は、セッション作成時に渡す vault の資格情報で認証する。vault は組織ごとで、セッション作成時にしか渡せない。
64
53
 
65
- 1. Claude Console で vault を作る。
54
+ 1. そのアカウントの組織の Claude Console で vault を作る。
66
55
  2. vault に MCP OAuth の資格情報を追加し、GitHub を選んで利用者本人がブラウザで承認する。資格情報の MCP サーバーの URL は lead 定義の `mcp_servers[].url` と同じ `https://api.githubcopilot.com/mcp` にする。URL で照合されるため、末尾のスラッシュの有無も揃える。
67
- 3. `ant beta:vaults list --beta managed-agents-2026-04-01` と `ant beta:vaults:credentials list --vault-id <vault の ID> --beta managed-agents-2026-04-01` で vault と資格情報を確かめる。
68
- 4. vault の ID を `.shinaps/managed.json` の `vault_id` に書く。
56
+ 3. vault の ID を `.shinaps/managed.json` の `accounts.<name>.vault_id` に書く。
69
57
 
70
58
  token をチャット・設定・作業記録に貼らない。資格情報の登録ができたことと、セッションで push・draft PR の作成が動くことは別に報告する。後者は[依頼の手順](execute.md#未検証の境界)の未検証の境界にあたる。
71
59
 
72
60
  ## 報告
73
61
 
74
- 作成・更新・変更なしのリソース、lock の差分、示した安全上の注意、確かめられなかった事項を報告する。作業記録は `.shinaps/work/` に置く。
62
+ アカウントごとの結果と計画の要点、示した安全上の注意、確かめられなかった事項を報告する。作業記録は `.shinaps/work/` に置く。
@@ -26,7 +26,7 @@ description: 許可された差分を依存順のローカルコミットにし
26
26
 
27
27
  どちらのモードも、許可された対象以外の変更と秘密情報、push、PR、公開、既存履歴の書き換えを含まない。
28
28
 
29
- Git準備・修正・commitはAIが現在のセッションで行い(devから続く作業のコード修正はdevの継続として担当へ戻す。[工程](../../references/dev/workflow.md)の「役割と継続」)、manualのレビューとコミットの依頼は人が行う。autoは独立レビューを必須とする。必要な担当・許可が利用できなければ、セルフレビューを同等と称さず止める。別worktreeの作成や別セッションへの委託を、このスキルから許可しない。
29
+ Git準備・修正・commitはAIが現在のセッションで行い(devから続く作業のコード修正はdevの修正サイクルで行う。[工程](../../references/dev/workflow.md)の「役割と継続」)、manualのレビューとコミットの依頼は人が行う。autoは独立レビューを必須とする。必要な担当・許可が利用できなければ、セルフレビューを同等と称さず止める。別worktreeの作成や別セッションへの委託を、このスキルから許可しない。
30
30
 
31
31
  ## 回復できる状態を作る
32
32
 
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  name: dev-claude
3
- description: 選んだ体制(LITE・BASIC・ULTRA)の担当で進め、BASIC・ULTRAでは実装の不確実性・影響範囲・失敗時の影響から追加の担当を決め、計画・実装・検証・独立レビューを進める。途中の新しい根拠で担当を追加する(LITEは体制の変更を相談する)。コミットは許可に従い、Linear進行ではQAへ結果を返す。
3
+ description: 選んだ体制(LITE・BASIC・ULTRA)で、メインが調査・設計・実装・検証・修正・指摘の採否を行い、体制に応じた担当が独立した別案(ULTRAでは必須)と計画・実装の独立レビューを行う。BASIC・ULTRAでは不確実性・影響範囲・失敗時の影響から担当を追加する(LITEは体制の変更を相談する)。コミットは許可に従い、Linear進行ではQAへ結果を返す。
4
4
  ---
5
5
 
6
6
  # 作業に応じた体制で開発する
7
7
 
8
- [体制の判断](../../references/dev/staffing.md)・[工程](../../references/dev/workflow.md)・[起動手順](../../references/dev/launch.md)を読む。体制の判断で選んだ体制の担当で進め、BASIC・ULTRAではlinear-executeから渡された材料と現物から、メインが関連コードを確認して設計前に追加の担当を決める。途中でも必要な役割・人数を追加する(BASIC・ULTRA。LITEは体制の変更を相談する)。
8
+ [体制の判断](../../references/dev/staffing.md)・[工程](../../references/dev/workflow.md)・[起動手順](../../references/dev/launch.md)を読む。メインが調査・設計・実装・検証・修正・指摘の採否を行い、選んだ体制の担当(独立設計・計画レビュー・実装後の独立レビュー)に、独立した別案と独立確認を依頼する。BASIC・ULTRAではlinear-executeから渡された材料と現物から、メインが関連コードを確認して設計前に追加の担当を決める。途中でも必要な役割・人数を追加する(BASIC・ULTRA。LITEは体制の変更を相談する)。
9
9
 
10
- devの完了後に同じ会話・sessionで来る依頼も[工程](../../references/dev/workflow.md)の「役割と継続」の分担で続け、メインは実装・調査・技術的検証を引き取らない。
10
+ devの完了後に同じ会話・sessionで来る依頼も[工程](../../references/dev/workflow.md)の「役割と継続」に従って続ける。
11
11
 
12
12
  依頼や成果物からタスクが確定していれば、形式的な引数の再入力を求めずPhase 1から進める。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: managed-execute
3
- description: 作業先の Managed 設定を読み、Claude Managed Agents の lead へ dev を依頼し、観測・質問の取り次ぎ・成果物と draft PR の確認を行う。dev の工程自体は lead に任せる。依頼があるときに使う。
3
+ description: Claude Managed Agents の lead へ、アカウントを選んで dev を依頼し、観測・質問の取り次ぎ・出力のローカル回収と draft PR の確認を行う。dev の工程自体は lead に任せる。依頼があるときに使う。
4
4
  ---
5
5
 
6
6
  ## 作業記録の保存先
@@ -9,10 +9,10 @@ description: 作業先の Managed 設定を読み、Claude Managed Agents の le
9
9
 
10
10
  # Managed Agents へ依頼する
11
11
 
12
- [設定](../../references/managed/configuration.md)と[依頼と観測の手順](../../references/managed/execute.md)を読んで進める。
12
+ [設定とアカウント](../../references/managed/configuration.md)と[依頼と観測の手順](../../references/managed/execute.md)を読んで進める。操作は配布CLIの `managed run`・`status`・`reply`・`collect` で行う。
13
13
 
14
- - 呼び出しのたびに base ブランチと SHA・head ブランチ・範囲と受入条件・体制(LITE・BASIC・ULTRA)・許可・予算を利用者と合意する。設定・lock・過去の作業から推定しない。
15
- - 設定から読むのは `definitions`(lock の場所)・`repository`・`vault_id` だけで、lead と環境の ID は lock から読む。lock が無ければ止め、導入は managed-setup で行う。
14
+ - 呼び出しのたびにアカウント・base ブランチと SHA・head ブランチ・範囲と受入条件・体制(LITE・BASIC・ULTRA)・許可・予算を利用者と合意し、引数で明示する。設定・lock・過去の作業から推定しない。
15
+ - 設定(`.shinaps/managed.json`)が無いか旧版なら、手順の「設定を用意する」に従って一問ずつ確認して作る。設定から読むのは `repository` とアカウントの `vault_id` だけで、lead と環境の ID はアカウントの lock から読む。lock が無ければ止め、導入は managed-setup で行う。
16
16
  - 計画・実装・レビューの工程と追加の担当は lead に任せ、ここでは指示しない。
17
- - Linear の進行とは独立した入口である。merge・deploy・release・Issue の更新・セッションのアーカイブは行わない。
18
- - 秘密値を表示・記録しない。
17
+ - 回収した差分は適用しない。確認と適用の判断は利用者と行う。push・merge・deploy・release・Issue の更新・セッションのアーカイブは行わない。Linear の進行とは独立した入口である。
18
+ - キーと token は利用者が環境変数に設定する。受け取らない・表示しない・記録しない。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: managed-setup
3
- description: Claude Managed Agents の共通 dev 構成(lead・役割・skill・環境)を自分の組織へ導入・更新する。既存の lock を使い、同じリソースを重複して作らない。導入・更新の依頼があるときに使う。
3
+ description: Claude Managed Agents の共通 dev 構成(lead・役割・skill・環境)を、利用者の1つ以上のアカウントへ一コマンドで導入・更新する。アカウントごとの lock を使い、同じリソースを重複して作らない。導入・更新の依頼があるときに使う。
4
4
  ---
5
5
 
6
6
  ## 作業記録の保存先
@@ -9,11 +9,10 @@ description: Claude Managed Agents の共通 dev 構成(lead・役割・skill
9
9
 
10
10
  # Managed 構成を導入・更新する
11
11
 
12
- [設定](../../references/managed/configuration.md)と[導入・更新の手順](../../references/managed/setup.md)を読んで進める。共通定義はこのスキルを含む plugin の `managed-agents/` にある。
12
+ [設定とアカウント](../../references/managed/configuration.md)と[導入・更新の手順](../../references/managed/setup.md)を読んで進める。操作は配布CLIの `managed setup` で行い、`ant apply` を手で実行しない。
13
13
 
14
- - 前提: `ant` CLI 1.30 以上、利用者本人による `ant auth login`、作業先の `.shinaps/managed.json`。設定が無ければ一問ずつ確認して作る。
15
- - 適用は dry-run の計画を利用者に示し、合意を得てから行う。同じ計画の適用を明示的に許可されていれば `--yes` で進め、同じ範囲の承認を繰り返さない。`--prune`・`--force` は使わない。
16
- - 既存の `<definitions>` を置き換える前にテンプレートとの差分を示し、利用者の変更を黙って失わせない。
17
- - lock が無い状態で既存のリソースへ適用しない。lock を失った場合は戻すまで止める。
14
+ - 前提: `ant` CLI 2.4.0 以上と、利用中の skill と同じ版の配布CLI。導入するアカウントの名前と、各アカウントのキーを利用者が環境変数に設定していること。キーを受け取らない・表示しない・記録しない。
15
+ - まず `--apply` 無しで計画を示し、利用者の合意を得てから同じアカウントで `--apply` を付けて適用する。`--apply` は計画を作り直してそのまま適用するので、その間に CLI の版・同梱の定義・lock を変えない。適用時の計画が合意と違えば報告する。
16
+ - lock が無いアカウントに同名のリソースがあれば止まる。lock を戻すまで適用しない。
18
17
  - セッションの作成・予定実行は行わない。依頼と観測は managed-execute で扱う。
19
- - 設定と lock から許可・予算を推定しない。秘密値を表示・記録しない。
18
+ - lock から許可・予算を推定しない。
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shinaps",
3
- "version": "0.36.1",
3
+ "version": "0.38.0",
4
4
  "description": "Shinaps AIのCodex向け開発ワークフロー",
5
5
  "skills": "./skills/"
6
6
  }