Use this skill when writing or reviewing C code for simple, readable, cross-platform systems libraries. Best for allocation failure handling, ownership, cleanup paths, Linux-kernel-inspired C clarity, low-macro design, avoiding typedef struct aliases, and maintainable API-oriented C code.
Use this skill when implementing, integrating, or reviewing BMP read/write C code in wlframe, especially bitmap parsing and generation in image, buffer, or related modules. Best for BMP header validation, row padding and orientation handling, palette and bit-depth parsing, and wlframe-style ownership and cleanup review.
Use this skill when implementing, integrating, or reviewing JPEG read/write C code in wlframe, especially libjpeg-based parsing and generation in image, buffer, or related modules. Best for JPEG marker and colorspace handling, libjpeg lifecycle and error paths, scanline-based I/O, and wlframe-style ownership and cleanup review.
Use this skill when working on pixman broadly: image creation, compositing operators, regions, transforms, trapezoids, glyphs, gradients, clipping, damage tracking, pixel formats, endianness, software rasterization, and raw buffer integration. Best for full pixman implementation and code review, with wlframe-specific integration as a secondary concern.
Use this skill when implementing, integrating, or reviewing PNG read/write C code in wlframe, especially libpng-based parsing and generation in image, buffer, or related modules. Best for PNG format handling, libpng lifecycle and error paths, row-based I/O, and wlframe-style memory ownership review.
Use this skill when implementing, integrating, or reviewing PPM read/write C code in wlframe, especially portable pixmap parsing and generation in image, buffer, or related modules. Best for P3/P6 header parsing, max-value validation, ASCII and binary pixel decoding, and wlframe-style ownership and cleanup review.
Use this skill when designing or reviewing C struct layout, field ordering, alignment, cache locality, hot-path access, intrusive list nodes, implementation pointers, signal/listener grouping, and ABI-sensitive object layout. Best for deciding where fields like impl, link, events, and listeners should live and why.
Use this skill when working on Vulkan broadly: instance and device setup, queues, swapchains, render passes, pipelines, descriptor sets, synchronization, memory allocation, command recording, extensions, validation layers, and Vulkan portability concerns. Best for full Vulkan implementation and code review, with wlframe-specific integration as a secondary concern.