implement-service-state

Implement reactive state management for new Sonos services in Rust.

1|1|Updated Dec 6, 2025
One-click install
npx skills add https://github.com/tatimblin/sonos-sdk --skill implement-service-state
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: implement-service-state
Source: https://github.com/tatimblin/sonos-sdk/tree/main/.claude/skills/implement-service-state
Command: npx skills add https://github.com/tatimblin/sonos-sdk --skill implement-service-state

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill streamlines the process of integrating new Sonos services into the reactive state management system, ensuring properties are correctly defined, decoded, and stored.

Core Features & Use Cases

  • Property Definition: Define Rust structs for service properties, implementing necessary traits for state management.
  • Event Decoding: Implement logic to translate raw Sonos event data into typed property changes.
  • State Integration: Wire decoded property changes into the sonos-state system for real-time updates.
  • Use Case: When a new Sonos service like 'MusicServices' is added, this Skill helps define its properties (e.g., 'service_status', 'available_features'), create decoders for incoming events, and integrate them into the speaker's state.

Quick Start

Use the implement-service-state skill to define property types and implement decoders for a new Sonos service.

Frequently Asked Questions about implement-service-state

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add reactive state management for a new Sonos service in Rust?

Reactive state for Sonos services involves defining Rust property structs, implementing decoders for sonos-stream events, and wiring decoded property changes into the state store for real-time speaker updates.

What's the best way to decode Sonos event data into typed property changes?

Decoding Sonos event data is done by implementing decoder functions that translate raw sonos-stream events into typed PropertyChange variants, which then integrate directly into the state store.

How do I define Rust structs for Sonos service properties?

Defining Rust structs for Sonos service properties involves creating typed structures that implement necessary state management traits, automating PropertyChange variant creation based on service specifications.

Do I need the sonos-state crate to integrate new Sonos services?

Yes, integrating new Sonos services requires the sonos-state crate to wire decoded property changes into the reactive state management system for real-time speaker state updates.

Can I automate Rust struct creation for Sonos service specifications?

Yes, this approach automates the creation of Rust structs, PropertyChange variants, and decoder functions based on Sonos service specifications, streamlining integration into the reactive state system.

When do I need to implement decoders for sonos-stream events?

You need to implement decoders for sonos-stream events when adding a new Sonos service, ensuring raw event data is translated into typed property changes for state store integration.