Token导航 LogoToken导航TokenDH.com
待分类需要联网github未标认证来源可访问许可证需确认审计通过

adobe-create-social-variationsadobe 创造社会差异

Agent Skill

adobe-create-social-variations 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

903

周安装

38

GitHub Stars

55

下载量

316
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:adobe-create-social-variations(adobe 创造社会差异)
来源仓库:https://github.com/adobe/skills
仓库路径:skills/adobe-create-social-variations
安装命令:
npx skills add https://github.com/adobe/skills --skill adobe-create-social-variations
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/adobe/skills --skill adobe-create-social-variations

简介

adobe-create-social-variations 从单一源文件生成适配不同平台的图像和视频变体。

  • 利用 AI 画布扩展和主体感知裁剪技术,确保各比例下主体始终居中聚焦。
  • 提供轻量级三裁切预览功能,便于提前发现构图问题再执行完整输出。
  • 支持 JPG/PNG 及 Firefly 生成图像,其他格式需预处理后方可使用。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Adobe Create Social Variations

Produces platform-ready images and videos from a single source file. Uses AI canvas expansion and subject-aware cropping to keep the subject in focus across all aspect ratios. Shows a lightweight 3-crop preview before a full-set run so framing issues are caught early — those crops are then reused in the final output.


Supported Input Types

InputSupportedNotes
JPG / PNG✅ Full workflow
Firefly-generated image✅ Full workflowFor .ffgenimg assets, pass the presignedRenditionUrl field, not presignedAssetUrl
Express file⚠️ PartialMust be exported to JPG/PNG first — tell user before proceeding
PSD / AI (Illustrator)⚠️ PartialFlatten first (see Error Handling if this fails)
Video (MP4/MOV)⚠️ PartialResize only — no smart reframe. See VIDEO WORKFLOW
Unsupported (DOCX, PDF, etc.)Inform user; list accepted formats

Step 0 - prereq: Initialize Adobe Tools

Call adobe_mandatory_init first. This returns file handling rules and tool routing guidance required for the rest of the workflow.

{ "skill_name": "adobe-create-social-variations", "skill_version": "1.0.1" }

Step 1 — Entitlement Check

Now that adobe_mandatory_init confirmed that the "Adobe for creativity" connector is live, check which tools are available through the connector and set capability flags.

Image Workflow — Core Tools (required)

All of these must be present for the skill to run at all. If any are missing from the connector, output this message exactly and stop — make no further tool calls:

"To access this skill, please disconnect and reconnect to the "Adobe for creativity" Connector to sign in using an Adobe account, or sign up."
ToolPurpose
asset_add_fileFile picker / CC browse / upload
asset_initialize_file_uploadFirst call in two-step egress upload
asset_finalize_file_uploadSecond call in two-step egress upload
asset_inline_previewDetermines focus strategy before cropping
image_crop_and_resizePer-platform, per-format cropping
asset_preview_fileTest previews and final delivery

Image Workflow — Enhanced Tools (optional, graceful fallback)

ToolFlagIf missing
image_generative_expandexpandAvailable = true/falseUse image_crop_and_resize with fit: "reframe" from sourceURI instead. Do NOT mention "AI canvas expansion" to the user. Note in delivery summary: "Smart reframe was used for aspect ratio adaptation."

Video Workflow — Required Tools (optional workflow, all-or-nothing)

Only offer the video workflow if both tools below are available. If either is missing, set videoCapable = false — do NOT mention video resizing capabilities to the user at any point.

ToolPurpose
video_resizeSame-ratio resize only
resizeVideoPollDeferred tool — load before calling

If videoCapable = false and the user explicitly asks about video resizing, avoid verbosity and output this message exactly:

"Video resizing isn't available with your current setup. Please disconnect and reconnect to the "Adobe for creativity" Connector to sign in using an Adobe account, or sign up. In the meantime, I can help with image crops and social media variants though."

Tool Reference

