protocol-edit
Use only when changing the shared wire contract in crates/protocol or coordinated request/response consumers.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use only when changing the shared wire contract in crates/protocol or coordinated request/response consumers.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | protocol-edit |
| description | Use only when changing the shared wire contract in crates/protocol or coordinated request/response consumers. |
crates/protocol is the shared vocabulary between server and clients: requests, responses, identifiers, serialization, and wire semantics. A contract change normally requires corresponding handling in crates/server, crates/client, and browser/native transports.
The current protocol messages are:
GetLibrarySummary → LibrarySummary: collection counts.ListArtists → Artists, ListAlbums → Albums, ListTracks → Tracks: top-level library lists.GetArtist → Artist: one artist by ArtistId.GetAlbum → Album: one album by AlbumId.GetAlbumTracks → Tracks: tracks belonging to an album.GetTrack → Track: one track by TrackId.GetStarred / GetStarredWithKey → Starred: starred artists, albums, and tracks; the keyed form supplies the client key.SetStarred / SetStarredWithKey → Empty: update an item’s starred state; the keyed form supplies the client key.GetCoverArt → CoverArt: cover-art bytes, optionally at full quality.ResolveId → ResolvedId: resolve a string to an artist, album, or track.Search → SearchResults: matching artists, albums, and tracks for a SearchQuery.OpenStream → Stream: audio stream metadata for a track.Error with a message.cargo test -p protocol -p server -p client
cargo build -p iroh-fm-web-wasm --target wasm32-unknown-unknown --profile wasm-release
Use protocol: for the contract change and required consumer updates. It updates Web only; it does not trigger Android/Desktop or advance their epochs. If native users need the change, make explicit android: and/or desktop: release commits.
Create or edit Svelte/SvelteKit files (`*.svelte`, `*.svelte.js`, `+page.svelte`, `+page.js`, `+layout.js`)
Use only when preparing or advising on a commit subject in this repository, especially when choosing web:, server:, client:, protocol:, android:, desktop:, or ci:.
Use only when editing Android code under android, crates/android-native, packages/client/src/native.js, or Android playback, JNI, Gradle, and TWA integration.
Use only when editing Desktop-specific code in packages/web/src-tauri, packages/client/src/desktop.js, or Desktop packaging and tests.
Use only when editing crates/server or its library scanning, indexing, metadata, authorization, or streaming behavior.
Use only when editing browser-facing code in packages/web, packages/client, or crates/web-wasm.