<Devsly/>
NotebookLM Watermark Remover
Remove the NotebookLM watermark from PDF slide exports — free, unlimited, and 100% in your browser.
View
NotebookLM Video Watermark Remover
Remove the NotebookLM watermark from every frame of your MP4 and auto-trim the end card — free and unlimited.
View
Gemini Watermark Remover
Remove the Gemini (Veo) sparkle watermark from every frame of your AI-generated MP4 — free and unlimited.
View
MCP https://devsly.io/mcp MCP Tools Best Skills API Docs

Keyboard Shortcuts

Navigation

Quick Search
⌘ / Ctrl + K
Toggle Dark Mode
⌘ / Ctrl + D
Close Dialogs
Esc

Tool Actions

Execute / Process
⌘ / Ctrl + Enter
Clear Input
⌘ / Ctrl + Shift + C
Copy Output
⌘ / Ctrl + Shift + X

Editor

Select All
⌘ / Ctrl + A
Undo
⌘ / Ctrl + Z
Redo
⌘ / Ctrl + Shift + Z

Updated 1d ago

by godot-fun

gai

A lightweight AI agent and skill workflow framework built with Godot.

  • Active — Updated in the last 14 days

187 GitHub stars (187)

+13 in 16 days

Stars gained per day · daily snapshots since Sep 30
Stars gained per day, Sep 30 to Oct 16: +13 in total; the busiest day was Oct 5 with +3 stars.Oct 1: 0 starsOct 2: +1 starsOct 3: 0 starsOct 4: +1 starsOct 5: +3 starsOct 6: 0 starsOct 7: +2 starsOct 8: +1 starsOct 9: 0 starsOct 10: +1 starsOct 11: +1 starsOct 12: 0 starsOct 13: +1 starsOct 14: 0 starsOct 15: +1 starsOct 16: +1 stars
Stars gained between daily snapshots
PeriodNew stars
Oct 10
Oct 2+1
Oct 30
Oct 4+1
Oct 5+3
Oct 60
Oct 7+2
Oct 8+1
Oct 90
Oct 10+1
Oct 11+1
Oct 120
Oct 13+1
Oct 140
Oct 15+1
Oct 16+1
  • 30 skills (30 skills found in its SKILL.md files)
  • 19 forks (19 forks)
  • 1d ago last update (Last updated 1d ago)

Install

Skills CLI

npx skills add godot-fun/gai

Asks which skills and agents to install. Just one: npx skills add godot-fun/gai --skill ai-text-to-speech — add -g for every project.

Claude Code

git clone https://github.com/godot-fun/gaicp -r "gai/.agents/skills/ai-text-to-speech" ~/.claude/skills/

Copies the ai-text-to-speech skill into ~/.claude/skills/ for every project (use .claude/skills/ for one project). Repeat for the other skills listed below.

Plugin

/plugin marketplace add godot-fun/gai

Run inside Claude Code if the repository ships a plugin marketplace, then pick plugins from /plugin.

Skills can run code on your machine — read the SKILL.md first.

What it does

