Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills Aโ€“Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Cloudinary

ASecurity

Manage Cloudinary media: upload images and videos, list and inspect assets, update metadata, delete assets, and check plan usage. Trigger phrases: cloudinary, upload image, cloudinary usage.

18 stars
0 votes
0 copies
0 views
Added 9/25/2026
securitygobashapi

Works with

cliapi

Security Analysis

A100/100

Scanned 9/25/2026

$npx -y skills add gabrielmoreira/agent-skills-mirror --skill cloudinary --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cloudinary?

Add the live security badge to your README โ€” it updates automatically with every re-scan.

Security grade badge for Cloudinary
[![Security: A โ€” Skills Directory](https://www.skillsdirectory.com/api/skills/gabrielmoreira-cloudinary/badge)](https://www.skillsdirectory.com/skills/gabrielmoreira-cloudinary)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: "cloudinary"
description: "Manage Cloudinary media: upload images and videos, list and inspect assets, update metadata, delete assets, and check plan usage. Trigger phrases: cloudinary, upload image, cloudinary usage."
metadata: { "includeInPrompt": true }
tagline: "Manage media on Cloudinary through the Upload and Admin APIs: upload images and videos, list and inspect assets, update metadata and tags, delete assets, and check plan usage (credits, storage, bandwidth, transformations)."
catalog_auth: "cloud_name + API key + secret via the secure credential flow"
catalog_hosts: ["api.cloudinary.com"]
---

# Cloudinary

## Purpose
Manage media on Cloudinary through the Upload and Admin APIs: upload images and videos, list and inspect assets, update metadata and tags, delete assets, and check plan usage (credits, storage, bandwidth, transformations).

## Tooling
All commands go through `bin/cloudinary.py`:

```bash
bin/cloudinary.py auth                                        # verify the connection (also shows plan usage)
bin/cloudinary.py usage                                       # plan usage: credits, storage, bandwidth, transformations
bin/cloudinary.py upload --file ./photo.jpg                  # upload an image
bin/cloudinary.py upload --file ./clip.mp4 --resource-type video   # upload a video
bin/cloudinary.py upload --file ./photo.jpg --folder products # upload into a folder
bin/cloudinary.py list --prefix products/ --max-results 20    # list image assets
bin/cloudinary.py get --public-id products/photo1            # asset details
bin/cloudinary.py update --public-id products/photo1 --data '{"tags":["summer"],"context":{"caption":"Beach"}}'
                                                             # update metadata/tags (raw JSON body, per Cloudinary docs)
bin/cloudinary.py delete --public-id products/photo1         # delete an asset
```

## Auth
- Provider id: `cloudinary` (credential is collected as `custom.cloudinary`)
- Collection: via the secure credential flow (`credentials.request_api_access`) as a single colon-joined value `cloud_name:api_key:api_secret`; the three parts come from the Cloudinary Console at Settings, API Keys. The collection step stores them as three named entries (`cloud_name`, `api_key`, `api_secret`) under `custom.cloudinary`; the CLI splits them at use: `cloud_name` goes into the request host, and `api_key:api_secret` go into the HTTP Basic auth header.
- Required scopes: n/a (account API key pair)
- Allowed hosts: `api.cloudinary.com`
- Status check: `bin/cloudinary.py auth`
- Wire format (verbatim from Cloudinary's docs): `Authorization: Basic base64(api_key:api_secret)` against `https://api.cloudinary.com/v1_1/{cloud_name}`.

## Operating Rules
1. The free plan is credit-based across storage/bandwidth/transformations: run `usage` before heavy work and stay inside the plan.
2. Confirm with the user before uploading (it consumes bandwidth/transformation quota) and before deleting (deletes are permanent).
3. Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the key, secret, or cloud name values.

## Files
- SKILL.md
- bin/cloudinary.py

## Maturity
๐Ÿงช Draft: written from Cloudinary's public Upload and Admin API docs; not yet live-tested end to end. The three-part credential split (single collected value, split into entries at use) is the design assumption to re-verify on first live run.

Attribution

gabrielmoreiragabrielmoreira
View sourceSee grades on GitHubMore from gabrielmoreira โ†’
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Springboot Security

Java Spring Boot ๆœๅŠกไธญๅ…ณไบŽ่บซไปฝ้ชŒ่ฏ/ๆŽˆๆƒใ€้ชŒ่ฏใ€CSRFใ€ๅฏ†้’ฅใ€ๆ ‡ๅคดใ€้€Ÿ็އ้™ๅˆถๅ’Œไพ่ต–ๅฎ‰ๅ…จ็š„ Spring Security ๆœ€ไฝณๅฎž่ทตใ€‚

2456590 votes

Security Review

Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment/sensitive features. Provides comprehensive security checklist and patterns.

2456590 votes

Paperclip Evals

Choose, inspect, validate, and report Paperclip Runner or Product E2E evaluations while preserving evidence, provenance, cost, and failure classification.

953190 votes

Paperclip Task Bridge

Create, comment on, update, and list Paperclip tasks from Hermes using scoped Paperclip API credentials.

953190 votes

Summarize Status

Write a short, colloquial summary for a Paperclip summary slot: open with the 1โ€“3 specific, concrete actions the reader needs to take right now to unblock the work, then a brief plain-language status, streaming progress as it works.

953190 votes
View all in security โ†’