AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Cloudinary

skill-alanalvestech-hitank-cloudinary · by alanalvestech

Manage Cloudinary media assets, transformations and upload via REST API

No reviews yet
0 installs
31 views
0.0% view→install

Install

$ agentstack add skill-alanalvestech-hitank-cloudinary

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-alanalvestech-hitank-cloudinary)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
6mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Cloudinary? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

/cloudinary

Connect to the Cloudinary REST API to manage media assets, folders, transformations, uploads and usage stats. Pure Ruby, zero gems — stdlib only.

Structure

scripts/
├── auth.rb             # Basic auth (api_key:api_secret) + cloudinary_request helper (required by all scripts)
├── check_setup.rb      # Check if credentials exist (outputs OK or SETUP_NEEDED)
├── save_token.rb       # Save and validate cloud name, API key and API secret
├── resources.rb        # List image resources
├── resource.rb         # Get single image details
├── upload.rb           # Upload image from URL
├── delete.rb           # Delete a resource by public ID
├── folders.rb          # List root folders
├── subfolders.rb       # List subfolders of a folder
├── transformations.rb  # List named transformations
└── usage.rb            # Get account usage stats

Setup (check before using)

ruby ~/.claude/skills/cloudinary/scripts/check_setup.rb

If the output is OK, proceed to the Flow section.

If the output is SETUP_NEEDED, guide the user step by step. Present ONE step at a time, wait for the user to confirm before moving to the next.

Step 1 — Ask the user for their Cloudinary credentials:

> You need your Cloudinary Cloud Name, API Key and API Secret. > > Go to the Cloudinary Console Dashboard: > https://console.cloudinary.com/settings/api-keys > > Copy the Cloud Name, API Key and API Secret and paste them here (all three, separated by spaces).

Step 2 — When the user pastes the credentials, save them:

ruby ~/.claude/skills/cloudinary/scripts/save_token.rb 'CLOUD_NAME' 'API_KEY' 'API_SECRET'

If the script outputs an error, the credentials are invalid. Ask the user to double-check and try again.

If setup is not complete, DO NOT proceed to the Flow. Complete all steps first.

Flow

The argument $ARGUMENTS may contain a public ID or folder name.

Step 1: List resources or folders

List image resources:

ruby ~/.claude/skills/cloudinary/scripts/resources.rb
ruby ~/.claude/skills/cloudinary/scripts/resources.rb --type upload
ruby ~/.claude/skills/cloudinary/scripts/resources.rb --type fetch
ruby ~/.claude/skills/cloudinary/scripts/resources.rb --prefix my_folder

List root folders:

ruby ~/.claude/skills/cloudinary/scripts/folders.rb

List subfolders:

ruby ~/.claude/skills/cloudinary/scripts/subfolders.rb FOLDER

Present the results to the user. If $ARGUMENTS matches a public ID, jump to Step 2. If it matches a folder, show its contents.

Step 2: Show resource details

ruby ~/.claude/skills/cloudinary/scripts/resource.rb PUBLIC_ID

Present the resource info (format, dimensions, size, URL, tags, etc.) and ask what the user wants to do.

Step 3: Actions

Upload image from URL (requires user confirmation):

Ask: "Do you want to upload this image?" Show the URL and target public ID. Only execute after a "yes".

ruby ~/.claude/skills/cloudinary/scripts/upload.rb --url 'https://example.com/image.jpg' --public_id 'my_image'

Delete a resource (requires user confirmation):

Show the resource details first, then ask: "Do you want to delete this resource?" Only execute after a "yes".

ruby ~/.claude/skills/cloudinary/scripts/delete.rb PUBLIC_ID

List transformations:

ruby ~/.claude/skills/cloudinary/scripts/transformations.rb

Get account usage stats:

ruby ~/.claude/skills/cloudinary/scripts/usage.rb

Notes

  • Pure Ruby, zero gems — stdlib only (json, net/http, uri, fileutils)
  • Auth via HTTP Basic with apikey:apisecret
  • Config files: ~/.config/cloudinary/cloud_name, ~/.config/cloudinary/api_key, ~/.config/cloudinary/api_secret (outside the repo, never commit)
  • Uploading and deleting resources require explicit user confirmation
  • Base URL: https://api.cloudinary.com/v1_1/{cloud_name}

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.