{"id":"91cc885a-f8ad-4ea5-98e4-273055bc3c36","shortId":"avhWDk","kind":"skill","title":"unity-shared","tagline":"unity-cli 共通ルール。全 unity-* スキルが自動ロードする前提条件。Use as prerequisite for any unity-* skill (verification sequence, fallback order, security policy).","description":"# unity-shared\n\n全 unity-* スキルが従う共通ルール。\n\n## インスタンス指定 (必須)\n\nunity-* スキル経由で `u` コマンドを呼ぶ際は **必ず `-i <instance>` を付ける**。default インスタンスに依存しない。\n\n```bash\nu -i <instance> refresh    # OK\nu refresh                  # NG (skill 経由では使わない)\n```\n\n`<instance>` はユーザーから渡される or 親セッションが指定する値で置き換える。`u instances` で接続中 Unity 一覧を確認できる。本ドキュメント以下のサンプルでは `<instance>` をそのまま使うが、実行時は具体名 (例: `TestProject`) に置換する。\n\n理由: 複数 Unity 接続環境で誤ったインスタンスへコマンドを送るリスクと、subagent 間の挙動を default 依存にしないため。\n\n## 接続確認\n\n```bash\nu instances             # 接続中 Unity 一覧\nu -i <instance> state   # 特定エディタの状態\n```\n\n接続不可時: `unity-relay --port 6500` で Relay 起動。\n\n## Quick Verify\n\nコード変更後に毎回実行する検証シーケンス。順序厳守 (clear は refresh の**前**に置く。後にすると refresh の診断ログを消してしまう)。\n\n```bash\n# 1. 既存ログをクリア (refresh の診断を残すため refresh の前)\nu -i <instance> console clear\n\n# 2. AssetDatabase リフレッシュ (コンパイルトリガー)\nu -i <instance> refresh\n\n# 3. isCompiling が false になるまでポーリング (2秒間隔, 最大30秒)\nfor _ in $(seq 1 15); do\n  u -i <instance> state --json | jq -e '.isCompiling == false' >/dev/null && break\n  sleep 2\ndone\n\n# 4. Error/Warning 取得 (--count は deprecated. head -N を使う)\nu -i <instance> console get -l E,W | head -50\n```\n\n`u state --json` の出力例 (抜粋, キーはトップレベル):\n\n```json\n{\"isCompiling\": false, \"isPlaying\": false, \"isPaused\": false}\n```\n\n- Error あり → 修正して再実行 (最大3回)\n- Warning のみ → 報告して続行\n\n### 注記: 空 (0 行) は「クリーン」だが「Warning が無い」とは限らない\n\nUnity はインクリメンタルコンパイルのため、ソース未変更で `refresh` を呼んでも再コンパイルは走らず、過去の Warning は再出力されない。`console clear` 後に空が返っても以下のいずれかを意味する:\n\n1. ソース変更があり再コンパイルが走り、エラー/警告がない (本当のクリーン)\n2. ソース未変更で再コンパイルがスキップされ、過去の警告が出力されないだけ\n\n**直前にソース編集があった文脈なら「クリーン」扱いで OK**。過去の警告を確実に確認したい場合は対象ファイルの touch (`touch Assets/.../Foo.cs`) で mtime を更新してから refresh するか、`Library/ScriptAssemblies/` をクリアする。\n\n## フォールバック順\n\nCLI 非対応の操作を行う場合:\n\n```text\n1. u -i <instance> <既存コマンド>           最優先\n2. u -i <instance> api call Type Method    5,243 メソッド対応\n3. YAML 直接編集                            最終手段 (.meta インポート設定等)\n```\n\n## セキュリティ\n\n- `u api call` は UnityEngine / UnityEditor のみ許可\n- 破壊的操作の実行前にユーザー確認","tags":["unity","shared","cli","bigdra50","agent-skills","developer-tools","python","unity3d"],"capabilities":["skill","source-bigdra50","skill-unity-shared","topic-agent-skills","topic-cli","topic-developer-tools","topic-python","topic-unity","topic-unity3d"],"categories":["unity-cli"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/bigdra50/unity-cli/unity-shared","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add bigdra50/unity-cli","source_repo":"https://github.com/bigdra50/unity-cli","install_from":"skills.sh"}},"qualityScore":"0.468","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 37 github stars · SKILL.md body (1,982 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:58:31.753Z","embedding":null,"createdAt":"2026-04-28T06:56:42.444Z","updatedAt":"2026-05-18T18:58:31.753Z","lastSeenAt":"2026-05-18T18:58:31.753Z","tsv":"'-50':167 '/dev/null':145 '/foo.cs':225 '0':190 '1':107,134,209,237 '15':135 '2':117,148,214,242 '243':250 '2秒間隔':129 '3':124,252 '4':150 '5':249 '6500':89 'api':245,260 'asset':224 'assetdatabas':118 'bash':41,74,106 'break':146 'call':246,261 'clear':97,116,207 'cli':6,234 'consol':115,161,206 'count':153 'default':39,71 'deprec':155 'done':149 'e':142,164 'error':181 'error/warning':151 'fallback':20 'fals':127,144,176,178,180 'get':162 'head':156,166 'instanc':55,76 'iscompil':125,143,175 'ispaus':179 'isplay':177 'jq':141 'json':140,170,174 'l':163 'library/scriptassemblies':231 'meta':256 'method':248 'mtime':227 'n':157 'ng':48 'ok':45,220 'order':21 'polici':23 'port':88 'prerequisit':13 'quick':93 'refresh':44,47,99,104,109,111,123,201,229 'relay':87,91 'secur':22 'seq':133 'sequenc':19 'share':3,26 'skill':17,49 'skill-unity-shared' 'sleep':147 'source-bigdra50' 'state':82,139,169 'subag':69 'testproject':63 'text':236 'topic-agent-skills' 'topic-cli' 'topic-developer-tools' 'topic-python' 'topic-unity' 'topic-unity3d' 'touch':222,223 'type':247 'u':34,42,46,54,75,80,113,121,137,159,168,238,243,259 'uniti':2,5,9,16,25,28,32,57,67,78,86,198 'unity-c':4 'unity-relay':85 'unity-shar':1,24 'unityeditor':264 'unityengin':263 'use':11 'verif':18 'verifi':94 'w':165 'warn':185,195,204 'yaml':253 'あり':182 'が':126 'が無い':196 'するか':230 'だが':194 'で':90,226 'で接続中':56 'とは限らない':197 'になるまでポーリング':128 'に置く':102 'に置換する':64 'の':100 'のみ':186 'のみ許可':265 'の出力例':171 'の前':112 'の診断を残すため':110 'の診断ログを消してしまう':105 'は':98,154,192,262 'はインクリメンタルコンパイルのため':199 'はユーザーから渡される':51 'は再出力されない':205 'をそのまま使うが':60 'をクリアする':232 'を付ける':38 'を使う':158 'を呼んでも再コンパイルは走らず':202 'を更新してから':228 'インスタンスに依存しない':40 'インスタンス指定':30 'インポート設定等':257 'エラー':211 'キーはトップレベル':173 'クリーン':193,218 'コマンドを呼ぶ際は':35 'コンパイルトリガー':120 'コード変更後に毎回実行する検証シーケンス':95 'スキルが従う共通ルール':29 'スキルが自動ロードする前提条件':10 'スキル経由で':33 'セキュリティ':258 'ソース変更があり再コンパイルが走り':210 'ソース未変更で':200 'ソース未変更で再コンパイルがスキップされ':215 'フォールバック順':233 'メソッド対応':251 'リフレッシュ':119 '一覧':79 '一覧を確認できる':58 '例':62 '依存にしないため':72 '修正して再実行':183 '全':8,27 '共通ルール':7 '前':101 '取得':152 '報告して続行':187 '実行時は具体名':61 '後にすると':103 '後に空が返っても以下のいずれかを意味する':208 '必ず':36 '必須':31 '扱いで':219 '抜粋':172 '接続不可時':84 '接続中':77 '接続環境で誤ったインスタンスへコマンドを送るリスクと':68 '接続確認':73 '既存コマンド':240 '既存ログをクリア':108 '最優先':241 '最大30秒':130 '最大3回':184 '最終手段':255 '本ドキュメント以下のサンプルでは':59 '本当のクリーン':213 '注記':188 '特定エディタの状態':83 '理由':65 '直前にソース編集があった文脈なら':217 '直接編集':254 '破壊的操作の実行前にユーザー確認':266 '空':189 '経由では使わない':50 '行':191 '複数':66 '親セッションが指定する値で置き換える':53 '警告がない':212 '起動':92 '過去の':203 '過去の警告が出力されないだけ':216 '過去の警告を確実に確認したい場合は対象ファイルの':221 '間の挙動を':70 '非対応の操作を行う場合':235 '順序厳守':96","prices":[{"id":"271d76e2-8037-4556-9e20-4c5b4fec4be3","listingId":"91cc885a-f8ad-4ea5-98e4-273055bc3c36","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"bigdra50","category":"unity-cli","install_from":"skills.sh"},"createdAt":"2026-04-28T06:56:42.444Z"}],"sources":[{"listingId":"91cc885a-f8ad-4ea5-98e4-273055bc3c36","source":"github","sourceId":"bigdra50/unity-cli/unity-shared","sourceUrl":"https://github.com/bigdra50/unity-cli/tree/main/skills/unity-shared","isPrimary":false,"firstSeenAt":"2026-04-28T06:56:42.444Z","lastSeenAt":"2026-05-18T18:58:31.753Z"}],"details":{"listingId":"91cc885a-f8ad-4ea5-98e4-273055bc3c36","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"bigdra50","slug":"unity-shared","github":{"repo":"bigdra50/unity-cli","stars":37,"topics":["agent-skills","cli","developer-tools","python","unity","unity3d"],"license":"mit","html_url":"https://github.com/bigdra50/unity-cli","pushed_at":"2026-05-12T01:15:17Z","description":"CLI tool for controlling Unity Editor via command line - Play Mode, console logs, tests, scenes, GameObjects and more","skill_md_sha":"3375fe5a64ee4ff8b0798c27c893f8114ef20134","skill_md_path":"skills/unity-shared/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/bigdra50/unity-cli/tree/main/skills/unity-shared"},"layout":"multi","source":"github","category":"unity-cli","frontmatter":{"name":"unity-shared","license":"MIT","description":"unity-cli 共通ルール。全 unity-* スキルが自動ロードする前提条件。Use as prerequisite for any unity-* skill (verification sequence, fallback order, security policy).","compatibility":"Requires `u` CLI (unity-cli) and active Unity Editor via Relay Server."},"skills_sh_url":"https://skills.sh/bigdra50/unity-cli/unity-shared"},"updatedAt":"2026-05-18T18:58:31.753Z"}}