layerproof-api
Skill pack for interacting with the Layerproof API including workspaces, projects, slide decks, files, themes, exports, and jobs.
Layerproof API Skill Pack
⚠️ Skill Pack Manifest
This file is NOT a skill.
It is the entry point for the Layerproof skill pack.
Individual skills are located in:
skills/*/SKILL.mdAI agents and crawlers should only index those files as skills.
Overview
This repository provides a collection of AI agent skills for the Layerproof API.
These skills allow AI agents to interact with Layerproof to:
- Manage workspaces
- Create and manage projects
- Upload public and project files
- Generate slide decks using AI
- Edit slides and images
- Apply themes
- Export presentations
- Monitor asynchronous jobs
Each skill contains structured instructions that teach an AI agent how to interact with the Layerproof API using curl.
Required Environment Variables
Before performing any API operations, ensure these environment variables are set:
echo 'export LAYERPROOF_BASE_URL=https://api.layerproof.com' >> ~/.zshrc
echo 'export LAYERPROOF_API_KEY=your-api-key-here' >> ~/.zshrc
source ~/.zshrc
All API requests must include the following header:
X-API-KEY: $LAYERPROOF_API_KEY
How Agents Should Use This Skill Pack
When a user asks to perform an operation related to Layerproof:
- Identify the resource type involved.
- Load the corresponding
skills/<resource>/SKILL.md. - Follow the endpoint definitions in that skill file.
- Construct a valid
curlrequest. - Execute the request using the environment variables.
- Display the raw JSON response to the user.
If the response contains image URLs, the agent may render them.
Skill Modules
Each module corresponds to a Layerproof API resource.
| Resource | Skill File | Purpose |
|---|---|---|
| Workspaces | skills/workspaces/SKILL.md | Manage workspaces |
| Projects | skills/projects/SKILL.md | Create and manage projects |
| Public Files | skills/public-files/SKILL.md | Upload reference documents |
| Project Files | skills/project-files/SKILL.md | Manage files inside projects |
| Slide Decks | skills/slide-decks/SKILL.md | Generate outlines and slide content |
| Slides | skills/slides/SKILL.md | Edit slide images and content |
| Themes | skills/themes/SKILL.md | Generate and apply visual themes |
| Exports | skills/exports/SKILL.md | Export projects as PNG or PPTX |
| Jobs | skills/jobs/SKILL.md | Poll async job status |
Handling Asynchronous Operations
Many Layerproof API endpoints run asynchronously.
When an API response returns an activityId, the agent should:
- Poll the job status:
GET /api/v2/jobs/{activityId}
- Continue polling until:
status = DONE
- If
failureReasonexists, report the error.
Typical Agent Workflow
Example workflows (the agent should automatically select the correct skill module for each step).
Workflow A: Full presentation from scratch (with reference files and theme)
- Workspaces — List workspaces (GET), then create one if needed (POST) or resolve
workspace_idfrom list. - Projects — Create project (POST) with
name,project_kind: "SLIDE_DECK", optionalworkspace_id; captureidandslide_deck_id. - Public files (optional) — If the user provides reference docs: POST
/api/v2/files/prepare→ user PUTs file toupload_url→ POST/api/v2/files/confirmwiths3_key; collects3_key(s) for outline. - Themes (optional) — List themes (GET); if user wants a new look: POST
/api/v2/themes/generatewithprompt→ poll Jobs until DONE → notetheme_id. - Slide decks — POST
.../outline/generatewithprompt,slide_count, optionalfile_s3_keys,language; captureactivity_id. - Jobs — Poll
GET /api/v2/jobs/{activity_id}untilstatusis DONE (or CANCELED); on failure, reportfailure_reason. - Slide decks — GET deck to read
outline; optionally PUT.../outlineto tweak sections (title, sections, key_points, visual_suggestion). - Slide decks — If theme was generated, PUT
.../settingswiththeme_id(or use apply-theme endpoint per skill). Then POST.../batch-generate(optionally withgeneration_type,aspect_ratio); captureactivity_id. - Jobs — Poll
GET /api/v2/jobs/{activity_id}until DONE. - Slide decks — GET deck again; if a single slide needs regeneration, POST
.../slides/{sectionId}/generate-transcriptor.../generate-imageetc., then poll job. - Slides (optional) — For a specific slide: POST image-edit or object-removal → poll job → POST accept-image-edit with
live_object_id. - Exports — POST
.../projects/{projectId}/exports/pptx(or png); captureexportId; poll GET.../exports/{exportId}until COMPLETED; presentdownloadUrlto user.
Workflow B: Multi-format export and error handling
- Projects — GET project by ID (or list and pick) to ensure it exists and has
slide_deck_id. - Slide decks — GET deck; confirm
metadata.completed_slidesmeets expectations before export. - Exports — Start PNG export (POST
.../exports/png); getexportId. In parallel or after, start PPTX export (POST.../exports/pptx); get secondexportId. - Exports — Poll each
GET .../exports/{exportId}until status is COMPLETED or FAILED. If FAILED, showerrorMessageand suggest retry or check project. When COMPLETED, showdownloadUrlandexpiresAt. - If user cancels: POST
.../exports/{exportId}/cancelfor in-progress exports.
Workflow C: Project files and outline with project-scoped assets
- Projects — Create or get project; note
project_id. Get or create a directory in the project (per project-files API if list directories exists) or use a knowndirectory_id. - Project files — POST prepare with
path,file_name,mime_type,size→ user uploads toupload_url→ POST confirm withfile_id. Optionally GET file or download-url to verify. - Slide decks — Use project’s
slide_deck_id; generate outline withfile_s3_keysfrom project file S3 keys (if API accepts them) or use public files flow and passfile_s3_keysfrom public prepare/confirm. - Continue with outline → poll job → update outline → batch generate → poll → export as in Workflow A.
The agent should automatically select the correct skill module for each step and handle polling, error responses, and multi-step dependencies.
Skill Discovery
Agents should load the following files when interacting with Layerproof:
- skills/workspaces/SKILL.md
- skills/projects/SKILL.md
- skills/public-files/SKILL.md
- skills/project-files/SKILL.md
- skills/slide-decks/SKILL.md
- skills/slides/SKILL.md
- skills/themes/SKILL.md
- skills/exports/SKILL.md
- skills/jobs/SKILL.md
Each skill file contains:
- API endpoint definitions
- request and response types
- curl examples
- agent decision logic
- response handling rules
Repository Structure
agent-skill-layerproof
│
├─ SKILL.md
├─ marketplace.json
├─ README.md
│
└─ skills
├─ workspaces
│ └─ SKILL.md
├─ projects
│ └─ SKILL.md
├─ public-files
│ └─ SKILL.md
├─ project-files
│ └─ SKILL.md
├─ slide-decks
│ └─ SKILL.md
├─ slides
│ └─ SKILL.md
├─ themes
│ └─ SKILL.md
├─ exports
│ └─ SKILL.md
└─ jobs
└─ SKILL.md