commerce-b2b-open-code…
Integrate Salesforce B2B Commerce open source components from GitHub into B2B Commerce stores. Use when users mention \"integrate open code components\",…
Searches for and downloads ethically-licensed stock images via the media-management MCP server. Use this skill whenever a user wants an image, photo, or picture — for BOTH requests to find existing imagery (\"find a stock image\", \"search for a photo of X\", \"get a
$ npx -y skills add forcedotcom/sf-skills --skill experience-content-media-stock-image-search --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/experience-content-media-stock-image-searchContext preview
The summary Claude sees to decide when to auto-load this skill.
Searches for and downloads ethically-licensed stock images via the media-management MCP server. Use this skill whenever a user wants an image, photo, or picture — for BOTH requests to find existing imagery (\"find a stock image\", \"search for a photo of X\", \"get a
name: experience-content-media-stock-image-search
description: "Searches for and downloads ethically-licensed stock images via the media-management MCP server. Use this skill whenever a user wants an image, photo, or picture — for BOTH requests to find existing imagery (\"find a stock image\", \"search for a photo of X\", \"get a royalty-free image\", \"find an ethical image\", editorial/news photography) AND requests phrased ambiguously as creating or generating one (\"create an image of a sunset\", \"generate a picture of a team meeting\", \"make me a mountain image\") — treat these as stock search requests, since this skill searches a stock photo library, it does not generate images. Do NOT offer alternative search methods or ask the user to pick one. Does not apply to searching internal CMS / Data Cloud media (use experience-search-coordinate). Does not apply when the user explicitly asks for AI-generated, synthetic, or computer-generated imagery — this skill only searches licensed stock photography and has no image-generation capability."
metadata:
version: "1.0"
domains: ["Experience"]
accessCheck: []
relatedSkills:
- "experience-search-coordinate"
cliTools:
- tool: ["python3"]
semver: ">=3.10.0"
- tool: ["sf"]
semver: ">=2.0.0"
mcpTools:
media-management:
tools:
- "download_stock_image"
- "search_stock_images"
semver: ">=1.0.0"
allowed-tools: |
mcp__media_management__search_stock_images
mcp__media_management__download_stock_imageTrigger immediately — without asking the user to choose a search method — whenever the user wants an image, photo, or picture. This covers **both**:
In all of these cases, search the stock library — this is the tool for obtaining an image. **Do NOT offer alternative search methods** (hybrid search, user-provided URL/path, etc.) and **do NOT ask the user to pick one.**
**Does not apply to:**
---
**MCP tool:** `search_stock_images` (server: `media-management`) **Timeout:** 30 seconds
| Parameter | Required | Default | Notes | |--------------|----------|-------------|------------------------------------------------------------------------------------| | `query` | ✅ Yes | — | Natural language search phrase (e.g. "sunset over ocean", "business meeting"), max 500 chars | | `searchType` | No | `Creative` | `Creative` (royalty-free stock), `Editorial` (rights-managed news/event imagery) | | `orientation`| No | _(none)_ | `Horizontal`, `Vertical`, `Square`, `PanoramicHorizontal`, `PanoramicVertical` | | `sortOrder` | No | `BestMatch` | `BestMatch`, `MostPopular`, `Newest` | | `pageSize` | No | `5` | 1–100 | | `page` | No | `1` | 1-indexed, must be >= 1 |
**Smart keyword extraction:** If the query is longer than 20 words or returns no results, the tool automatically extracts short keyword phrases via LLM and retries. The `effectiveQuery` field in the response shows what was actually sent to the search service (`null` if the original query was used unchanged).
**Response fields:**
| Field | Notes | |-------------------|----------------------------------------------------------------------------------------------| | `images[]` | List of results (see item fields below) | | `totalCount` | Total matches across all pages | | `page` | Current page (1-indexed) | | `pageSize` | Results per page | | `searchRequestId` | Internal correlation ID. Server-managed; not passed back through the MCP download tool. Safe to surface in debug output if useful. | | `effectiveQuery` | Keywords actually sent to the search service. Null if the original query was used unchanged. | | `errorMessage` | Non-null if the search failed |
**Each `images[]` item:**
| Field | Notes | |----------------|----------------------------------------------------------------------| | `assetId` | Stock asset ID — required for download. Safe to display alongside the result if useful. | | `title` | Image title | | `caption` | Image description | | `thumbnailUrl` | Small preview URL — use for grid display | | `previewUrl` | Larger comp/preview URL — use for tile display | | `width` | Max width in pixels
This repository provides a curated collection of Salesforce agent skills for building applications.
Repo: forcedotcom/sf-skills
Integrate Salesforce B2B Commerce open source components from GitHub into B2B Commerce stores. Use when users mention \"integrate open code components\",…
Replace OOTB (out-of-the-box) B2B Commerce components with open source equivalents in site metadata content.json files, or look up the equivalent open code…
Use this skill to diagnose and resolve what blocks a DevOps Center promotion of a work item's feature branch: Git merge conflicts and deployment failures.…
Use this skill to manage the full lifecycle of a DevOps Center pipeline — list all pipelines, get a single pipeline's details, create a new pipeline linked to…
Analyzes DevOps Center test failures and Code Analyzer violations in plain language — failure category, offending file/class/method/line, rule violated, fix…
Configures DevOps Center pipeline testing infrastructure: enables a test provider so its suites become available, re-syncs a configured provider to pull in new…