active/tool-imagekit-upload/SKILL.md
Upload existing images to ImageKit and return CDN URLs.
npx skillsauth add kevinslin/skills imagekit-uploadInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill enables uploading images to ImageKit CDN from either local file paths or clipboard contents. The skill returns the uploaded image URL for immediate use.
Upload only existing image bytes from a real file path or from the clipboard.
If the requested image file cannot be found:
Do not recreate, redraw, approximate, crop from another image, or generate an SVG fallback.
Before using this skill, configure your ImageKit credentials in ~/.llm/skills/tool-imagekit-upload/.
Create a .env file in the scripts directory:
cd ~/.llm/skills/tool-imagekit-upload/scripts
cp .env.example .env
Then edit .env and add your credentials:
IMAGEKIT_PUBLIC_KEY: Your ImageKit public keyIMAGEKIT_PRIVATE_KEY: Your ImageKit private keyIMAGEKIT_URL_ENDPOINT: Your ImageKit URL endpoint (e.g., https://ik.imagekit.io/your_id)Find these in your ImageKit dashboard under Developer Options → API Keys.
Install Node.js dependencies:
cd ~/.llm/skills/tool-imagekit-upload/scripts
npm install
This installs ImageKit SDK, dotenv for configuration, and clipboardy for clipboard support on macOS.
When the user provides a file path to an image, use the upload script:
node ~/.llm/skills/tool-imagekit-upload/scripts/upload.js --file "/path/to/image.jpg"
Optional parameters:
--name "custom-name": Custom file name (default: original filename)--folder "/images": Upload to specific folder in ImageKit--tags "tag1,tag2": Add comma-separated tagsWhen the user wants to upload an image from their clipboard:
node ~/.llm/skills/tool-imagekit-upload/scripts/upload.js --clipboard
This reads image data directly from the system clipboard.
The script outputs a JSON object containing:
url: The full CDN URL of the uploaded imagefileId: The ImageKit file IDname: The file namesize: File size in bytesDisplay the URL prominently to the user for easy copying.
Common errors:
.env file exists with all required variablesIf the file is not discoverable locally, do not improvise a replacement asset. Ask the user for the missing file path or for a clipboard copy instead.
Use this skill when:
Example 1: Upload screenshot
User: Upload this screenshot to ImageKit: /tmp/screenshot.png
Assistant: [Uses this skill to upload the file and returns the CDN URL]
Example 2: Upload from clipboard
User: I just copied an image, can you upload it to ImageKit?
Assistant: [Uses this skill with --clipboard flag to upload and returns the CDN URL]
Example 3: Organized upload
User: Upload logo.png to ImageKit in the /brand folder
Assistant: [Uses this skill with --folder "/brand" parameter]
Example 4: Missing attachment file
User: Upload this attached image to ImageKit
Assistant: [Searches for the exact local file. If it cannot be found, stops and asks the user for the file path or to upload from clipboard. Does not recreate the image.]
development
Create, rename, audit, or close a tracked Codex task whose turns and status are persisted in the local thread ledger. Only use when directly invoked.
testing
Manage Git preflight, branch and worktree creation, and completed-work cleanup. Use when explicitly invoked.
databases
Automatically use for durable knowledge, configured project-context lookup, and schema-backed artifact layouts.
content-media
Create, update, or optimize skills and SKILL.md content.