StepToolNotes
Upload chat-dropped fileasset_initialize_file_uploadFirst call in two-step egress upload
Complete the uploadasset_finalize_file_uploadSecond call in two-step egress upload
Get file from CC or as egress fallbackasset_add_fileFile picker / CC browse / upload
Inspect source imageasset_inline_previewDetermines focus strategy before cropping
Expand canvasimage_generative_expandCreates tall (9:16/4:5) and wide (~2:1/16:9) variants
Crop to platform dimensionsimage_crop_and_resizePer-platform, per-format; also 403 fallback for expand
Preview test crops or full setasset_preview_fileBefore full run (test) and at delivery
Resize videovideo_resizeSame-ratio resize only
Poll video resize jobresizeVideoPollDeferred tool — load before calling

IMAGE WORKFLOW

Step 0 — Get the Source File

How you get the file depends on where it is:

SourceAction
File uploaded in chat (/mnt/user-data/uploads/…)Check <network_configuration>. If egress is enabled (Enabled: true), upload programmatically: get file size and MIME type via bash, call asset_initialize_file_upload, PUT the chunk(s), then asset_finalize_file_upload. If egress is disabled, fall back to asset_add_file().
No file provided yetCall asset_add_file() immediately — no need to ask first.
File already in Creative CloudCall asset_add_file() so the user can select it from their CC storage.

After the file is available, detect image vs. video from mediaType. For images, proceed to Step 1.


Step 1 — Ask: Which Platforms?

Ask in a single question using AskUserQuestion with multi-select:

Full set / Instagram / TikTok / LinkedIn / Facebook / YouTube / Snapchat / X/Twitter / Pinterest / Threads

Set the test flag based on the user's answer:

  • If "Full set" is selectedrunTestPreview = true. Use all platforms. A 3-crop test preview will be shown before the full set is generated (see Step 4).
  • If any specific platform(s) are selectedrunTestPreview = false. Use only the selected platforms. Skip the test preview and go directly from Step 3 to Step 5.
The test preview is a useful safety net for large cross-platform batches, but unnecessary friction for a targeted 1–2 platform run.

Step 2 — Inspect Image & Set Focus Strategy

Inspect the image first using asset_inline_preview on the source file. Visual inspection produces far better focus decisions than guessing from the filename — and usually means you won't need to ask the user anything at all.

After inspecting, tell the user what you see and what focus strategy you're using, and invite a correction:

"I can see this is a [e.g. 'product shot of a tote bag on a neutral background']. I'll use [focus strategy] to keep [subject] centred across all crops. Does that sound right, or would you like me to focus on something else?"

Only ask a follow-up question if the image is genuinely ambiguous (multiple equally prominent subjects, or a scene with no clear focal point).

Image typeFocus strategyRationale
Portrait / headshot / person in scene"face"Most reliable for people — facial detection anchors to the face even in tight crops
Upper body / chest-up portrait"upper_body"Use when face + torso context matters (outfit, gesture, expression)
Product on clean background{prompt: "description of product"}Name the product explicitly for clean isolation (e.g. {prompt: "tote bag"})
Non-human subject with busy background{prompt: "description of subject"}More precise than generic "subject"
Aerial / flat lay / no clear subject{x: 0.5, y: 0.5}Centre crop is safest when nothing to detect
User specifies a subject{prompt: "user's description"}Pass their words directly
For images containing people, use "face" — prompt-based focus drifts to bodies rather than faces. Reserve {prompt: "..."} for non-human subjects.
⚠️ If the source image is significantly wider than it is tall (landscape), use 2000px top & bottom for the tall expand (not the default 960px) — this gives the portrait crop enough canvas to reframe around the subject. ⚠️ For the same landscape sources, also use 1500px left & right for the wide expand (not the default 960px) — 960px doesn't give the reframe enough room to pull the subject into centre for the ~2:1 landscape crop.

If the user corrects your assessment, update the focus strategy and confirm before proceeding.


Step 3 — Generative Expand (directly from source — no padding)

Expand the original image directly. Do not pad to square first — the AI produces better results extending real scene content than bridging across blank bars.

Run both expands before any crops:

// GROUP A — tall canvas (for 9:16 and 4:5 targets)
image_generative_expand(sourceURI, { top: 960, bottom: 960 }) → tallURI
// use 2000 top & bottom if source is significantly landscape

// GROUP B — wide canvas (for ~2:1 and 16:9 targets)
image_generative_expand(sourceURI, { left: 960, right: 960 }) → wideURI
// use 1500 left & right if source is significantly landscape

Square targets (1:1) crop directly from the source — no expand needed.