In the author's own words, from each skill's SKILL.md — showing the first 30 of 35 files.

  • ai-text-to-speech

    Zero-shot text-to-speech with voice cloning via IndexTTS2 (index-tts). Synthesizes speech from text using a user-provided reference audio for timbre. Use when the user wants TTS, text-to-speech, voice cloning, voice clone, IndexTTS, IndexTTS2, or generating narration/voice lines from a reference WAV.

    .agents/skills/ai-text-to-speech/SKILL.md on GitHub (opens in a new tab)
  • audio-denoise

    Reduces background noise in a single audio file using FFmpeg afftdn. Use when the user wants audio denoise, noise reduction, hiss removal, room noise cleanup, or SFX/voice cleanup before normalization.

    .agents/skills/audio-denoise/SKILL.md on GitHub (opens in a new tab)
  • audio-fade

    Applies fade-in and fade-out at the start and end of a single audio file using FFmpeg. Use when the user wants audio fade, fade in/out, smooth attack/release, crossfade prep, SFX envelope shaping, or mentions afade.

    .agents/skills/audio-fade/SKILL.md on GitHub (opens in a new tab)
  • audio-loudness-normalization

    Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg. Use when the user wants loudness normalization, volume matching, unified audio levels, SFX/UI/BGM leveling, or mentions LUFS, true peak, loudnorm, or inconsistent game audio.

    .agents/skills/audio-loudness-normalization/SKILL.md on GitHub (opens in a new tab)
  • audio-sample-rate-standardize

    Standardizes a single audio file to 44100 or 48000 Hz and exports 16-bit PCM WAV using FFmpeg. Use when the user wants sample rate standardization, resample to 44.1 kHz or 48 kHz, WAV export at project sample rates, or mentions 44100, 48000, or PCM WAV conversion without loudness normalization.

    .agents/skills/audio-sample-rate-standardize/SKILL.md on GitHub (opens in a new tab)
  • audio-split

    Splits a single audio file into two segments (part 1 before the split point, part 2 after) using FFmpeg. Use when the user wants to split audio, divide a clip into two parts, cut at a timestamp, or separate intro from body.

    .agents/skills/audio-split/SKILL.md on GitHub (opens in a new tab)
  • audio-to-ogg

    Converts a single audio file to OGG Vorbis using FFmpeg for Godot-ready compressed assets. Use when the user wants to convert audio to OGG, transcode WAV/MP3/FLAC/AAC to OGG, export a Godot-ready OGG asset, or mentions Vorbis, libvorbis, or Godot audio import.

    .agents/skills/audio-to-ogg/SKILL.md on GitHub (opens in a new tab)
  • audio-to-wav

    Converts a single audio file to WAV (PCM) using FFmpeg while preserving source quality. Use when the user wants to convert audio to WAV, transcode MP3/OGG/FLAC/AAC to WAV without downgrading sample rate or bit depth, or export a lossless WAV source asset.

    .agents/skills/audio-to-wav/SKILL.md on GitHub (opens in a new tab)
  • audio-trim

    Trims leading and trailing silence from audio files using FFmpeg. Use when the user wants audio trim, trim silence at start/end, remove leading/trailing silence, batch SFX cleanup, or voice dialogue preprocessing.

    .agents/skills/audio-trim/SKILL.md on GitHub (opens in a new tab)
  • audio-volume-adjust

    Adjusts audio file volume up or down using FFmpeg. Use when the user wants to change volume, boost or reduce loudness, attenuate or amplify SFX/UI/BGM, apply dB gain, raise/lower clip levels, or batch-adjust audio amplitude.

    .agents/skills/audio-volume-adjust/SKILL.md on GitHub (opens in a new tab)
  • file-naming-normalization

    Normalizes asset filenames by splitting on common separators, stripping asset IDs and optional user strings from each segment, then joining with underscores (snake_case). Use when normalizing asset filenames, batch-renaming SFX/UI textures, file naming normalization, asset naming convention, slug normalization, or snake_case asset names.

    .agents/skills/file-naming-normalization/SKILL.md on GitHub (opens in a new tab)
  • git-commit-message

    Generate single-line Conventional Commits messages by analyzing git diffs and repository history. Use when the user asks for commit messages or help writing commits.

    .agents/skills/git-commit-message/SKILL.md on GitHub (opens in a new tab)
  • image-inpaint-region

    Local circular region inpainting with LaMa (IOPaint). Uses IOPaint default InpaintRequest and mask handling. Use for local region inpaint / local region repair / inpaint when circle center and radius cx,cy,r are known.

    .agents/skills/image-inpaint-region/SKILL.md on GitHub (opens in a new tab)
  • image-region-remove-key-color-app

    Interactive Gradio UI to paint a region and remove solid key-color background (white / green / magenta) only inside that selection. Use when enclosed white islands remain after border/both keying, for localized white-background cutout, paint-to-erase chroma patches, or selective color-key cleanup before Godot sprite import.

    .agents/skills/image-region-remove-key-color-app/SKILL.md on GitHub (opens in a new tab)
  • image-remove-background

    Removes image backgrounds and exports transparent PNGs using rembg (U2Net / BiRefNet). Use when the user wants background removal, matting, cutout, background cutout, transparent sprites, alpha PNG export, or remove background from a game/UI asset.

    .agents/skills/image-remove-background/SKILL.md on GitHub (opens in a new tab)
  • image-remove-white-background

    Removes solid-color backgrounds (white, green #00FF00, magenta #FF00FF) from a single AI-generated image using color key and border flood fill — not AI matting. Use when rembg over-removes foreground, for flat white/green/magenta backgrounds, color key cutout, white-background cutout, green screen, or chroma key before Godot sprite import.

    .agents/skills/image-remove-white-background/SKILL.md on GitHub (opens in a new tab)
  • image-resize

    Resizes a single image to explicit width and height using ImageMagick. Use when the user wants image resize, scale a sprite/texture, resize a UI asset or icon, or mentions ImageMagick resize — target size must be specified before running.

    .agents/skills/image-resize/SKILL.md on GitHub (opens in a new tab)
  • image-sprite-sheet-split

    Splits uniform sprite sheet grids into individual frame PNGs using FFmpeg crop. Use when the user wants to split sprite sheets, extract animation frames, divide grid images into cells, cut 4x4 or NxM sheets, slice tilesets, or prepare frames for background removal.

    .agents/skills/image-sprite-sheet-split/SKILL.md on GitHub (opens in a new tab)
  • image-to-png

    Converts image files to PNG using FFmpeg while preserving dimensions and alpha. Use when the user wants to convert images to PNG, transcode JPG/WebP/GIF/BMP/TIFF to PNG, export a game/UI texture as PNG, or mentions PNG conversion without background removal.

    .agents/skills/image-to-png/SKILL.md on GitHub (opens in a new tab)
  • image-to-text

    Converts one or more images into faithful text descriptions or OCR with the local 1.3B MiniCPM-V 4.6 GGUF model through llama.cpp, automatically preferring an available Vulkan GPU and falling back to CPU. Use when the user asks to describe, caption, compare, transcribe, inspect, or extract visible details and text from PNG, JPEG, WebP, GIF, BMP, or TIFF images without a GPU or remote vision API.

    .agents/skills/image-to-text/SKILL.md on GitHub (opens in a new tab)
  • image-trim

    Trims invalid border regions (transparent or solid-color padding) from images using Pillow. Default crop preserves the source aspect ratio. Use when the user wants image trim, crop empty borders, remove transparent margins, trim white padding, auto-crop sprites, or tighten cutouts before Godot import.

    .agents/skills/image-trim/SKILL.md on GitHub (opens in a new tab)
  • storyboard-av-mix

    Muxes per-shot storyboard video with Chinese and English voice-over by retiming video to match VO duration (setpts), writing Video-Chinese/ and Video-English/ (matched by shot id 01, 02, …). Use when the user wants storyboard A/V mix, storyboard A/V mix, VO dubbing mix, video retime to audio, Video-Chinese, Video-English, bilingual VO on cut video, or batch mux Video/ + Chinese/ + English/.

    .agents/skills/storyboard-av-mix/SKILL.md on GitHub (opens in a new tab)
  • storyboard-shot-to-html

    Turns a storyboard shot (video prompt + narration) into a self-contained fullscreen HTML CSS animation for the browser. Analyzes VO/narration, searches related facts and usage cues, then builds a rich layered stage (camera, subject, secondary UI, light, micro-detail) with Fullscreen API and Space-to-play. Use when the user wants storyboard-shot-to-html, HTML animation preview, prompt-to-HTML, sto…

    .agents/skills/storyboard-shot-to-html/SKILL.md on GitHub (opens in a new tab)
  • storyboard-tts

    Converts storyboard markdown (bilingual Chinese + English narration per shot) into speech audio via IndexTTS2 (same stack as ai-text-to-speech). Batch-writes WAVs under Chinese/ and English/ named by shot id (model loaded once), pads 0.4 s edge silence in place, then a speech-timeline.md and one concatenated SRT per language (Chinese.srt / English.srt). Use when the user wants storyboard TTS, sto…

    .agents/skills/storyboard-tts/SKILL.md on GitHub (opens in a new tab)
  • storyboard

    Turns user materials into a shot-by-shot storyboard with bilingual narration (Chinese + English VO, both required) and AI video prompts per shot. When the user gives a target path (especially .md), write the full storyboard there — do not only print it in chat. Style and duration are free. Use when the user asks for storyboard, shot list, narration, VO script, AI video prompts, image-to-video pro…

    .agents/skills/storyboard/SKILL.md on GitHub (opens in a new tab)
  • video-4k-normalization

    Normalizes a single video clip to unified 3840×2160 60FPS H.265 Main10 40Mbps + AAC 320kbps BT.709 SDR MP4 4K master (FFmpeg re-encode, HDR tone-mapped). Use before hard-cut merge when 4K (or near-4K) clips differ in color space, HDR/SDR, fps, or size. Triggers: video-4k-normalization, 4K normalization, video normalization, media conform, unify encode, color conform, tone map HDR, prepare for vid…

    .agents/skills/video-4k-normalization/SKILL.md on GitHub (opens in a new tab)
  • video-compress-to-size

    Compresses a single video file to stay under a user-specified max file size using FFmpeg. Prefers GPU encoders (NVENC / AMF / QSV) with VBR bitrate targeting; falls back to CPU two-pass H.264/HEVC. Use when the user wants to compress video, reduce video file size, shrink MP4/MKV/MOV under N MB, GPU encode, NVENC compress, or re-encode a clip to a size limit.

    .agents/skills/video-compress-to-size/SKILL.md on GitHub (opens in a new tab)
  • video-merge-gpu

    Merges multiple videos from a folder (sorted by filename) into one clip with a random xfade transition (0.5s) between each pair; freeze-pads so total duration equals the sum of sources. Encodes with GPU HEVC only (NVENC / AMF / QSV — no CPU libx265 fallback). Exports 3840×2160 60fps H.265 Main10 40Mbps + AAC 320kbps. Use when the user wants video-merge-gpu, GPU video merge, NVENC merge, hevc_nven…

    .agents/skills/video-merge-gpu/SKILL.md on GitHub (opens in a new tab)
  • video-merge

    Merges multiple videos from a folder (sorted by filename) into one clip with a random xfade transition (0.5s) between each pair; freeze-pads so total duration equals the sum of sources. Exports 3840×2160 60fps H.265 Main10 40Mbps + AAC 320kbps. Use when the user wants video merge, concatenate videos, video concat, transition animation, xfade, join clips, or batch stitch clips with transitions.

    .agents/skills/video-merge/SKILL.md on GitHub (opens in a new tab)
  • video-publish

    From user materials, generates multi-platform video publish pack: Zhihu Chinese article, Reddit English post, 3 landscape + 3 portrait Google image-gen cover prompts, and title/description/tags for Bilibili, Douyin, Xiaohongshu, Weibo, YouTube, X, TikTok, Instagram — each in separate files, platform-native and click-worthy. Use when the user wants video-publish, video publishing, publish copy, co…

    .agents/skills/video-publish/SKILL.md on GitHub (opens in a new tab)

Review before you install

A skill is a set of instructions and scripts your agent will follow, and it can run code on your machine. Read the SKILL.md and any scripts first — this listing is not a security review.