adobe-design-from-template
Create any visual design using Adobe Express templates โ including flyers, posters, banners, social media posts (Instagram stories, Facebook posts, LinkedIn graphics), business cards, invitations, greeting cards, resumes, cover letters, brochures, newsletters, certificates, presentations, YouTube thumbnails, email headers, logos, menus, labels, and more. Use this skill whenever the user wants to make, design, create, or build any visual โ even if they just say "make me a flyer", "design a poster", "I need something for Instagram", "create an event invite", "make a business card", or any similar request. Also handles requests to find or browse templates, edit text/copy, change background colors, or animate a design. Access: ๐ Signed-In required | Gen AI: โ
What this skill does
# Adobe Design from Template
Helps users find an Adobe Express template and customize it โ updating text,
background color, and animation โ producing a finished Express document ready
to share or open in Express for further editing.
---
## Tool Reference
| Step | Tool | Notes |
|------|------|-------|
| Search for template | `search_design` | Interactive picker; user selects URN |
| Edit text and copy | `fill_text` | Retry once on transient error |
| Change background color | `change_background_color` | Pass hex; infer from color description if needed |
| Animate design | `animate_design` | Skip on 403 entitlement; no retry |
---
## Workflow
### Step 0 โ Initialize Adobe Tools
Call `adobe_mandatory_init` first. This returns file handling rules and tool routing guidance required for the rest of the workflow.
```json
{ "skill_name": "adobe-design-from-template", "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 "Adobe for creativity" connector by cross checking against the Tool Reference table above.
---
### Step 2 โ Build the search query (don't ask questions first)
Extract the design type from whatever the user said and go straight to Step 3.
Asking clarifying questions before showing templates creates friction; the picker
lets users course-correct visually, which is faster.
| User says | Query to use |
| -------------------------------- | -------------------------- |
| "make me a flyer" | `"flyer"` |
| "I need something for Instagram" | `"Instagram post"` |
| "design a poster for my event" | `"event poster"` |
| "make a business card" | `"business card"` |
| "flyer for an ice cream social" | `"ice cream social flyer"` |
---
### Step 3 โ Search for a template
Call `search_design`:
```json
{
"generalQuery": "<design type from user prompt>",
"pageSize": 24
}
```
This renders an interactive picker in the chat. The user taps a template to select
it; the URN comes back automatically. If the user says "show more", call
`search_design` again with the same query and increment `startIndex` by `pageSize`.
---
### Step 4 โ Confirm selection and offer edits
Once a template is selected, confirm what was picked and ask what to customize:
> "Got it โ you've selected [template name]. What would you like to change?
>
> - โ๏ธ **Edit the text** โ names, dates, headlines, copy
> - ๐จ **Change the background color**
> - โจ **Animate it**
> - โ
**I'm done** โ just give me the link"
The user may choose one, several, or none. Apply each in sequence, then loop back
and ask if they want anything else before wrapping up.
---
### Step 5 โ Apply edits
After each edit, ask: *"What else would you like to change, or does this look good?"*
#### Edit text / copy
Call `fill_text`:
```json
{
"templateURN": "<URN>",
"description": "<what to change and what to change it to>",
"generalQuery": "<same, minus any PII>"
}
```
If the user hasn't specified what the text should say, ask before calling.
`fill_text` occasionally fails on the first attempt due to transient errors โ if
it returns an error, retry once with identical parameters before reporting failure.
#### Change background color
Call `change_background_color`:
```json
{
"templateOrDocumentURN": "<URN>",
"backgroundColor": "<hex>",
"description": "<e.g. change background to coral pink>",
"generalQuery": "<same, minus any PII>"
}
```
If the user describes a color without a hex (e.g. "coral pink"), pick a
reasonable hex value using your judgment.
#### Animate
Call `animate_design`:
```json
{
"templateOrDocumentURN": "<URN>",
"description": "<animation style or intent>",
"generalQuery": "<same, minus any PII>"
}
```
If `animate_design` returns a 403, the user's plan doesn't include animation.
Skip it and note in the delivery: *"Animation isn't available on your current Adobe plan โ the rest of your design is ready."* Retrying does not resolve a 403 entitlement โ continue without retry.
---
### Step 6 โ Deliver
When the user is satisfied:
```
โ
Here's your finished design:
๐จ Template: [name]
[Edits applied, e.g. โ๏ธ Copy updated ยท ๐จ Background changed ยท โจ Animated]
๐ Open in Express: [editor link]
```
Remind the user that the document is temporary (deleted after 12 hours) and
they should open it in Express to save.
---
## Coming soon
**ACPC asset picker** โ a native picker for selecting images from Creative Cloud
Libraries is in development. This skill will be updated when it ships.
---
## Error handling
| Situation | Action |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `fill_text` fails on first attempt | Retry once with identical parameters |
| `animate_design` returns 403 | Skip; note entitlement limit in delivery |
| Any tool returns 401 | Ask user to re-authenticate via Adobe OAuth, then retry |
| No templates match query | Try a broader query |
| User hasn't selected a template yet | Do not advance past the picker until a URN is returned; the URN is required for every subsequent tool call. |
| User skips all edits | Fine โ deliver the template link as-is |
---
## Constraints
- The workflow always begins with the template picker before any edits.
- Template URNs come only from the picker โ do not synthesise them.
- All edits are optional โ don't assume the user wants any particular change
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context โ no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes โ information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development โ guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.