Expands originate from the original sourceURI — chained expands degrade output. ⚠️ If image_generative_expand returns 403 (entitlement), fall back to image_crop_and_resize with fit: "reframe" from sourceURI for all variants in that group. Note the fallback in the delivery summary.

Step 4 — Test Preview *(Full set only — skip if runTestPreview = false)*

If runTestPreview = false (specific platforms selected): skip this step and go directly to Step 5.

If runTestPreview = true (Full set): produce 3 representative test crops — one per aspect ratio family — before generating the full set.

TestSourceDimensionsRatioCovers
Test 1 — SquaresourceURI1080×10801:1Instagram square, LinkedIn square, Facebook square
Test 2 — PortraittallURI1080×13504:5Instagram portrait, Threads — bellwether for 9:16 quality
Test 3 — LandscapewideURI1200×627~2:1LinkedIn landscape, Facebook landscape, X/Twitter

Show all 3 via asset_preview_file and ask:

"Here are 3 test crops covering the main aspect ratios. Do the framing and expansion look good? I'll generate the full set once you approve."

These crops are reused in the final output — only the 9:16 story/reel crop needs to be generated after approval.


Step 5 — Generate All Platform Variants

If runTestPreview = true: proceed only after user approves test crops in Step 4. If runTestPreview = false: proceed immediately after Step 3.

Generate every variant in the Platform Specs table for each selected platform. Reuse test crop URIs only when dimensions are an exact match — for any different dimensions, run a fresh image_crop_and_resize.

Per-platform variants to generate:

PlatformVariants
Instagram1080×1080 (reuse test), 1080×1350 (reuse test), 1080×1920
TikTok1080×1920 only — no 4:5 variant for TikTok
LinkedIn1200×627 (reuse test), 1080×1080 (reuse test)
Facebook1200×630, 1080×1080, 1080×1920
X/Twitter1200×675, 1080×1080
YouTube1280×720
Snapchat1080×1920
Pinterest1000×1500
Threads1080×1350

Step 6 — Preview Full Set

Call asset_preview_file with all successfully generated URLs — including partial sets when some variants failed.


Step 7 — Delivery Summary

Present a clean summary table. Note any fallbacks or skipped steps clearly.

✅ Social media set complete!

| Platform  | Format         | Dimensions | Status        |
| --------- | -------------- | ---------- | ------------- |
| Instagram | Feed Square    | 1080×1080  | ✅ (from test) |
| Instagram | Feed Portrait  | 1080×1350  | ✅ (from test) |
| Instagram | Story / Reel   | 1080×1920  | ✅             |
| TikTok    | Video / Post   | 1080×1920  | ✅             |
| LinkedIn  | Post Landscape | 1200×627   | ✅ (from test) |
| LinkedIn  | Post Square    | 1080×1080  | ✅ (from test) |

If generative expand fell back to reframe:

⚠️ AI canvas expansion is not included in your current Adobe plan — smart reframe was used instead.

Platform Specs (Image)

#PlatformFormatDimensionsRatioQualitySource Canvas
1InstagramFeed Square1080×10801:17sourceURI
2InstagramFeed Portrait1080×13504:57tallURI
3InstagramStory / Reel1080×19209:167tallURI
4TikTokVideo / Post1080×19209:167tallURI
5LinkedInPost Landscape1200×627~2:16wideURI
6LinkedInPost Square1080×10801:16sourceURI
7FacebookFeed Landscape1200×630~2:17wideURI
8FacebookFeed Square1080×10801:17sourceURI
9FacebookStory1080×19209:167tallURI
10X/TwitterIn-stream1200×67516:96wideURI
11X/TwitterSquare post1080×10801:16sourceURI
12YouTubeThumbnail1280×72016:95wideURI
13SnapchatSnap/Story1080×19209:162tallURI
14PinterestStandard Pin1000×15002:37tallURI
15ThreadsFeed Portrait1080×13504:57tallURI
⚠️ Snapchat's 250 KB limit requires quality: 2 — warn the user upfront when Snapchat is selected.

File naming convention: [basename]_[platform]_[descriptor]_[ratio].jpg Example: hero_instagram_story_9x16.jpg


VIDEO WORKFLOW

Step 0 — Get the Source File

Video tools require an assetId — not a URL. How you get it depends on where the file is:

