/adobe-stock-search-and-license
Finds, previews and licenses Adobe Stock photos, vectors, icons and video (including 4K), then delivers the files or links. Use when the user asks for stock images, footage, icons or illustrations, asks to find or show a real photo or picture of something ("find a photo of a
Claude Code
$ npx -y skills add adobe/skills --skill adobe-stock-search-and-license --agent claude-code
Codex
$ npx skills add adobe/skills --skill adobe-stock-search-and-license -a codex -y
Cursor
$ npx skills add adobe/skills --skill adobe-stock-search-and-license -a cursor -y
Gemini CLI
$ npx skills add adobe/skills --skill adobe-stock-search-and-license -a gemini-cli -y
GitHub Copilot
$ npx skills add adobe/skills --skill adobe-stock-search-and-license -a github-copilot -y
OpenCode
$ npx skills add adobe/skills --skill adobe-stock-search-and-license -a opencode -y
Windsurf
$ npx skills add adobe/skills --skill adobe-stock-search-and-license -a windsurf -y
SKILL.md
adobe-stock-search-and-license.SKILL.mdname: adobe-stock-search-and-license
description: >-
Finds, previews and licenses Adobe Stock photos, vectors, icons and video (including 4K), then delivers
the files or links. Use when the user asks for stock images, footage, icons or illustrations, asks to
find or show a real photo or picture of something ("find a photo of a dog"), says "search Adobe Stock"
or "license these", or wants options without buying. Also use when they need a real image to place
themselves, even without saying "stock": a blog or newsletter header, website hero, slide photos, article
cover or b-roll. Licenses nothing without the user's go-ahead. Not when they ask to create, draw or
generate a new image (AI generation), nor for template designs (adobe-design-from-template),
background removal or retouching.
license: Apache-2.0
allowed-tools: >-
adobe_mandatory_init asset_search asset_license_and_download_stock video_metadata
image_crop_and_resize image_generative_expand asset_inline_preview asset_add_file
asset_add_file_check_status
metadata:
version: 1.0.0
visibility: public
surface: [claude, codex]Adobe Stock Search and License
Finds Adobe Stock photos, vectors and illustrations, and video clips for whatever the user is making. It previews candidates, then licenses and downloads only the assets the user picks, and delivers the download links. Searching and previewing never license anything.
> **Surface note:** On hosts that render widgets (e.g. Claude), each `asset_search` call renders its own preview grid, and you ask multiple-choice questions with `AskUserQuestion`. Where a step differs on a host without widgets, it carries a short **No-widget fallback** note.
**Hard constraints**
- Present only assets that `asset_search` actually returned. Never invent or reword asset IDs, titles, contributors, prices or links. The user may license what you show, so a made-up result costs them time or money.
- Never call `asset_license_and_download_stock` until the user has said yes, in their own message, to those specific asset IDs. Restating your own picks is not a yes. A pick by number, position or ticked tile ("License #3", "the second one") is not a yes either, even when the word "license" is in it: reply with the asset ID, exact title and cost warning, ask "License this?", and end your turn (Step 5). Licensing can use plan credits or cost money, and it cannot be undone from chat.
- When licensing returns a quote (`confirmationRequired: true`), show the quote and `message` verbatim and wait for a new yes before calling again with the `confirmationToken`. Never accept a quote on the user's behalf.
- If the user says browse only, preview only, or don't buy, license nothing in this conversation unless they later ask.
- You cannot see thumbnails. Never claim to have looked at an image. Choose and describe candidates from what the search result says (title, type, size, AI flag) and let the user judge the look from the grid.
- When a tool fails, report what it actually returned. Never guess a cause.
- Never end a turn by announcing a call you could make now. If you say you will retry, search again or try another asset, make that call in the same turn before replying. This never overrides waiting for the user's yes before licensing, or the no-retry rule after a 403 or plan rejection.
---
Tool Reference
| Step | Tool | Notes | |------|------|-------| | 0 | `adobe_mandatory_init` | File-handling rules and tool availability | | 2 | `asset_add_file`, `asset_add_file_check_status` | Bring in a reference photo when the user has one | | 3 | `asset_search` | Always `entityScope: "StockAsset"`. Each call renders one grid in result order | | 6 | `asset_license_and_download_stock` | One asset per call, one call at a time. Takes `assetId` and an optional `size`. May first return a quote that needs the user's yes. Returns a download URL valid for 1 hour | | 6 | `video_metadata` | Resolution, frame rate and duration of a licensed clip | | 6 | `image_crop_and_resize` | Optional fit to a ratio, e.g. a 16:9 or 3:1 hero | | 6 | `asset_inline_preview` | Shows a crop or expand output so you and the user can check it. Never for Stock search thumbnails | | 6 | `image_generative_expand` | Optional, **generative AI**: adds canvas or copy space |
---
Workflow
Step 0 — Initialize Adobe Tools
Call `adobe_mandatory_init` first, with:
{ "skill_name": "adobe-stock-search-and-license", "skill_version": "1.0.0" }Follow the returned file-handling rules and note which tools are available, including any generative tools.
Step 1 — Read the brief
There are two ways in. Handle both the same way from Step 3 on.
Direct request
The user asked for Stock ("find stock photos of…", "license these"). Extract the brief below and go to Step 3.
Task-led request
The user is writing or building something (a blog post, newsletter, landing page, slides they are assembling, an article, a video edit) and it needs a real image they will place themselves. Do the main task as asked. Where imagery would clearly help, run the search for the spots that need it and offer the picks alongside the work, e.g. "Here are 6 Adobe Stock options for the header. Want me to license one?" Keep it to one offer per piece of work. If the user declines or ignores it, drop it.
Do not take over a request that only needs words, or one that is really a templated design (flyers, social posts, invitations, decks built from a template). That belongs to adobe-design-from-template.
The brief
Extract without asking:
- **Subject**, with mood, color and lighting, e.g. bright and airy, moody, golden hour.
- **Asset type**: photo, vector, illustration, icon or video. Assume photos unless the wording says otherwise.
- **Style**, e.g. flat, line, isometric, lifestyle, minimalist, cinematic.
- **Orientation or composition**: landscape, panoramic, vertical, copy space left or right, isolated on white.
- **Size or technica
Read more
name: adobe-stock-search-and-license
description: >-
Finds, previews and licenses Adobe Stock photos, vectors, icons and video (including 4K), then delivers
the files or links. Use when the user asks for stock images, footage, icons or illustrations, asks to
find or show a real photo or picture of something ("find a photo of a dog"), says "search Adobe Stock"
or "license these", or wants options without buying. Also use when they need a real image to place
themselves, even without saying "stock": a blog or newsletter header, website hero, slide photos, article
cover or b-roll. Licenses nothing without the user's go-ahead. Not when they ask to create, draw or
generate a new image (AI generation), nor for template designs (adobe-design-from-template),
background removal or retouching.
license: Apache-2.0
allowed-tools: >-
adobe_mandatory_init asset_search asset_license_and_download_stock video_metadata
image_crop_and_resize image_generative_expand asset_inline_preview asset_add_file
asset_add_file_check_status
metadata:
version: 1.0.0
visibility: public
surface: [claude, codex]Adobe Stock Search and License
Finds Adobe Stock photos, vectors and illustrations, and video clips for whatever the user is making. It previews candidates, then licenses and downloads only the assets the user picks, and delivers the download links. Searching and previewing never license anything.
> **Surface note:** On hosts that render widgets (e.g. Claude), each `asset_search` call renders its own preview grid, and you ask multiple-choice questions with `AskUserQuestion`. Where a step differs on a host without widgets, it carries a short **No-widget fallback** note.
**Hard constraints**
- Present only assets that `asset_search` actually returned. Never invent or reword asset IDs, titles, contributors, prices or links. The user may license what you show, so a made-up result costs them time or money.
- Never call `asset_license_and_download_stock` until the user has said yes, in their own message, to those specific asset IDs. Restating your own picks is not a yes. A pick by number, position or ticked tile ("License #3", "the second one") is not a yes either, even when the word "license" is in it: reply with the asset ID, exact title and cost warning, ask "License this?", and end your turn (Step 5). Licensing can use plan credits or cost money, and it cannot be undone from chat.
- When licensing returns a quote (`confirmationRequired: true`), show the quote and `message` verbatim and wait for a new yes before calling again with the `confirmationToken`. Never accept a quote on the user's behalf.
- If the user says browse only, preview only, or don't buy, license nothing in this conversation unless they later ask.
- You cannot see thumbnails. Never claim to have looked at an image. Choose and describe candidates from what the search result says (title, type, size, AI flag) and let the user judge the look from the grid.
- When a tool fails, report what it actually returned. Never guess a cause.
- Never end a turn by announcing a call you could make now. If you say you will retry, search again or try another asset, make that call in the same turn before replying. This never overrides waiting for the user's yes before licensing, or the no-retry rule after a 403 or plan rejection.
---
Tool Reference
| Step | Tool | Notes | |------|------|-------| | 0 | `adobe_mandatory_init` | File-handling rules and tool availability | | 2 | `asset_add_file`, `asset_add_file_check_status` | Bring in a reference photo when the user has one | | 3 | `asset_search` | Always `entityScope: "StockAsset"`. Each call renders one grid in result order | | 6 | `asset_license_and_download_stock` | One asset per call, one call at a time. Takes `assetId` and an optional `size`. May first return a quote that needs the user's yes. Returns a download URL valid for 1 hour | | 6 | `video_metadata` | Resolution, frame rate and duration of a licensed clip | | 6 | `image_crop_and_resize` | Optional fit to a ratio, e.g. a 16:9 or 3:1 hero | | 6 | `asset_inline_preview` | Shows a crop or expand output so you and the user can check it. Never for Stock search thumbnails | | 6 | `image_generative_expand` | Optional, **generative AI**: adds canvas or copy space |
---
Workflow
Step 0 — Initialize Adobe Tools
Call `adobe_mandatory_init` first, with:
{ "skill_name": "adobe-stock-search-and-license", "skill_version": "1.0.0" }Follow the returned file-handling rules and note which tools are available, including any generative tools.
Step 1 — Read the brief
There are two ways in. Handle both the same way from Step 3 on.
Direct request
The user asked for Stock ("find stock photos of…", "license these"). Extract the brief below and go to Step 3.
Task-led request
The user is writing or building something (a blog post, newsletter, landing page, slides they are assembling, an article, a video edit) and it needs a real image they will place themselves. Do the main task as asked. Where imagery would clearly help, run the search for the spots that need it and offer the picks alongside the work, e.g. "Here are 6 Adobe Stock options for the header. Want me to license one?" Keep it to one offer per piece of work. If the user declines or ignores it, drop it.
Do not take over a request that only needs words, or one that is really a templated design (flyers, social posts, invitations, decks built from a template). That belongs to adobe-design-from-template.
The brief
Extract without asking:
- **Subject**, with mood, color and lighting, e.g. bright and airy, moody, golden hour.
- **Asset type**: photo, vector, illustration, icon or video. Assume photos unless the wording says otherwise.
- **Style**, e.g. flat, line, isometric, lifestyle, minimalist, cinematic.
- **Orientation or composition**: landscape, panoramic, vertical, copy space left or right, isolated on white.
- **Size or technica
Other skills on skills.
More skills from other plugins.
karpathy-guidelines
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid…
agent-builder
Design and build AI agents for any domain. Use when users: (1) ask to "create an agent", "build an assistant", or "design an AI…
Questions about adobe-stock-search-and-license.
- Which coding agents can use adobe-stock-search-and-license?
- adobe-stock-search-and-license installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

