{"id":"31893223-342f-404b-a301-e4f32504eab2","shortId":"uBw6pw","kind":"skill","title":"specialized","tagline":"Specialized hardware interfaces and system reliability for Zephyr RTOS. Covers LVGL GUI development, Audio I2S/Codecs, Watchdog timers, and Fault Injection. Trigger when building human-machine interfaces (HMI), audio devices, or high-reliability mission-critical systems.","description":"# Zephyr Specialized Hardware & Reliability\n\nIntegrate complex peripherals and build resilient systems that recover gracefully from unexpected failures.\n\n## Core Workflows\n\n### 1. LVGL GUI Development\nBuild sophisticated graphical user interfaces for LCD and TFT displays.\n- **Reference**: **[lvgl_gui.md](references/lvgl_gui.md)**\n- **Key Tools**: Widgets, Styles, Double Buffering, `native_sim` simulator.\n\n### 2. Audio I2S & Codecs\nImplement high-quality digital audio streaming and codec management.\n- **Reference**: **[audio_i2s.md](references/audio_i2s.md)**\n- **Key Tools**: `CONFIG_I2S`, DMA streaming, Ping-pong buffering.\n\n### 3. Watchdog & Reliability\nEnsure your system never hangs in the field using hardware watchdog timers.\n- **Reference**: **[watchdog_reliability.md](references/watchdog_reliability.md)**\n- **Key Tools**: `wdt_feed()`, Windowed watchdog, Health checks.\n\n### 4. Fault Injection & Resilience\nTest your system's ability to recover from unexpected software and hardware errors.\n- **Reference**: **[fault_injection.md](references/fault_injection.md)**\n- **Key Tools**: Chaos testing, `k_oops()`, Reset reason diagnostics.\n\n## Quick Start (Watchdog Feed)\n```kconfig\n# Enable watchdog support\nCONFIG_WATCHDOG=y\n```\n```c\n// Feed the dog in your main loop\nwhile (1) {\n    // Perform application work\n    wdt_feed(wdt_dev, wdt_channel);\n    k_sleep(K_MSEC(1000));\n}\n```\n\n## Professional Patterns (Reliability & UX)\n- **Safe Boot Animation**: Use a simple, non-interactive LVGL screen to show system status while critical subsystems (e.g., cloud connectivity) are initializing.\n- **Zero-Pop Audio**: Always use volume ramping when starting or stopping I2S streams to protect hardware and improve user experience.\n- **Bitmask Health Monitoring**: Use a bitmask to track the health of all background threads; the watchdog monitor only feeds the timer if ALL bits are set periodically.\n\n## Automation Tools\n- **[watchdog_window_check.py](scripts/watchdog_window_check.py)**: Verify feed interval timing against watchdog window constraints.\n\n## Examples & Templates\n- **[watchdog_health_map_template.h](assets/watchdog_health_map_template.h)**: Starter health-bit definitions for watchdog supervision.\n\n## Validation Checklist\n- [ ] GUI render loop maintains target frame behavior without starving control tasks.\n- [ ] I2S audio stream starts/stops without underruns or audible artifacts.\n- [ ] Watchdog feed policy resets the system when health criteria are not met.\n- [ ] Fault-injection scenarios produce expected reset reason and recovery behavior.\n\n## Resources\n\n- **[References](references/)**:\n  - `lvgl_gui.md`: GUI widgets and performance tuning.\n  - `audio_i2s.md`: Audio streaming and DMA patterns.\n  - `watchdog_reliability.md`: Watchdog setup and health checks.\n  - `fault_injection.md`: System resilience and chaos testing.\n- **[Scripts](scripts/)**:\n  - `watchdog_window_check.py`: Feed-window timing checker.\n- **[Assets](assets/)**:\n  - `watchdog_health_map_template.h`: Health-mask template header.","tags":["specialized","zephyr","agent","skills","beriberikix","agent-skills","agentic-coding","zephyr-rtos"],"capabilities":["skill","source-beriberikix","skill-specialized","topic-agent-skills","topic-agentic-coding","topic-zephyr-rtos"],"categories":["zephyr-agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/beriberikix/zephyr-agent-skills/specialized","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add beriberikix/zephyr-agent-skills","source_repo":"https://github.com/beriberikix/zephyr-agent-skills","install_from":"skills.sh"}},"qualityScore":"0.462","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 25 github stars · SKILL.md body (3,035 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-04-24T07:01:42.805Z","embedding":null,"createdAt":"2026-04-18T23:05:02.190Z","updatedAt":"2026-04-24T07:01:42.805Z","lastSeenAt":"2026-04-24T07:01:42.805Z","tsv":"'1':59,187 '1000':201 '2':85 '3':112 '4':138 'abil':146 'alway':233 'anim':208 'applic':189 'artifact':325 'asset':384,385 'assets/watchdog_health_map_template.h':295 'audibl':324 'audio':15,30,86,94,232,318,359 'audio_i2s.md':100,358 'autom':277 'background':262 'behavior':312,348 'bit':273,299 'bitmask':250,255 'boot':207 'buffer':81,111 'build':24,48,63 'c':178 'channel':196 'chao':160,374 'check':137,369 'checker':383 'checklist':305 'cloud':225 'codec':88,97 'complex':45 'config':104,175 'connect':226 'constraint':288 'control':315 'core':57 'cover':11 'criteria':334 'critic':38,222 'definit':300 'dev':194 'develop':14,62 'devic':31 'diagnost':166 'digit':93 'display':72 'dma':106,362 'dog':181 'doubl':80 'e.g':224 'enabl':172 'ensur':115 'error':154 'exampl':289 'expect':343 'experi':249 'failur':56 'fault':20,139,339 'fault-inject':338 'fault_injection.md':156,370 'feed':133,170,179,192,268,282,327,380 'feed-window':379 'field':122 'frame':311 'grace':53 'graphic':65 'gui':13,61,306,353 'hang':119 'hardwar':3,42,124,153,245 'header':394 'health':136,251,259,292,298,333,368,387,391 'health-bit':297 'health-mask':390 'high':34,91 'high-qual':90 'high-reli':33 'hmi':29 'human':26 'human-machin':25 'i2s':87,105,241,317 'i2s/codecs':16 'implement':89 'improv':247 'initi':228 'inject':21,140,340 'integr':44 'interact':214 'interfac':4,28,67 'interv':283 'k':162,197,199 'kconfig':171 'key':76,102,130,158 'lcd':69 'loop':185,308 'lvgl':12,60,215 'lvgl_gui.md':74,352 'machin':27 'main':184 'maintain':309 'manag':98 'map':293,388 'mask':392 'met':337 'mission':37 'mission-crit':36 'monitor':252,266 'msec':200 'nativ':82 'never':118 'non':213 'non-interact':212 'oop':163 'pattern':203,363 'perform':188,356 'period':276 'peripher':46 'ping':109 'ping-pong':108 'polici':328 'pong':110 'pop':231 'produc':342 'profession':202 'protect':244 'qualiti':92 'quick':167 'ramp':236 'reason':165,345 'recov':52,148 'recoveri':347 'refer':73,99,127,155,350,351 'references/audio_i2s.md':101 'references/fault_injection.md':157 'references/lvgl_gui.md':75 'references/watchdog_reliability.md':129 'reliabl':7,35,43,114,204 'render':307 'reset':164,329,344 'resili':49,141,372 'resourc':349 'rtos':10 'safe':206 'scenario':341 'screen':216 'script':376,377 'scripts/watchdog_window_check.py':280 'set':275 'setup':366 'show':218 'sim':83 'simpl':211 'simul':84 'skill' 'skill-specialized' 'sleep':198 'softwar':151 'sophist':64 'source-beriberikix' 'special':1,2,41 'start':168,238 'starter':296 'starts/stops':320 'starv':314 'status':220 'stop':240 'stream':95,107,242,319,360 'style':79 'subsystem':223 'supervis':303 'support':174 'system':6,39,50,117,144,219,331,371 'target':310 'task':316 'templat':290,393 'template.h':294,389 'test':142,161,375 'tft':71 'thread':263 'time':284,382 'timer':18,126,270 'tool':77,103,131,159,278 'topic-agent-skills' 'topic-agentic-coding' 'topic-zephyr-rtos' 'track':257 'trigger':22 'tune':357 'underrun':322 'unexpect':55,150 'use':123,209,234,253 'user':66,248 'ux':205 'valid':304 'verifi':281 'volum':235 'watchdog':17,113,125,135,169,173,176,265,286,291,302,326,365,386 'watchdog_reliability.md':128,364 'watchdog_window_check.py':279,378 'wdt':132,191,193,195 'widget':78,354 'window':134,287,381 'without':313,321 'work':190 'workflow':58 'y':177 'zephyr':9,40 'zero':230 'zero-pop':229","prices":[{"id":"d31f9a1b-b0ae-49d4-8a49-ea931f36ddb9","listingId":"31893223-342f-404b-a301-e4f32504eab2","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"beriberikix","category":"zephyr-agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T23:05:02.190Z"}],"sources":[{"listingId":"31893223-342f-404b-a301-e4f32504eab2","source":"github","sourceId":"beriberikix/zephyr-agent-skills/specialized","sourceUrl":"https://github.com/beriberikix/zephyr-agent-skills/tree/main/skills/specialized","isPrimary":false,"firstSeenAt":"2026-04-18T23:05:02.190Z","lastSeenAt":"2026-04-24T07:01:42.805Z"}],"details":{"listingId":"31893223-342f-404b-a301-e4f32504eab2","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"beriberikix","slug":"specialized","github":{"repo":"beriberikix/zephyr-agent-skills","stars":25,"topics":["agent-skills","agentic-coding","zephyr-rtos"],"license":"apache-2.0","html_url":"https://github.com/beriberikix/zephyr-agent-skills","pushed_at":"2026-04-20T21:40:18Z","description":"A complete catalog of Agent Skills (agentskills.io) for Zephyr RTOS development.","skill_md_sha":"ee5f8cb9782b09074292bd76626cc2146ee76db3","skill_md_path":"skills/specialized/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/beriberikix/zephyr-agent-skills/tree/main/skills/specialized"},"layout":"multi","source":"github","category":"zephyr-agent-skills","frontmatter":{"name":"specialized","description":"Specialized hardware interfaces and system reliability for Zephyr RTOS. Covers LVGL GUI development, Audio I2S/Codecs, Watchdog timers, and Fault Injection. Trigger when building human-machine interfaces (HMI), audio devices, or high-reliability mission-critical systems."},"skills_sh_url":"https://skills.sh/beriberikix/zephyr-agent-skills/specialized"},"updatedAt":"2026-04-24T07:01:42.805Z"}}