/adobe-firefly-boards
Builds, curates and shares Adobe Firefly Boards, the mood and inspiration boards. Use when someone wants a mood board or moodboard, to collect reference images or Adobe Stock picks on a board grouped by theme, to add to or prune an existing Firefly board, a link to share a
Claude Code
$ npx -y skills add adobe/skills --skill adobe-firefly-boards --agent claude-code
Codex
$ npx skills add adobe/skills --skill adobe-firefly-boards -a codex -y
Cursor
$ npx skills add adobe/skills --skill adobe-firefly-boards -a cursor -y
Gemini CLI
$ npx skills add adobe/skills --skill adobe-firefly-boards -a gemini-cli -y
GitHub Copilot
$ npx skills add adobe/skills --skill adobe-firefly-boards -a github-copilot -y
OpenCode
$ npx skills add adobe/skills --skill adobe-firefly-boards -a opencode -y
Windsurf
$ npx skills add adobe/skills --skill adobe-firefly-boards -a windsurf -y
SKILL.md
adobe-firefly-boards.SKILL.mdname: adobe-firefly-boards
description: >
Builds, curates and shares Adobe Firefly Boards, the mood and inspiration boards. Use when someone wants a mood board or moodboard, to collect reference images or Adobe Stock picks on a board grouped by theme, to add to or prune an existing Firefly board, a link to share a board, or a style brief from one. The board itself is the deliverable. Not for generating images, editing photos, mockups or the final design.
license: Apache-2.0
compatibility: "Requires the Adobe for creativity connector. Runs on widget-capable (e.g. Claude) and no-widget (e.g. Codex) surfaces: uses the asset_add_file picker and asset_preview_file widgets where available, and each widget step has a text-only fallback. Local files reach Creative Cloud via the picker or (no-widget) asset_initialize_file_upload -> PUT -> asset_finalize_file_upload. Local and chat attachment paths are never passed to board tools."
allowed-tools: adobe_mandatory_init asset_search asset_inline_preview asset_add_file asset_add_file_check_status asset_initialize_file_upload asset_finalize_file_upload asset_preview_file boards_create_new_board boards_edit boards_add_items_to_board boards_read boards_delete asset_share_link asset_license_and_download_stock
metadata:
version: 1.0.0
visibility: public
surface: [claude, codex]
Adobe Firefly Boards
Creates, curates and shares Firefly Boards, Adobe's mood and inspiration boards. It covers four jobs:
- **Build** a new board from Adobe Stock, the user's own images or image links, or Creative Cloud files, optionally grouped by theme.
- **Curate** an existing board: read it, add a few on-direction items, and remove items the user confirms. Changes go to that same board.
- **Share** a board as a link.
- **Brief:** read a board and write a style brief that design skills can work from.
**Gen AI:** ❌ No step generates images; imagery comes from Adobe Stock or from the user. Access: 🔐 signed-in Adobe account required.
> **Surface note:** follow the default flow as written. Use a step's *No-widget fallback* only if that widget tool is unavailable on this surface. Where no question widget exists, ask questions as plain-text options.
**Hard constraints**
- No tool lists or searches boards by name. To work on an existing board you need its **board link or board ID**. If the user only gives a name (e.g. "my spring campaign board"), ask for the link from Firefly Boards. Never guess an ID, and never create a new board in its place.
- Only place items that came from a tool result or from the user: Stock search hits, the user's links, picked or uploaded files, Creative Cloud assets. Never invent asset IDs or URLs. Never pass local file paths, chat attachment paths or attachment URLs (`/mnt/...`, `~/...`, `file://...`, `https://assets.claude.ai/...`) as board items.
- To judge, pick or group images by how they look, you must see them. Images attached to the chat are visible to you. Adobe Stock results aren't: never pass Stock URLs to `asset_inline_preview`, which rejects Stock hosts (`presignedUrl host not allowed`). For other URLs, try `asset_inline_preview`, which returns the image to you. It may reject other hosts too; after one rejection, don't retry that host. If you can't see an image, say so. Choose Stock results by their titles, but never guess what an image shows from its URL, and don't describe, or offer to pull, colors or light from images you haven't seen. (`asset_preview_file` shows images to the user, not to you.)
- `boards_read` returns no images, colors or thumbnails. Never claim to see a board's look; work from entity names and summaries, images you've seen in this chat, or the user's words.
- These tools can't rename or delete a board: the name is set at creation and the board itself is protected. Say so and point the user to Firefly Boards. Never delete a board's items as a substitute.
- `boards_delete` is irreversible. Remove only items the user named or confirmed.
- Licensing can use plan credits or cost money, and it can't be undone from chat. Never call `asset_license_and_download_stock` until the user has said yes, in their own message, to those specific items (Step 6). Never accept a quote on the user's behalf.
- Call `asset_share_link` only when the user asks for a share link or a change of link access. Otherwise, the link you give is the `boardUrl` that the board tools return.
---
Tool Reference
| Step | Tool | Notes | |------|------|-------| | 0 | `adobe_mandatory_init` | First call; returns file-handling and routing rules | | 2 | `asset_search` | Pass `entityScope: "StockAsset"` for Adobe Stock; the default scope (`CCAsset`) searches the user's own Creative Cloud files | | 2 | `asset_inline_preview` | Returns one image to you so you can judge subject, mood, palette and light. Pass `size: 512`. Never for Stock URLs, which it rejects; may reject other hosts too | | 2 | `asset_add_file` | Picker for the user's own files *(widget)* | | 2 | `asset_add_file_check_status` | Poll after the picker until the upload is ready | | 2 | `asset_initialize_file_upload` + `asset_finalize_file_upload` | Stage a local file *(no-widget fallback)* | | 3 | `asset_preview_file` | Show the shortlist to the user *(widget; no-widget fallback: markdown list)*. If it rejects Stock links, don't retry | | 4 | `boards_create_new_board` | New board, optionally with up to 12 items in the same call; returns `boardId` and `boardUrl` | | 4, 5 | `boards_edit` | Create named artboards and add items into them (up to 48 per add op); move items. Can't delete or rename | | 4, 5 | `boards_add_items_to_board` | Add 1–12 items to an existing board, optionally `into` an artboard or stack | | 5, 7 | `boards_read` | Lists the board's entities: id, type, name, summary, position. No images or colors | | 5 | `boards_delete` | Remove confirmed items by entity id; irreversible | | 6 | `asset_share_link` | Only on explicit request: share link or link access (e.g. comment
Read more
name: adobe-firefly-boards description: > Builds, curates and shares Adobe Firefly Boards, the mood and inspiration boards. Use when someone wants a mood board or moodboard, to collect reference images or Adobe Stock picks on a board grouped by theme, to add to or prune an existing Firefly board, a link to share a board, or a style brief from one. The board itself is the deliverable. Not for generating images, editing photos, mockups or the final design. license: Apache-2.0 compatibility: "Requires the Adobe for creativity connector. Runs on widget-capable (e.g. Claude) and no-widget (e.g. Codex) surfaces: uses the asset_add_file picker and asset_preview_file widgets where available, and each widget step has a text-only fallback. Local files reach Creative Cloud via the picker or (no-widget) asset_initialize_file_upload -> PUT -> asset_finalize_file_upload. Local and chat attachment paths are never passed to board tools." allowed-tools: adobe_mandatory_init asset_search asset_inline_preview asset_add_file asset_add_file_check_status asset_initialize_file_upload asset_finalize_file_upload asset_preview_file boards_create_new_board boards_edit boards_add_items_to_board boards_read boards_delete asset_share_link asset_license_and_download_stock metadata: version: 1.0.0 visibility: public surface: [claude, codex]
Adobe Firefly Boards
Creates, curates and shares Firefly Boards, Adobe's mood and inspiration boards. It covers four jobs:
- **Build** a new board from Adobe Stock, the user's own images or image links, or Creative Cloud files, optionally grouped by theme.
- **Curate** an existing board: read it, add a few on-direction items, and remove items the user confirms. Changes go to that same board.
- **Share** a board as a link.
- **Brief:** read a board and write a style brief that design skills can work from.
**Gen AI:** ❌ No step generates images; imagery comes from Adobe Stock or from the user. Access: 🔐 signed-in Adobe account required.
> **Surface note:** follow the default flow as written. Use a step's *No-widget fallback* only if that widget tool is unavailable on this surface. Where no question widget exists, ask questions as plain-text options.
**Hard constraints**
- No tool lists or searches boards by name. To work on an existing board you need its **board link or board ID**. If the user only gives a name (e.g. "my spring campaign board"), ask for the link from Firefly Boards. Never guess an ID, and never create a new board in its place.
- Only place items that came from a tool result or from the user: Stock search hits, the user's links, picked or uploaded files, Creative Cloud assets. Never invent asset IDs or URLs. Never pass local file paths, chat attachment paths or attachment URLs (`/mnt/...`, `~/...`, `file://...`, `https://assets.claude.ai/...`) as board items.
- To judge, pick or group images by how they look, you must see them. Images attached to the chat are visible to you. Adobe Stock results aren't: never pass Stock URLs to `asset_inline_preview`, which rejects Stock hosts (`presignedUrl host not allowed`). For other URLs, try `asset_inline_preview`, which returns the image to you. It may reject other hosts too; after one rejection, don't retry that host. If you can't see an image, say so. Choose Stock results by their titles, but never guess what an image shows from its URL, and don't describe, or offer to pull, colors or light from images you haven't seen. (`asset_preview_file` shows images to the user, not to you.)
- `boards_read` returns no images, colors or thumbnails. Never claim to see a board's look; work from entity names and summaries, images you've seen in this chat, or the user's words.
- These tools can't rename or delete a board: the name is set at creation and the board itself is protected. Say so and point the user to Firefly Boards. Never delete a board's items as a substitute.
- `boards_delete` is irreversible. Remove only items the user named or confirmed.
- Licensing can use plan credits or cost money, and it can't be undone from chat. Never call `asset_license_and_download_stock` until the user has said yes, in their own message, to those specific items (Step 6). Never accept a quote on the user's behalf.
- Call `asset_share_link` only when the user asks for a share link or a change of link access. Otherwise, the link you give is the `boardUrl` that the board tools return.
---
Tool Reference
| Step | Tool | Notes | |------|------|-------| | 0 | `adobe_mandatory_init` | First call; returns file-handling and routing rules | | 2 | `asset_search` | Pass `entityScope: "StockAsset"` for Adobe Stock; the default scope (`CCAsset`) searches the user's own Creative Cloud files | | 2 | `asset_inline_preview` | Returns one image to you so you can judge subject, mood, palette and light. Pass `size: 512`. Never for Stock URLs, which it rejects; may reject other hosts too | | 2 | `asset_add_file` | Picker for the user's own files *(widget)* | | 2 | `asset_add_file_check_status` | Poll after the picker until the upload is ready | | 2 | `asset_initialize_file_upload` + `asset_finalize_file_upload` | Stage a local file *(no-widget fallback)* | | 3 | `asset_preview_file` | Show the shortlist to the user *(widget; no-widget fallback: markdown list)*. If it rejects Stock links, don't retry | | 4 | `boards_create_new_board` | New board, optionally with up to 12 items in the same call; returns `boardId` and `boardUrl` | | 4, 5 | `boards_edit` | Create named artboards and add items into them (up to 48 per add op); move items. Can't delete or rename | | 4, 5 | `boards_add_items_to_board` | Add 1–12 items to an existing board, optionally `into` an artboard or stack | | 5, 7 | `boards_read` | Lists the board's entities: id, type, name, summary, position. No images or colors | | 5 | `boards_delete` | Remove confirmed items by entity id; irreversible | | 6 | `asset_share_link` | Only on explicit request: share link or link access (e.g. comment
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-firefly-boards.
- Which coding agents can use adobe-firefly-boards?
- adobe-firefly-boards 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.

