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
Generate incremental Slack digests for channels, topics, and categories.
testing
Audit an OpenClaw maturity-scorecard surface into an evidence-backed component score report. Use when given a surface from an OpenClaw maturity-scorecard.md and asked to score coverage, quality, readiness, or generate a detailed surface report plus per-component subreports.
tools
Turn an existing concrete spec into a reusable generic spec template. Use when asked to create a generic spec, template spec, reusable implementation template, or generalized version of a spec from a specific implementation such as one plugin, channel, integration, feature, or PR.
data-ai
Trace how something works with an investigator subagent and a skeptical reviewer subagent.