Generation and publishing are separate steps
Use a presentation-generation workflow to create and inspect the HTML. Use Slidesfly only when the file exists and you want a shareable URL. This boundary prevents a publishing tool from being misrepresented as a deck generator.
When this fits and what the Agent needs
| Use this workflow when | Do not use it when |
|---|---|
| The Agent has produced an exact, verified local HTML or supported zip path. | The request is still to research, outline, generate, or edit the deck. |
| The user explicitly wants a shareable Slidesfly URL. | The artifact path is guessed, missing, or has not passed the requested checks. |
Install the official Skill
curl -fsSL https://slidesfly.com/install.sh | sh
slidesfly --version
slidesfly install --target codex --scope user --jsonThis example targets Codex. The CLI also supports Claude Code, Cursor, project-scoped installation, and auto-detection. Read the exact supported targets in the Skill documentation.
Ask the Agent to publish the finished artifact
Create and inspect the deck
Ensure the task produced a real.htmlfile and completed the appropriate visual or browser checks.Name the exact artifact
A clear request is: “Publish/absolute/path/deck.htmlwith Slidesfly and give me the reader URL.”Let the Skill choose MCP or CLI
When a configured Slidesfly MCP is available, the Skill prefers it. Otherwise it uses the current website-installed CLI.Open the returned URL
Verify the published deck rather than treating a successful command as proof.
If MCP is unavailable, the Agent can use the equivalent explicit CLI command against the exact verified artifact:
slidesfly publish /absolute/path/deck.html --title "Agent-generated review" --jsonVerify and manage the result
slidesfly list --json
slidesfly open YOUR_DECK_ID --json
# Sign in and claim local anonymous decks
slidesfly login --json
# Owned deck: inspect versions
slidesfly versions YOUR_DECK_ID --jsonOn success, the current CLI returns a structured envelope like this:
{
"ok": true,
"data": {
"deck_id": "YOUR_GENERATED_DECK_ID",
"url": "https://slidesfly.xyz/d/YOUR_GENERATED_DECK_ID",
"visibility": "unlisted",
"anonymous": true
}
}Failure recovery
| Failure | Safe Agent behavior |
|---|---|
INVALID_FILE: artifact path is missing | Locate and verify the real file. Do not invent an output path. |
MALICIOUS_CONTENT: security scan rejects the deck | Explain the remote-script or blocked-content boundary and ask before editing. |
AUTH_REQUIRED or QUOTA_EXCEEDED | Return the official error and recovery hint; do not bypass plan or owner checks. |
| Publish succeeds but the reader fails verification | Report the unverified state and keep the returned traceable URL and deck ID. |
Keep credentials out of the conversation
- Never paste
claim_tokenor the raw~/.slidesfly/config.jsonfile into chat. - Do not put claim credentials into query strings or hand-built management URLs.
- Use the official installer and require CLI version 0.1.1 or newer before publishing.
- Use a dedicated API key for hosted MCP and revoke it if it is exposed.
- Anonymous output is unlisted; public, private, password, allowlist, expiry, deletion, and quarantine policies remain enforced by the sandboxed reader.