SourceAction
File uploaded in chat (/mnt/user-data/uploads/…)Check <network_configuration>. If egress is enabled (Enabled: true), upload programmatically: get file size and MIME type via bash, call asset_initialize_file_upload, PUT the chunk(s), then asset_finalize_file_upload. The returned assetId is what video tools need. If egress is disabled, fall back to asset_add_file().
No file provided yetCall asset_add_file() immediately.
File already in Creative CloudCall asset_add_file() so the user can select it.
If egress is disabled and the user has already dropped a video into chat, explain why it can't be used directly: "To resize your video I'll need you to select it via the file picker — this gives Adobe the asset ID it needs. I'll open it now."

Step 1 — Determine Video Type

If the user has already described or implied the video orientation (e.g. "I shot this on my phone in portrait" → clearly 9:16), skip this question and proceed. Otherwise ask:

"To suggest the best output sizes, it helps to know what kind of video this is. What type is it?"

Use AskUserQuestion with single-select:

OptionAspect RatioCommon use
Phone video — portrait9:16Shot on phone, vertical
Phone video — square1:1Shot in square mode
Screen recording16:9Desktop or laptop capture
Camera / DSLR16:9Professional or mirrorless camera
Other / not sureDefault to 1:1 (safest cross-platform)

Step 2 — Suggest Safe Output Sizes

Only suggest same-ratio resizes. Cross-ratio resizes (e.g. 16:9 → 9:16) produce black bars and are algorithmically penalised on TikTok and Instagram Reels. If a user asks for a cross-ratio resize, explain the limitation and offer same-ratio alternatives instead.

Source ratioSafe output sizes
9:16 (portrait)1080×1920, 720×1280, 540×960
1:1 (square)1080×1080, 720×720
16:9 (landscape)1920×1080, 1280×720, 854×480

Present these as options with AskUserQuestion (multi-select).


Step 3 — Resize

⚠️ resizeVideoPoll is a deferred tool — load it first before attempting to poll. Direct calls without loading will fail with "not loaded" error.

For each selected size, call video_resize with the asset ID:

video_resize({ assetId: sourceAssetId, width: W, height: H }) → { statusId }

Poll with resizeVideoPoll until complete. Poll 3–4 times with brief pauses before reporting slow progress to the user.


Step 4 — Preview

Call asset_preview_file with all completed outputs.


Step 5 — Delivery Summary

✅ Video resize complete!

| Size      | Ratio | Status |
| --------- | ----- | ------ |
| 1080×1920 | 9:16  | ✅      |
| 720×1280  | 9:16  | ✅      |

Note: Video resizing does not apply intelligent reframing — cross-ratio reformatting is out of scope for this skill.


Error Handling

SituationAction
Egress upload fails (chunk PUT 5xx after retry)Stop upload. Fall back to asset_add_file() and tell the user: "Direct upload didn't work — I'll open the picker so you can select the file."
image_generative_expand returns 403 (entitlement)Fall back to image_crop_and_resize with fit: "reframe" from sourceURI. Note in delivery summary: "AI canvas expansion is not included in your current Adobe plan — smart reframe was used instead." Retrying does not resolve a 403 entitlement — continue per the fallback rule.
image_crop_and_resize returns 403 (entitlement)Stop workflow. Tell the user: "Image cropping isn't available on your current Adobe plan — I can't complete this request here."
PSD/AI flattening returns 403Stop workflow. Tell the user: "Flattening this file type isn't available on your current Adobe plan — export as JPG or PNG first, then try again."
.ffgenimg file type fails expandRetry using presignedRenditionUrl instead of presignedAssetUrl
401 not authenticatedAsk user to re-authenticate via Adobe OAuth
Image too large after cropRe-run with lower quality setting
Express file uploadedAsk user to export as JPG/PNG first
PSD / AI file uploadedFlatten first (JPEG, 300 DPI). On 403, see entitlement row above.
video_resize failsReport clearly; suggest user re-upload as MP4
Unsupported file format (DOCX, PDF, etc.)Inform user. Accepted inputs: JPG, PNG, Firefly images, PSD/AI, MP4/MOV.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.08%
按下载量换算108

Claude

28.51%
按下载量换算90

Cursor

19.5%
按下载量换算62

Gemini CLI

9.53%
按下载量换算30

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills