Use when setting up the resonite-io dev environment on a fresh clone, configuring Gale profile, setting Steam Launch Options (WINEDLLOVERRIDES), or troubleshooting mod-load failures. Triggers: 'just init', 'Gale プロファイル', 'WINEDLLOVERRIDES', 'check-gale', 'mod が読まれない', '環境構築', 'fresh clone'.
Use when debugging resonite-io mod runtime — adding logs, decompiling Resonite DLLs, starting/stopping Resonite in the container, tailing BepInEx logs. Triggers: 'just log', 'just decompile', 'just resonite-launch', 'just resonite-stop', 'Resonite を起動', 'Resonite を停止', 'BepInEx LogOutput', 'AssemblyLoadContext', 'mod の挙動を確認', 'TypeLoadException', 'Renderer の挙動'.
resonite-io のテスト戦略。real resource を最優先し、自前 ABC (I<Modality>Bridge / ILogSink 等) のみ fake 可、3rd-party / FrooxEngine 表面 (grpclib / Kestrel internals / BepInEx / FrooxEngine.* / Elements.Core.* / betterproto2 internals / Task.Delay / asyncio.sleep 等) のモックは禁止。4 区分 (unit / integration-with-fakes / integration-real / manual・e2e)、tests ミラーレイアウト (C# Core.Tests / Python tests/resoio)、書いてはいけないテスト、公開 API 契約ピン例外、Kestrel in-process gRPC + 実 UDS + UnixNanosClock + 実 protobuf wire、mutation testing、Wine + Linux Resonite と engine thread 周りの実行環境クセ。テストコードを書く/壊れた manual シナリオを調査する/pytest / xUnit 周りを設定する前に読む
Use when cutting a ResoniteIO release — bump version, tag, and publish the Thunderstore mod + PyPI package, or doing the one-time release setup. Triggers: 'リリース', 'release', 'publish', 'tcli', 'thunderstore publish', 'バージョンを上げる', 'tag を打つ', 'PyPI 公開', 'just mod-pack', 'TCLI_AUTH_TOKEN', 'Trusted Publisher'.
Use when adding a new modality to resonite-io — proto, C# Core Service + Bridge IF, C# Mod FrooxEngine bridge, Python client, CLI, tests. Triggers: '新規モダリティ', 'Grabber', 'IGrabberBridge', 'GrabberService', 'モダリティを追加', 'add new modality'.
resoio CLI (python/src/resoio/cli/) の設計・出力規約。新コマンド追加や --format / 出力形式を扱う前に読む。argparse thin module 構成、flat command 命名、--format human|json (構造化出力)、cli/output.py シリアライザ、pid/path-only コマンド、interactive 除外、exit code / stderr / stdout 規約を集約。Triggers: 'CLI コマンドを追加', 'resoio cli', '--format', 'json 出力', 'output.py', 'to_jsonable', 'emit', 'CLI 設計', 'structured output', 'machine-readable'.
Use from the Claude side to sync Codex's settings-derived rules. `.claude/` is the source of truth; this skill regenerates `.codex/rules/default.rules` from `.claude/settings*.json` via `just migrate-codex`. Content-level sync of skills/agents/prose is NOT done here — that is the Codex side's `migrate-claude` skill. Triggers: 'Codex 設定を同期', 'migrate-codex', 'just migrate-codex', '.codex/rules を更新', 'Codex rules を再生成', 'Codex に permission を反映', 'settings を Codex へ'.
Use when writing or extending the ResoniteIO documentation site (MkDocs Material + mkdocstrings). Covers where docs live, how to preview/build, the per-modality API-page convention, and what to update when a modality is added. Triggers: 'ドキュメントサイト', 'docs site', 'docs を更新', 'mkdocs', 'mkdocstrings', 'API reference を追加', 'docs-serve', 'docs-build', 'docs page', 'ドキュメント追加'.