gif-gen
Create animated GIFs — crop regions, convert formats, slideshow, or AI-animate
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Create animated GIFs — crop regions, convert formats, slideshow, or AI-animate
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Redactar escritos jurídicos mexicanos largos (recursos de apelación, demandas, contestaciones, amparos) a partir de varios documentos de un expediente (demanda, contestación, pericial, confesional, sentencia), entregados como .docx editable. Úsalo cuando el usuario pida "recurso de apelación", "redacta el escrito", "haz la demanda/contestación en Word", o cualquier pieza procesal larga que deba correlacionar agravios/hechos con documentos fuente y jurisprudencia verificada.
Sintetizar o redactar un entregable a partir de varios documentos fuente (o pocos muy grandes) que juntos NO caben en la ventana de contexto — reportes multi-fuente, due diligence, análisis/comparación de contratos, resúmenes de expediente, investigación. Úsalo cuando debas correlacionar información entre múltiples documentos y producir un documento nuevo, y leerlos todos completos reventaría el contexto ("Prompt is too long"). NO es para leer un solo documento corto.
Busca y descarga assets de diseño (iconos, ilustraciones, 3D, animaciones Lottie, imágenes AI) desde IconScout. Dispara cuando el user pida un icono/ilustración/animación para un diseño, mockup, presentación o web, o mencione IconScout. 13.8M+ assets con licencia royalty-free.
Text-to-speech with Spanish voices (Kokoro, local & free) and OpenAI fallback
Transcribe a texto el HABLA de un audio largo o pesado (reuniones, notas de voz reenviadas, grabaciones de 10–60+ min). Trocea con ffmpeg y transcribe cada parte con Whisper, sin toparse con el límite de 25MB de la API. Úsala cuando llegue un [Audio file: ...] y el usuario pida "transcribe", "qué dice", "analiza el audio", o para resumir/analizar una grabación de voz.
Haz una versión nueva/ejecutiva/más limpia de un documento institucional (PDFs tipo "orden del día", agendas, hojas de evento, programas) MINANDO sus assets reales (logos, fotos de ponentes, texto, fuentes) y RECONSTRUYENDO en HTML — nunca re-difundiendo la página como imagen. Úsala ante "haz una nueva versión", "versión ejecutiva", "rehazlo más limpio", "adáptalo" de un PDF.
| name | gif-gen |
| description | Create animated GIFs — crop regions, convert formats, slideshow, or AI-animate |
| allowed-tools | Bash(generate-gif:*) |
| Mode | Command | Cost |
|---|---|---|
| Crop | generate-gif --crop WxH+X+Y img.png | Free |
| Convert | generate-gif --convert img.avif | Free |
| Sprite sheet | generate-gif --sprite 4x3 [--fps N] [--format gif|webp|mp4] sprite.png | Free |
| Slideshow | generate-gif img1.png img2.png img3.png | Free |
| AI animate | generate-gif --animate img.png "motion description" | ~$0.42 |
Use vision to look at the image and calculate exact pixel coordinates for the crop region.
Steps:
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 /path/to/img.jpggenerate-gif --crop WxH+X+Y /path/to/img.jpgExample: User says "solo la calavera de la izquierda" on a 1920x1080 image. You see the skull occupies roughly the left 40% horizontally and middle 60% vertically:
# W=768 (40% of 1920), H=648 (60% of 1080), X=0, Y=216 (20% offset from top)
generate-gif --crop 768x648+0+216 /workspace/group/attachments/img-1.jpg
Important: Always use ffprobe to get real dimensions — don't guess from the resized vision thumbnail.
Animate a sprite sheet (grid of frames) into GIF, webp, or mp4.
generate-gif --sprite 4x3 /workspace/group/attachments/spritesheet.png
generate-gif --sprite 8x2 --fps 15 --format webp spritesheet.png
generate-gif --sprite 6x1 --fps 24 --format mp4 spritesheet.png
COLSxROWS: grid layout (e.g. 4x3 = 4 columns, 3 rows = 12 frames, read left-to-right, top-to-bottom)--fps N: frames per second (default: 10)--format gif|webp|mp4: output format (default: gif)How to determine the grid:
ffprobe to get image dimensionsIterate with the user: If the animation speed feels off, adjust --fps. If they want a different format, re-run with --format. Quick iterations since it's all local ffmpeg.
generate-gif /workspace/group/attachments/img-1.jpg /workspace/group/attachments/img-2.jpg /workspace/group/attachments/img-3.jpg
[Image: attachments/img-xxx.jpg] in the conversationgenerate-gif --animate /workspace/group/attachments/img-1.jpg "the person smiles and waves"
Saves to /workspace/group/gif-*.gif or sprite-*.*. Send as image:
mcp__nanoclaw__send_message({ text: "Here's your GIF!", image_path: "/workspace/group/gif-123.gif" })