[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M74NV4F2NETR2XCV5HGFCPPE":3,"skill-same:01M74NV4F2NETR2XCV5HGFCPPE":85},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":13,"repositoryHtmlUrl":41,"repositoryHomepageUrl":6,"ownerHtmlUrl":42,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M74NV4F2NETR2XCV5HGFCPPE","pixel-art",null,"Pixel art w\u002F era palettes (NES, Game Boy, PICO-8).","LyrikNilpferd71\u002FHermes-Backup","LyrikNilpferd71","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F187173780?v=4","01M727S8GPB77P0S9ECRRMZT58","01M727S8HF63B0MD53F496MK1V",0,"MIT","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-08-23T14-00-52+0200\u002Fskills\u002Fcreative\u002Fpixel-art\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: pixel-art\ndescription: \"Pixel art w\u002F era palettes (NES, Game Boy, PICO-8).\"\nversion: 2.0.0\nauthor: dodo-reach\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [creative, pixel-art, arcade, snes, nes, gameboy, retro, image, video]\n    category: creative\n    credits:\n      - \"Hardware palettes and animation loops ported from Synero\u002Fpixel-art-studio (MIT) — https:\u002F\u002Fgithub.com\u002FSynero\u002Fpixel-art-studio\"\n---\n\n# Pixel Art\n\nConvert any image into retro pixel art, then optionally animate it into a short\nMP4 or GIF with era-appropriate effects (rain, fireflies, snow, embers).\n\nTwo scripts ship with this skill:\n\n- `scripts\u002Fpixel_art.py` — photo → pixel-art PNG (Floyd-Steinberg dithering)\n- `scripts\u002Fpixel_art_video.py` — pixel-art PNG → animated MP4 (+ optional GIF)\n\nEach is importable or runnable directly. Presets snap to hardware palettes\nwhen you want era-accurate colors (NES, Game Boy, PICO-8, etc.), or use\nadaptive N-color quantization for arcade\u002FSNES-style looks.\n\n## When to Use\n\n- User wants retro pixel art from a source image\n- User asks for NES \u002F Game Boy \u002F PICO-8 \u002F C64 \u002F arcade \u002F SNES styling\n- User wants a short looping animation (rain scene, night sky, snow, etc.)\n- Posters, album covers, social posts, sprites, characters, avatars\n\n## Workflow\n\nBefore generating, confirm the style with the user. Different presets produce\nvery different outputs and regenerating is costly.\n\n### Step 1 — Offer a style\n\nCall `clarify` with 4 representative presets. Pick the set based on what the\nuser asked for — don't just dump all 14.\n\nDefault menu when the user's intent is unclear:\n\n```python\nclarify(\n    question=\"Which pixel-art style do you want?\",\n    choices=[\n        \"arcade — bold, chunky 80s cabinet feel (16 colors, 8px)\",\n        \"nes — Nintendo 8-bit hardware palette (54 colors, 8px)\",\n        \"gameboy — 4-shade green Game Boy DMG\",\n        \"snes — cleaner 16-bit look (32 colors, 4px)\",\n    ],\n)\n```\n\nWhen the user already named an era (e.g. \"80s arcade\", \"Gameboy\"), skip\n`clarify` and use the matching preset directly.\n\n### Step 2 — Offer animation (optional)\n\nIf the user asked for a video\u002FGIF, or the output might benefit from motion,\nask which scene:\n\n```python\nclarify(\n    question=\"Want to animate it? Pick a scene or skip.\",\n    choices=[\n        \"night — stars + fireflies + leaves\",\n        \"urban — rain + neon pulse\",\n        \"snow — falling snowflakes\",\n        \"skip — just the image\",\n    ],\n)\n```\n\nDo NOT call `clarify` more than twice in a row. One for style, one for scene if\nanimation is on the table. If the user explicitly asked for a specific style\nand scene in their message, skip `clarify` entirely.\n\n### Step 3 — Generate\n\nRun `pixel_art()` first; if animation was requested, chain into\n`pixel_art_video()` on the result.\n\n## Preset Catalog\n\n| Preset | Era | Palette | Block | Best for |\n|--------|-----|---------|-------|----------|\n| `arcade` | 80s arcade | adaptive 16 | 8px | Bold posters, hero art |\n| `snes` | 16-bit | adaptive 32 | 4px | Characters, detailed scenes |\n| `nes` | 8-bit | NES (54) | 8px | True NES look |\n| `gameboy` | DMG handheld | 4 green shades | 8px | Monochrome Game Boy |\n| `gameboy_pocket` | Pocket handheld | 4 grey shades | 8px | Mono GB Pocket |\n| `pico8` | PICO-8 | 16 fixed | 6px | Fantasy-console look |\n| `c64` | Commodore 64 | 16 fixed | 8px | 8-bit home computer |\n| `apple2` | Apple II hi-res | 6 fixed | 10px | Extreme retro, 6 colors |\n| `teletext` | BBC Teletext | 8 pure | 10px | Chunky primary colors |\n| `mspaint` | Windows MS Paint | 24 fixed | 8px | Nostalgic desktop |\n| `mono_green` | CRT phosphor | 2 green | 6px | Terminal\u002FCRT aesthetic |\n| `mono_amber` | CRT amber | 2 amber | 6px | Amber monitor look |\n| `neon` | Cyberpunk | 10 neons | 6px | Vaporwave\u002Fcyber |\n| `pastel` | Soft pastel | 10 pastels | 6px | Kawaii \u002F gentle |\n\nNamed palettes live in `scripts\u002Fpalettes.py` (see `references\u002Fpalettes.md` for\nthe complete list — 28 named palettes total). Any preset can be overridden:\n\n```python\npixel_art(\"in.png\", \"out.png\", preset=\"snes\", palette=\"PICO_8\", block=6)\n```\n\n## Scene Catalog (for video)\n\n| Scene | Effects |\n|-------|---------|\n| `night` | Twinkling stars + fireflies + drifting leaves |\n| `dusk` | Fireflies + sparkles |\n| `tavern` | Dust motes + warm sparkles |\n| `indoor` | Dust motes |\n| `urban` | Rain + neon pulse |\n| `nature` | Leaves + fireflies |\n| `magic` | Sparkles + fireflies |\n| `storm` | Rain + lightning |\n| `underwater` | Bubbles + light sparkles |\n| `fire` | Embers + sparkles |\n| `snow` | Snowflakes + sparkles |\n| `desert` | Heat shimmer + dust |\n\n## Invocation Patterns\n\n### Python (import)\n\n```python\nimport sys\nsys.path.insert(0, \"\u002Fhome\u002Fteknium\u002F.hermes\u002Fskills\u002Fcreative\u002Fpixel-art\u002Fscripts\")\nfrom pixel_art import pixel_art\nfrom pixel_art_video import pixel_art_video\n\n# 1. Convert to pixel art\npixel_art(\"\u002Fpath\u002Fto\u002Fphoto.jpg\", \"\u002Ftmp\u002Fpixel.png\", preset=\"nes\")\n\n# 2. Animate (optional)\npixel_art_video(\n    \"\u002Ftmp\u002Fpixel.png\",\n    \"\u002Ftmp\u002Fpixel.mp4\",\n    scene=\"night\",\n    duration=6,\n    fps=15,\n    seed=42,\n    export_gif=True,\n)\n```\n\n### CLI\n\n```bash\ncd \u002Fhome\u002Fteknium\u002F.hermes\u002Fskills\u002Fcreative\u002Fpixel-art\u002Fscripts\n\npython pixel_art.py in.jpg out.png --preset gameboy\npython pixel_art.py in.jpg out.png --preset snes --palette PICO_8 --block 6\n\npython pixel_art_video.py out.png out.mp4 --scene night --duration 6 --gif\n```\n\n## Pipeline Rationale\n\n**Pixel conversion:**\n1. Boost contrast\u002Fcolor\u002Fsharpness (stronger for smaller palettes)\n2. Posterize to simplify tonal regions before quantization\n3. Downscale by `block` with `Image.NEAREST` (hard pixels, no interpolation)\n4. Quantize with Floyd-Steinberg dithering — against either an adaptive\n   N-color palette OR a named hardware palette\n5. Upscale back with `Image.NEAREST`\n\nQuantizing AFTER downscale keeps dithering aligned with the final pixel grid.\nQuantizing before would waste error-diffusion on detail that disappears.\n\n**Video overlay:**\n- Copies the base frame each tick (static background)\n- Overlays stateless-per-frame particle draws (one function per effect)\n- Encodes via ffmpeg `libx264 -pix_fmt yuv420p -crf 18`\n- Optional GIF via `palettegen` + `paletteuse`\n\n## Dependencies\n\n- Python 3.9+\n- Pillow (`pip install Pillow`)\n- ffmpeg on PATH (only needed for video — Hermes installs package this)\n\n## Pitfalls\n\n- Pallet keys are case-sensitive (`\"NES\"`, `\"PICO_8\"`, `\"GAMEBOY_ORIGINAL\"`).\n- Very small sources (\u003C100px wide) collapse under 8-10px blocks. Upscale the\n  source first if it's tiny.\n- Fractional `block` or `palette` will break quantization — keep them positive ints.\n- Animation particle counts are tuned for ~640x480 canvases. On very large\n  images you may want a second pass with a different seed for density.\n- `mono_green` \u002F `mono_amber` force `color=0.0` (desaturate). If you override\n  and keep chroma, the 2-color palette can produce stripes on smooth regions.\n- `clarify` loop: call it at most twice per turn (style, then scene). Don't\n  pepper the user with more picks.\n\n## Verification\n\n- PNG is created at the output path\n- Clear square pixel blocks visible at the preset's block size\n- Color count matches preset (eyeball the image or run `Image.open(p).getcolors()`)\n- Video is a valid MP4 (`ffprobe` can open it) with non-zero size\n\n## Attribution\n\nNamed hardware palettes and the procedural animation loops in `pixel_art_video.py`\nare ported from [pixel-art-studio](https:\u002F\u002Fgithub.com\u002FSynero\u002Fpixel-art-studio)\n(MIT). See `ATTRIBUTION.md` in this skill directory for details.\n","# Pixel Art\n\nConvert any image into retro pixel art, then optionally animate it into a short\nMP4 or GIF with era-appropriate effects (rain, fireflies, snow, embers).\n\nTwo scripts ship with this skill:\n\n- `scripts\u002Fpixel_art.py` — photo → pixel-art PNG (Floyd-Steinberg dithering)\n- `scripts\u002Fpixel_art_video.py` — pixel-art PNG → animated MP4 (+ optional GIF)\n\nEach is importable or runnable directly. Presets snap to hardware palettes\nwhen you want era-accurate colors (NES, Game Boy, PICO-8, etc.), or use\nadaptive N-color quantization for arcade\u002FSNES-style looks.\n\n## When to Use\n\n- User wants retro pixel art from a source image\n- User asks for NES \u002F Game Boy \u002F PICO-8 \u002F C64 \u002F arcade \u002F SNES styling\n- User wants a short looping animation (rain scene, night sky, snow, etc.)\n- Posters, album covers, social posts, sprites, characters, avatars\n\n## Workflow\n\nBefore generating, confirm the style with the user. Different presets produce\nvery different outputs and regenerating is costly.\n\n### Step 1 — Offer a style\n\nCall `clarify` with 4 representative presets. Pick the set based on what the\nuser asked for — don't just dump all 14.\n\nDefault menu when the user's intent is unclear:\n\n```python\nclarify(\n    question=\"Which pixel-art style do you want?\",\n    choices=[\n        \"arcade — bold, chunky 80s cabinet feel (16 colors, 8px)\",\n        \"nes — Nintendo 8-bit hardware palette (54 colors, 8px)\",\n        \"gameboy — 4-shade green Game Boy DMG\",\n        \"snes — cleaner 16-bit look (32 colors, 4px)\",\n    ],\n)\n```\n\nWhen the user already named an era (e.g. \"80s arcade\", \"Gameboy\"), skip\n`clarify` and use the matching preset directly.\n\n### Step 2 — Offer animation (optional)\n\nIf the user asked for a video\u002FGIF, or the output might benefit from motion,\nask which scene:\n\n```python\nclarify(\n    question=\"Want to animate it? Pick a scene or skip.\",\n    choices=[\n        \"night — stars + fireflies + leaves\",\n        \"urban — rain + neon pulse\",\n        \"snow — falling snowflakes\",\n        \"skip — just the image\",\n    ],\n)\n```\n\nDo NOT call `clarify` more than twice in a row. One for style, one for scene if\nanimation is on the table. If the user explicitly asked for a specific style\nand scene in their message, skip `clarify` entirely.\n\n### Step 3 — Generate\n\nRun `pixel_art()` first; if animation was requested, chain into\n`pixel_art_video()` on the result.\n\n## Preset Catalog\n\n| Preset | Era | Palette | Block | Best for |\n|--------|-----|---------|-------|----------|\n| `arcade` | 80s arcade | adaptive 16 | 8px | Bold posters, hero art |\n| `snes` | 16-bit | adaptive 32 | 4px | Characters, detailed scenes |\n| `nes` | 8-bit | NES (54) | 8px | True NES look |\n| `gameboy` | DMG handheld | 4 green shades | 8px | Monochrome Game Boy |\n| `gameboy_pocket` | Pocket handheld | 4 grey shades | 8px | Mono GB Pocket |\n| `pico8` | PICO-8 | 16 fixed | 6px | Fantasy-console look |\n| `c64` | Commodore 64 | 16 fixed | 8px | 8-bit home computer |\n| `apple2` | Apple II hi-res | 6 fixed | 10px | Extreme retro, 6 colors |\n| `teletext` | BBC Teletext | 8 pure | 10px | Chunky primary colors |\n| `mspaint` | Windows MS Paint | 24 fixed | 8px | Nostalgic desktop |\n| `mono_green` | CRT phosphor | 2 green | 6px | Terminal\u002FCRT aesthetic |\n| `mono_amber` | CRT amber | 2 amber | 6px | Amber monitor look |\n| `neon` | Cyberpunk | 10 neons | 6px | Vaporwave\u002Fcyber |\n| `pastel` | Soft pastel | 10 pastels | 6px | Kawaii \u002F gentle |\n\nNamed palettes live in `scripts\u002Fpalettes.py` (see `references\u002Fpalettes.md` for\nthe complete list — 28 named palettes total). Any preset can be overridden:\n\n```python\npixel_art(\"in.png\", \"out.png\", preset=\"snes\", palette=\"PICO_8\", block=6)\n```\n\n## Scene Catalog (for video)\n\n| Scene | Effects |\n|-------|---------|\n| `night` | Twinkling stars + fireflies + drifting leaves |\n| `dusk` | Fireflies + sparkles |\n| `tavern` | Dust motes + warm sparkles |\n| `indoor` | Dust motes |\n| `urban` | Rain + neon pulse |\n| `nature` | Leaves + fireflies |\n| `magic` | Sparkles + fireflies |\n| `storm` | Rain + lightning |\n| `underwater` | Bubbles + light sparkles |\n| `fire` | Embers + sparkles |\n| `snow` | Snowflakes + sparkles |\n| `desert` | Heat shimmer + dust |\n\n## Invocation Patterns\n\n### Python (import)\n\n```python\nimport sys\nsys.path.insert(0, \"\u002Fhome\u002Fteknium\u002F.hermes\u002Fskills\u002Fcreative\u002Fpixel-art\u002Fscripts\")\nfrom pixel_art import pixel_art\nfrom pixel_art_video import pixel_art_video\n\n# 1. Convert to pixel art\npixel_art(\"\u002Fpath\u002Fto\u002Fphoto.jpg\", \"\u002Ftmp\u002Fpixel.png\", preset=\"nes\")\n\n# 2. Animate (optional)\npixel_art_video(\n    \"\u002Ftmp\u002Fpixel.png\",\n    \"\u002Ftmp\u002Fpixel.mp4\",\n    scene=\"night\",\n    duration=6,\n    fps=15,\n    seed=42,\n    export_gif=True,\n)\n```\n\n### CLI\n\n```bash\ncd \u002Fhome\u002Fteknium\u002F.hermes\u002Fskills\u002Fcreative\u002Fpixel-art\u002Fscripts\n\npython pixel_art.py in.jpg out.png --preset gameboy\npython pixel_art.py in.jpg out.png --preset snes --palette PICO_8 --block 6\n\npython pixel_art_video.py out.png out.mp4 --scene night --duration 6 --gif\n```\n\n## Pipeline Rationale\n\n**Pixel conversion:**\n1. Boost contrast\u002Fcolor\u002Fsharpness (stronger for smaller palettes)\n2. Posterize to simplify tonal regions before quantization\n3. Downscale by `block` with `Image.NEAREST` (hard pixels, no interpolation)\n4. Quantize with Floyd-Steinberg dithering — against either an adaptive\n   N-color palette OR a named hardware palette\n5. Upscale back with `Image.NEAREST`\n\nQuantizing AFTER downscale keeps dithering aligned with the final pixel grid.\nQuantizing before would waste error-diffusion on detail that disappears.\n\n**Video overlay:**\n- Copies the base frame each tick (static background)\n- Overlays stateless-per-frame particle draws (one function per effect)\n- Encodes via ffmpeg `libx264 -pix_fmt yuv420p -crf 18`\n- Optional GIF via `palettegen` + `paletteuse`\n\n## Dependencies\n\n- Python 3.9+\n- Pillow (`pip install Pillow`)\n- ffmpeg on PATH (only needed for video — Hermes installs package this)\n\n## Pitfalls\n\n- Pallet keys are case-sensitive (`\"NES\"`, `\"PICO_8\"`, `\"GAMEBOY_ORIGINAL\"`).\n- Very small sources (\u003C100px wide) collapse under 8-10px blocks. Upscale the\n  source first if it's tiny.\n- Fractional `block` or `palette` will break quantization — keep them positive ints.\n- Animation particle counts are tuned for ~640x480 canvases. On very large\n  images you may want a second pass with a different seed for density.\n- `mono_green` \u002F `mono_amber` force `color=0.0` (desaturate). If you override\n  and keep chroma, the 2-color palette can produce stripes on smooth regions.\n- `clarify` loop: call it at most twice per turn (style, then scene). Don't\n  pepper the user with more picks.\n\n## Verification\n\n- PNG is created at the output path\n- Clear square pixel blocks visible at the preset's block size\n- Color count matches preset (eyeball the image or run `Image.open(p).getcolors()`)\n- Video is a valid MP4 (`ffprobe` can open it) with non-zero size\n\n## Attribution\n\nNamed hardware palettes and the procedural animation loops in `pixel_art_video.py`\nare ported from [pixel-art-studio](https:\u002F\u002Fgithub.com\u002FSynero\u002Fpixel-art-studio)\n(MIT). See `ATTRIBUTION.md` in this skill directory for details.\n",{"name":5,"author":23,"license":14,"version":24,"metadata":25,"description":7},"dodo-reach","2.0.0",{"hermes":26},{"tags":27,"credits":36,"category":28},[28,5,29,30,31,32,33,34,35],"creative","arcade","snes","nes","gameboy","retro","image","video",[37],"Hardware palettes and animation loops ported from Synero\u002Fpixel-art-studio (MIT) — https:\u002F\u002Fgithub.com\u002FSynero\u002Fpixel-art-studio","main","404fd33aabef3b6bc1cc913117ba2160ade62625","snapshots\u002F2026-08-23T14-00-52+0200\u002Fskills\u002Fcreative\u002Fpixel-art","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71","2026-11-08 20:00:57",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add LyrikNilpferd71\u002FHermes-Backup --skill pixel-art",{"tool":50,"command":51},"bunx","bunx skills add LyrikNilpferd71\u002FHermes-Backup --skill pixel-art",{"tool":53,"command":54},"pnpm","pnpm dlx skills add LyrikNilpferd71\u002FHermes-Backup --skill pixel-art","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-08-23T14-00-52+0200\u002Fskills\u002Fcreative\u002Fpixel-art\u002FSKILL.md",true,[58,64,68,73,77,81],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"ATTRIBUTION.md","REFERENCE","参考文档",2210,"https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-08-23T14-00-52+0200\u002Fskills\u002Fcreative\u002Fpixel-art\u002FATTRIBUTION.md",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"references\u002Fpalettes.md",1711,"https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-08-23T14-00-52+0200\u002Fskills\u002Fcreative\u002Fpixel-art\u002Freferences\u002Fpalettes.md",{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":13,"sourceHtmlUrl":72},"scripts\u002F__init__.py","SCRIPT","脚本","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-08-23T14-00-52+0200\u002Fskills\u002Fcreative\u002Fpixel-art\u002Fscripts\u002F__init__.py",{"path":74,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":75,"sourceHtmlUrl":76},"scripts\u002Fpalettes.py",7455,"https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-08-23T14-00-52+0200\u002Fskills\u002Fcreative\u002Fpixel-art\u002Fscripts\u002Fpalettes.py",{"path":78,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":79,"sourceHtmlUrl":80},"scripts\u002Fpixel_art_video.py",12117,"https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-08-23T14-00-52+0200\u002Fskills\u002Fcreative\u002Fpixel-art\u002Fscripts\u002Fpixel_art_video.py",{"path":82,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Fpixel_art.py",5811,"https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-08-23T14-00-52+0200\u002Fskills\u002Fcreative\u002Fpixel-art\u002Fscripts\u002Fpixel_art.py",[86,94,101,108,115,122],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":93},"01M76BBCCNA7WQ82Q8QNZH8PBK","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[],[],"2026-11-12 13:55:43",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":93},"01M76BB8YS41CA3NKW0YMSSB88","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[],[],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":93},"01M76BB680FPNT998E1GM2QW10","subagent-driven-development","Execute plans via delegate_task subagents (2-stage review).","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[],[],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":93},"01M76BB3C4ZB9S4RWPMM8MX0YB","plan","Write a markdown plan to .hermes\u002Fplans\u002F; no execution.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fplan\u002FSKILL.md",[],[],{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":93},"01M76BB0NK28KMP51YDB5R3EXA","hermes-agent-skill-authoring","Author in-repo SKILL.md files: frontmatter and structure.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fhermes-agent-skill-authoring\u002FSKILL.md",[],[],{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":93},"01M76BAYV58H0CKNSTZE3ZH4NY","debugging-hermes-tui-commands","Debug Hermes TUI slash commands: Python, gateway, Ink UI.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fdebugging-hermes-tui-commands\u002FSKILL.md",[],[]]