Use the tools from AI agents

Tell your AI agent "make this PDF smaller" or "turn this MOV into MP4", and it uses these tools on your own files. The files never leave your computer.

How it works

  1. The agent runs one command with the file path and options.
  2. The runner opens the tool page in a hidden Chrome or Edge on your computer and puts the file into it.
  3. The page does the work inside that local browser and the result is saved next to the original. Only the page itself comes from lumibear.dev.

Install the skill

  1. Download the skill and unzip it.
  2. Claude Code: put the lumibear-tools folder in ~/.claude/skills/ (all projects) or .claude/skills/ in a project.
  3. Other agents that can run commands: tell them to read lumibear-tools/SKILL.md.
  4. Needs Node 22 or newer and Chrome or Edge. Nothing else to install.

Download the skill (ZIP)

Ask your agent

Or run it yourself

node lumibear-tools/scripts/lumibear.mjs list
node lumibear-tools/scripts/lumibear.mjs describe pdf-compress
node lumibear-tools/scripts/lumibear.mjs pdf-compress "report.pdf" --level strong
node lumibear-tools/scripts/lumibear.mjs mp4-to-mp3 "lecture.mp4" --start 30 --end 95

Tools and options

ToolWhat it doesOptions (default in bold)
gif-makerTurn a video clip or a GIF into a GIF that fits a size limit.One video (MP4, MOV, WebM) or GIF → <name>.gif
  • --size 320 | 480 | 640 | 0
  • --fps 0 | 10 | 15 | 20
  • --colors 255 | 127 | 63 | 31
  • --speed 1 | 1.5 | 2 | 3 | 4 | 8
  • --limit 1 | 2 | 5 | 10 | 20 | 0
  • --start number
  • --end number
  • --loop on
gif-compressShrink a GIF to fit a size limit (a video works too).One GIF or video → <name>.gif
  • --size 320 | 480 | 640 | 0
  • --fps 0 | 10 | 15 | 20
  • --colors 255 | 127 | 63 | 31
  • --speed 1 | 1.5 | 2 | 3 | 4 | 8
  • --limit 1 | 2 | 5 | 10 | 20 | 0
  • --start number
  • --end number
  • --loop on
discord-emoji-makerSquare animated emoji GIF for Discord (under 256 KB).One video or GIF → <name>.gif
  • --shape crop | fit
  • --size 64 | 96 | 128
  • --fps 0 | 10 | 15 | 20
  • --colors 255 | 127 | 63 | 31
  • --speed 1 | 1.5 | 2 | 3 | 4 | 8
  • --limit 128 | 256
  • --start number
  • --end number
  • --loop on
slack-emoji-makerSquare animated emoji GIF for Slack (under 128 KB, at most 50 frames).One video or GIF → <name>.gif
  • --shape crop | fit
  • --size 64 | 96 | 128
  • --fps 0 | 10 | 15 | 20
  • --colors 255 | 127 | 63 | 31
  • --speed 1 | 1.5 | 2 | 3 | 4 | 8
  • --limit 64 | 128
  • --start number
  • --end number
  • --loop on
twitch-emote-makerSquare animated emote GIF for Twitch (112 or 224 px, up to 1 MB, at most 60 frames).One video or GIF → <name>.gif
  • --shape crop | fit
  • --size 112 | 224
  • --fps 0 | 10 | 15 | 20
  • --colors 255 | 127 | 63 | 31
  • --speed 1 | 1.5 | 2 | 3 | 4 | 8
  • --limit 512 | 1024
  • --start number
  • --end number
  • --loop on
image-compressMake photos smaller (JPG, PNG, WebP, HEIC), many at once.One or more images → One file per image
  • --format keep | jpeg | webp | png
  • --size 0 | 2560 | 1920 | 1280 | 800
  • --target 0 | 200 | 500 | 1024 | 2048
  • --quality number
heic-to-jpgConvert iPhone HEIC photos to JPG, many at once.One or more HEIC photos → One JPG per photo
  • --format keep | jpeg | webp | png
  • --size 0 | 2560 | 1920 | 1280 | 800
  • --target 0 | 200 | 500 | 1024 | 2048
  • --quality number
video-compressMake a video smaller to fit an upload limit.One video (MP4, MOV, WebM, MKV) → <name>-small.mp4
  • --target 10 | 25 | 50 | 100 | 0
  • --quality high | medium | low
  • --res auto | 0 | 1080 | 720 | 480
  • --start number
  • --end number
  • --mute off
video-trimCut a video down to the part you want.One video → <name>-cut.mp4
  • --cut fast | exact
  • --start number
  • --end number
  • --mute off
mov-to-mp4Convert MOV, MKV or WebM to MP4. H.264 is copied as it is; iPhone HEVC is re-encoded to H.264 so it plays everywhere.One video → <name>.mp4
  • --conv copy | h264
  • --start number
  • --end number
  • --mute off
mp4-to-mp3Save the sound of a video (or an audio file) as MP3, M4A or WAV.One video or audio file → <name>.mp3 (.m4a, .wav)
  • --afmt mp3 | m4a | wav
  • --abr 128 | 192 | 320
  • --start number
  • --end number
discord-video-compressorCompress a video to fit Discord's upload limit (20 MB without Nitro).One video → <name>-small.mp4
  • --target 10 | 20 | 50
  • --quality high | medium | low
  • --res auto | 0 | 1080 | 720 | 480
  • --start number
  • --end number
  • --mute off
pdf-compressMake a PDF smaller.One PDF → <name>-small.pdf — or no file when it could not get smaller (the note says why)
  • --level light | medium | strong
  • --method keep | flatten
pdf-to-jpgSave PDF pages as JPG or PNG images.One PDF → One image per page: <name>-<page>.jpg
  • --format jpg | png
  • --dpi 72 | 150 | 300
  • --pages text
pdf-mergeMerge PDFs into one, in the order the files are given.Two or more PDFs → merged.pdf—
pdf-splitKeep or delete chosen pages of a PDF, or split it into parts.One PDF → One PDF, or one PDF per part
  • --mode extract | remove | each | every
  • --every 2 | 3 | 5 | 10
  • --pages text
jpg-to-pdfPut photos into one PDF, one photo per page, in the order the files are given.JPG, PNG, WebP or HEIC photos → <name>.pdf (photos.pdf for several)
  • --paper a4 | letter | fit
  • --orient auto | portrait | landscape
  • --margin 0 | 18 | 36
  • --shrink off

For developers

Privacy

Files are read only by the browser on your computer. Pages opened by the runner (?agent=1) load no ads and no analytics.