Adobe express document manipulation
Skill Sandgrouse/adobe-express-dev-skill/skills/adobe-express-document-manipulation
Agent Skill for AI coding assistants (Cursor, Copilot, Windsurf, Claude) - Adobe Express add-on development with OAuth patterns and code samples
npx -y skills add Sandgrouse/adobe-express-dev-skill --skill adobe-express-document-manipulationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create and modify document content in Adobe Express add-ons using Document SDK. Use when planning document operations, inserting shapes/text/media, sequencing sandbox commands, or troubleshooting document edits.
SKILL.md
3.4 KB, as published. Nobody here has run it
Adobe Express Document Manipulation Skill
This skill guides you in planning and executing document operations in the document sandbox, from simple text insertion to complex multi-element layouts.
When to Use This Skill
- Planning what content to insert (shapes, text, images, audio, video)
- Sequencing multiple document operations safely
- Understanding Document SDK APIs and type signatures
- Designing insertion workflows triggered from UI actions
- Troubleshooting document operation failures
Quick Start
Common Document Operations
All operations run in document sandbox using Document SDK:
Text insertion:
- Query: "How do I create text with custom font size and color?"
- Relevant:
text.createText(),editor.context.insertionParent
Shape insertion:
- Query: "Create a filled rectangle at specific position"
- Relevant:
editor.createRectangle(), dimension and fill APIs
Image insertion (from iframe runtime):
- Query: "Insert image blob into current page"
- Relevant:
addOnUISdk.app.document.addImage(blob)
Audio/Video insertion (from iframe runtime):
- Query: "How do I add audio or video to the document?"
- Relevant:
addAudio()(title mandatory),addVideo()(title optional)
Sequence Operations Safely
- Identify insertion parent: Are you adding to current page or current selection?
- Plan async operations: Fetch resources before document edits
- Handle errors: Wrap in try-catch, provide user feedback
- Test ordering: Some operations depend on prior state
Query Official MCP for Details
When implementing, ask MCP:
- "What's the current signature for
editor.createRectangle()?" - "What properties does
RectangleNodeexpose?" - "What's the type of
editor.context.insertionParent?"
Document Operation Patterns
Insert Text
- Get insertion context:
editor.context.insertionParent - Create text node with
text.createText() - Set properties (fontSize, fill, transform, etc.)
- Append to parent with
children.append()
Insert Shape
- Create shape with
editor.createRectangle()(or other shape) - Set dimensions and position
- Set fill and stroke properties
- Append to parent
Insert Media
- (From iframe) Fetch blob from URL or user input
- Call
addOnUISdk.app.document.addImage/Audio/Video(blob, options) - For audio: title is mandatory
- For video: title is optional
Common Pitfalls
- No insertion parent: Check
editor.context.insertionParentexists - DOM access in sandbox: All DOM operations fail in sandbox; use iframe runtime instead
- Missing title on audio: Audio requires title parameter; video does not
- Async before append: Fetch data before editing to avoid race conditions
Skill Handoffs
Pass to other skills when:
- UI button that triggers insertion → adobe-express-spectrum-ui-ux
- Fetching media from OAuth provider → adobe-express-oauth-authentication
- Paid feature gating → adobe-express-monetization
- Manifest and runtime questions → adobe-express-core