agentleFS
iamzifeiiamzifei/image-upload-skill/SKILL.md

image-upload

Skill6 starsChanged 3 months agoMITView on GitHub

Upload images to hosting providers and get shareable URLs

  • Reads credentials
  • Installs packages

3 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions3 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 3

    1. jspi-fu/Aeson-skills★ 46same name
    2. Isaac-Flath/agent-starter-skills★ 8same name
    3. jjenkins/agent-image-skills★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Create a .env file in your project or ~/.claude/ directory:

    line 60
  2. Distinctive:

    All uploads are anonymous unless you configure user accounts

    line 123

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Image Upload Skill

Upload local images to various image hosting providers and get shareable URLs in multiple formats.

Quick Start

Just tell Claude to upload an image:

Upload this image: /path/to/screenshot.png

Claude will upload it to the default provider (Catbox) and return the URL.

Usage Examples

Basic Upload

Upload /tmp/screenshot.png

Upload with Custom Name

Upload /path/to/image.jpg as "my-screenshot"

Upload to Specific Provider

Upload /path/to/photo.png to imgur

Get Specific Format

Upload this image and give me the markdown: /path/to/diagram.png

Supported Providers

ProviderMax SizeConfig RequiredBest For
Catbox200MBNoDefault, anonymous, permanent
ImgBB32MBAPI KeyReliable, good API
Imgur20MBClient-IDPopular, widely supported
Freeimage64MBAPI KeyLarge files
ImgHippo50MBAPI KeyAlternative option
Weibo20MBCookiesChina users (legacy)

Configuration

No Configuration Required (Default)

Catbox.moe works out of the box without any API keys!

Optional: Configure Other Providers

Create a .env file in your project or ~/.claude/ directory:

# Use a different default provider
IMAGE_UPLOAD_PROVIDER=imgbb

# Provider API keys
IMGBB_API_KEY=your_key_here
IMGUR_CLIENT_ID=your_client_id
FREEIMAGE_API_KEY=your_key
IMGHIPPO_API_KEY=your_key

Output Formats

The skill returns URLs in multiple formats:

  • URL: Direct link to the image
  • Markdown: ![name](url) for documentation
  • HTML: <img src="url"> for web pages
  • BBCode: [IMG]url[/IMG] for forums

Programmatic Use

import { uploadImage } from 'image-upload';

const result = await uploadImage('/path/to/image.png', {
  provider: 'catbox',
  name: 'my-image'
});

console.log(result.url);           // https://files.catbox.moe/abc123.png
console.log(result.formatted.markdown); // ![my-image](https://...)

CLI Usage

# Install dependencies
cd image-upload && npm install

# Upload an image
npx tsx src/index.ts /path/to/image.png

# With options
npx tsx src/index.ts /path/to/image.png --provider imgur --name screenshot

Error Handling

The skill handles common errors gracefully:

  • File not found
  • File too large for provider
  • Unsupported file type
  • Network errors
  • Authentication failures

Notes

  • Catbox is the recommended default - no signup, no limits, permanent hosting
  • ImgBB and Imgur have daily rate limits but are more established
  • Weibo is legacy and not recommended for new projects
  • All uploads are anonymous unless you configure user accounts

新手上路(用户不知道该输入什么时,走这里)

触发:/图床 新手、「这个怎么用」「第一次用」「能干嘛」「带我走一遍」, 以及用户输入了技能名却没有给任何任务的时候。

这个模式的铁律:不假设、不索取。用户可能什么都没准备, 不要一上来就问他要文件、要 API key、要具体需求。按下面四步走:

一、先说清楚这是什么(三句话以内)

一句话:把本地图片传到免费图床,直接拿到链接。 返回可以直接粘进 Markdown 的格式, 写文章插图时不用再自己找图床、复制链接。

二、给编号选项,让他按回车就能继续

不要问开放式问题(「你想做什么?」对新手是负担)。给 3 个选项加一个默认:

想先看哪个?(直接回车 = 1)
  1. 先讲讲怎么用
  2. 把这张图传上去拿链接
  3. 支持哪些图床

三、直接演示一遍,边做边解释

选完立刻做给他看,用示例数据,不需要他提供任何东西。 每做完一步,加一行「💡 刚才发生了什么」,一句话说明这步的意义。

四、毕业

演示完只问一个是非题:「要不要用你自己的图片真跑一遍?」 答是就进正常流程;答否就告诉他随时回来输 /图床 新手。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.