Use this file to discover all available pages before exploring further.
Agent skills are the building blocks of WZRD Studio automation. Each skill is a self-contained, documented task — a pairing of a Markdown specification and an MCP tool registration — that any compliant agent harness can discover via agent-skills/index.json and call through the MCP server. Because skills are plain files in the repo, you can fork, extend, or compose them without touching application code.
The manifest lives at agent-skills/index.json and is read by all four supported harnesses (Claude Code, Codex, OpenClaw, Hermes) as well as the MCP server’s tools/list response.
{ "version": "1.0", "skills": [ { "id": "list-models", "title": "List available models with credits", "description": "Read the WZRD model catalog including credit cost.", "doc": "agent-skills/list-models/skill.md", "mcp_tool": "list_models" }, { "id": "generate-shot", "title": "Generate a shot via SSE stream", "description": "Stream image/video generation for a single shot.", "doc": "agent-skills/generate-shot/skill.md", "mcp_tool": "start_shot_stream" } ]}
Returns the catalog of generation models available in WZRD Studio, including credit cost per call, provider, and media type.MCP tool:list_modelsEndpoint:GET https://ixkkrousepsiorwlaycp.supabase.co/functions/v1/model-catalogAuthentication: Optional — pass a Bearer JWT for user-tier sorting.
Catalog refresh failed — retry after a brief delay.
generate-shot — Stream Single-Shot Generation
Streams image or video generation progress for a single timeline shot. The response is a text/event-stream of JSON events ending with type: "complete" or type: "error".MCP tool:start_shot_streamEndpoint:POST /functions/v1/gen-shotsAuthentication: Required — Supabase JWT Bearer token.
Insufficient credits. Payload includes { code, required, available, top_up_url }.
422
Invalid shot/model combination (e.g. a video model called on an image-only shot).
render-timeline — Auto-Generate Every Shot in a Project
Triggers the project-wide auto-generate workflow. Run the images phase first to create reference frames, then the videos phase to animate them. Both phases execute shots in parallel and stream progress over SSE.MCP tool:render_timelineEndpoint:POST /functions/v1/project-auto-generateAuthentication: Required — Supabase JWT Bearer token.
Verify the user has sufficient balance via GET /functions/v1/billing-portal before starting. Image generation costs credits per shot; video generation costs more. A project with 20 shots requires credits for all 40 operations.
2
Run images phase
POST /project-auto-generate with phase: "images". Poll SSE until all shots report complete.
3
Run videos phase
POST /project-auto-generate with phase: "videos". Each shot uses its generated image as a reference frame.
run-studio-graph — Execute a Saved Compute Graph
Executes a saved WZRD Studio node graph for a project, running nodes in dependency order. The response streams per-node status events so the agent can report fine-grained progress.MCP tool:run_studio_graphEndpoint:POST /functions/v1/compute-executeAuthentication: Required — Supabase JWT Bearer token.
The highest-level skill. Accepts a raw concept and format string, creates a project, generates a full storyline, renders all shots, and produces a final Director’s Cut video — all in a single automated pipeline. Each step deducts credits; check /billing/credits before starting.MCP tool:make_magic
POST /functions/v1/project-create with { concept, format } → returns project_id.
{ "concept": "A lone astronaut discovers a signal on Europa", "format": "short-film"}
2
Poll storyline status
GET /functions/v1/storyline-status?project_id=<id> — poll until status is complete. The API generates scene breakdowns and shot prompts automatically.
3
Auto-generate all shots
Call /project-auto-generate with phase: "images", wait for completion, then phase: "videos".
4
Trigger Director's Cut
POST /functions/v1/directors-cut with { project_id } to start the assembly edit.
5
Poll for final URL
GET /functions/v1/directors-cut/status?project_id=<id> — poll until final_url is present in the response body.
Each step deducts credits independently. If the agent is interrupted after step 3, credits for generation have already been spent. Check /billing/credits before initiating and surface any 402 errors immediately.
billing-checkout — Create Checkout & Poll Plan Status
Launches a Stripe-hosted billing checkout for a plan upgrade or a credit pack purchase. After the user completes checkout, poll the billing portal to confirm the subscription or credit balance has updated.MCP tool:create_checkout_sessionEndpoint:POST /functions/v1/billing-checkoutAuthentication: Required — Supabase JWT Bearer token.
GET /functions/v1/billing-portalAuthorization: Bearer <jwt>
Returns { subscription, credits }. Poll until subscription.plan matches the purchased tier or credits reflects the newly purchased pack.
edit-timeline — Drive the QCut Editor via MCP
Controls the QCut multi-track editor timeline when WZRD Studio Desktop is running and the /projects/:projectId/editor page is open. This skill exposes a command API for importing clips, arranging the timeline, adding titles, and exporting — all performable by an agent and fully undoable by the user.MCP tool:edit_timeline
Custom skills follow the same structure as built-in ones. The agent harnesses and MCP server pick them up automatically on next launch.
1
Create the skill directory and spec
Create agent-skills/<your-skill-id>/skill.md with a header, endpoint, auth requirements, request body, and response description.
# Skill: my-custom-skillShort description of what this skill does.**Endpoint**: `POST /functions/v1/my-function`**Auth**: required (Supabase JWT)**Body**: `{ "project_id": "uuid", "param": "value" }`## Response\`\`\`json{ "result": "..." }\`\`\`
2
Register the skill in index.json
Add an entry to agent-skills/index.json:
{ "id": "my-custom-skill", "title": "My Custom Skill", "description": "One-sentence description for the MCP tool list.", "doc": "agent-skills/my-custom-skill/skill.md", "mcp_tool": "my_custom_skill"}
3
Implement the Edge Function (optional)
If your skill calls a new backend endpoint, add it under supabase/functions/my-function/index.ts. The agents.md allowlist permits editing all files under supabase/functions/.
Keep skill IDs in kebab-case and MCP tool names in snake_case. This matches the conventions used by all seven built-in skills and ensures harness auto-discovery works without configuration.