[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GJC2DHB2VRKKP5W6VCBS1A":3,"skill-same:01M6GJC2DHB2VRKKP5W6VCBS1A":111},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":62,"commitSha":63,"skillDirectory":64,"forksCount":65,"repositoryHtmlUrl":66,"repositoryHomepageUrl":6,"ownerHtmlUrl":67,"ownerBlogUrl":6,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M6GJC2DHB2VRKKP5W6VCBS1A","pixel-art",null,"Pixel art w\u002F era palettes (NES, Game Boy, PICO-8).","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fpixel-art\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[27,28,29,30,31,5,32,33,34,35,36,37,38,39,40,41,42,43,44],"pixel","Art","pixel art","game","studio","loops","hardware","gameboy","creative","image","retro","Animation","Video","https","windows","linux","github","macos","2026-11-10 10:12:30",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\nplatforms: [linux, macos, windows]\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":50,"license":15,"version":51,"metadata":52,"platforms":61,"description":7},"dodo-reach","2.0.0",{"hermes":53},{"tags":54,"credits":59,"category":35},[35,5,55,56,57,34,37,36,58],"arcade","snes","nes","video",[60],"Hardware palettes and animation loops ported from Synero\u002Fpixel-art-studio (MIT) — https:\u002F\u002Fgithub.com\u002FSynero\u002Fpixel-art-studio",[42,44,41],"main","0d1434f89f4bc6b07e9d272accd8c1013768820f","registry\u002Fskills\u002Fpixel-art\u002Fvariants\u002Fhermes-agent",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add zapabob\u002FSkills --skill pixel-art",{"tool":76,"command":77},"bunx","bunx skills add zapabob\u002FSkills --skill pixel-art",{"tool":79,"command":80},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill pixel-art","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fpixel-art\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",true,[84,90,94,99,103,107],{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"ATTRIBUTION.md","REFERENCE","参考文档",2210,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fpixel-art\u002Fvariants\u002Fhermes-agent\u002FATTRIBUTION.md",{"path":91,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fpalettes.md",1711,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fpixel-art\u002Fvariants\u002Fhermes-agent\u002Freferences\u002Fpalettes.md",{"path":95,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":65,"sourceHtmlUrl":98},"scripts\u002F__init__.py","SCRIPT","脚本","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fpixel-art\u002Fvariants\u002Fhermes-agent\u002Fscripts\u002F__init__.py",{"path":100,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":101,"sourceHtmlUrl":102},"scripts\u002Fpalettes.py",7455,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fpixel-art\u002Fvariants\u002Fhermes-agent\u002Fscripts\u002Fpalettes.py",{"path":104,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":105,"sourceHtmlUrl":106},"scripts\u002Fpixel_art_video.py",12117,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fpixel-art\u002Fvariants\u002Fhermes-agent\u002Fscripts\u002Fpixel_art_video.py",{"path":108,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":109,"sourceHtmlUrl":110},"scripts\u002Fpixel_art.py",5811,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fpixel-art\u002Fvariants\u002Fhermes-agent\u002Fscripts\u002Fpixel_art.py",[112,143,176,201,228,245],{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":129,"publishedAt":45},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[118,121,124],{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[114,130,44,131,43,42,41,132,133,40,134,135,136,137,138,139,62,140,141,142],"openclaw","cli","official","search","social-media","api","Media","hermes","hermes agent","twitter","social","via","post",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":158,"publishedAt":45},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[149,150,153,154,155],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":151,"categoryName":152,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},{"categoryNo":156,"categoryName":157,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000036","内容创作者",[159,160,161,162,44,163,42,164,41,165,166,167,168,169,170,171,172,173,174,175],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":45},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[182],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[178,44,42,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":210,"publishedAt":45},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[207],{"categoryNo":208,"categoryName":209,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[211,44,212,213,41,214,215,216,217,218,219,191,220,221,222,223,224,225,226,227],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":229,"name":230,"nameZh":6,"description":231,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":232,"categories":233,"keywords":235,"publishedAt":45},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[234],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},[230,44,236,43,42,237,238,239,240,241,242,137,138,243,244],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":246,"name":247,"nameZh":6,"description":248,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":249,"categories":250,"keywords":253,"publishedAt":45},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[251,252],{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},[254,255,256,42,257,184,258,259,260,187,261,135,262,263,264,265,266,267,268,269],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]