SuperCMO Skills
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FAL_KEY | No | Your fal.ai API key for image and video generation (alternative to WaveSpeed). https://fal.ai | |
| DO_NOT_TRACK | No | Set to '1' to disable telemetry. | |
| GEMINI_API_KEY | No | Your Gemini API key for image/video analysis (optional). https://aistudio.google.com | |
| DISABLE_TELEMETRY | No | Set to '1' to disable telemetry. | |
| FIRECRAWL_API_KEY | No | Your Firecrawl API key for URL extraction (optional). https://firecrawl.dev | |
| WAVESPEED_API_KEY | No | Your WaveSpeed API key for image and video generation. Start here. https://wavespeed.ai | |
| ELEVENLABS_API_KEY | No | Your ElevenLabs API key for voiceover (optional). https://elevenlabs.io | |
| SUPERCMO_TELEMETRY | No | Set to 'false' to disable telemetry, or 'log' to log telemetry payloads instead of sending. | |
| SUPERCMO_MEDIA_PROVIDER | No | Media provider to use when both WaveSpeed and fal.ai keys are set. Set to 'fal' to use fal.ai instead of WaveSpeed. | wavespeed |
| CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | No | Honors Claude Code's setting; when set, telemetry is disabled. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| setup_statusA | Check which SuperCMO media-generation keys are configured and which capabilities (image / video / audio) are ready — the setup doctor. Call this FIRST when a user is setting up SuperCMO, asks which keys they need, or a generation failed with 'no_provider_configured'. Returns each vendor key (set/missing, what it enables, where to get it), managed-key state, and per-capability readiness. Set check=true for a FREE key-validity probe where one exists (never a paid generation). Reports only key NAMES and set/missing — never key values. |
| image_generateA | For a user's image request, load the |
| list_image_modelsA | List the available image-generation models (with strengths, price, the aspect ratios each accepts and how many reference images it takes), plus the valid aspect ratios and resolution tiers that image_generate accepts. Use when you need to choose a model and don't already have one in mind (e.g. an open-ended request), or to check the valid aspect_ratio / resolution values, or how many reference images a model will take, before calling image_generate — most of the time the model is the default or already specified. Pass an optional 'query' to filter models by use-case keyword (e.g. 'text', 'photorealistic', 'fast'). |
| video_generateA | For a user's video request, load the |
| list_video_modelsA | List the available video-generation models with, for each, its full schema: modes (text / image / first-last-frame / reference), the aspect ratios, durations and resolutions it accepts, which media it takes (start/end frame and reference image/video/audio with max counts), whether it has native audio, plus strengths and price. This is the authoritative source for a model's exact ranges — call it when choosing a model for an open-ended request, or to check what a model accepts before setting aspect_ratio / duration / resolution / media. Pass an optional 'query' to filter by use-case keyword (e.g. 'cinematic', 'fast', 'audio'). |
| audio_generateA | For a user's voiceover request, load the |
| list_audio_modelsA | List the available speech models — for each, its strengths, price, per-request character limit, language coverage, and the audio types it supports — plus the output formats audio_generate accepts. Every model works with every voice, so voices are a separate concern — use list_voices for those. This is the authoritative source for what a model accepts; call it when choosing a model for an open-ended request, or to check a value before setting it. Pass an optional 'query' to filter models by use-case keyword (e.g. 'expressive', 'long-form', 'fast'). |
| list_voicesA | Find a voice to speak with, and get the |
| url_extractionA | Extract structured data from a web page — a product listing (Amazon, Shopify, AliExpress, any store) or any URL — guided by a prompt and/or a JSON schema. Returns the requested fields (e.g. name, brand, price, description, specs) and any gallery image URLs as a compact JSON object — not the page's full text — plus page metadata. Omit both prompt and schema to get the page's own text (markdown) instead, which costs less, together with the colours, fonts and logo the page renders (branding) and a screenshot URL of the page as a visitor first sees it. A page that answers HTTP 400 or above comes back as a failed read. Use when you need specific data, image URLs or the text of a page. Set dry_run=true to preview the exact request without spending. |
| image_analysisA | Look at one or more images (local file paths or image URLs) and answer a question about each — returns text, not new images. Use to read a product photo (category, materials, on-pack text, distinctive details), to judge whether a shot is product-only or shows a face, or to describe any image's content, layout, or text. Pass |
| video_analysisA | Watch one or more videos (local file paths or video URLs) and answer a question about each — returns text, not new video. Use to read a clip before generating or matching it, to describe what happens in it, or to transcribe what is said. Pass |
| social_researchA | Pull read-only structured public data from social platforms and ad libraries — competitor ads (Meta/Facebook + Instagram, LinkedIn), profiles, posts, comments, transcripts, hashtag/keyword search, and subreddit / trend discovery. Two steps: call list_research_sources FIRST to see the platforms, their endpoints, and each endpoint's params; then call this with |
| list_research_sourcesA | List the available research sources for social_research — every platform, its endpoints, and each endpoint's required and optional params plus per-call cost. Call this FIRST whenever you need competitor ads, profiles, posts, comments, transcripts, or platform search and don't already know the exact platform + endpoint + params. Pass an optional 'query' to filter by platform, endpoint, or keyword (e.g. 'ads', 'reddit', 'comments'). |
| transcribeA | Transcribe speech from an audio or video file into text with word-level timestamps. Use it to caption a video (chain transcribe -> caption_video), to read a voiceover back, or to analyse a competitor ad's spoken script. |
| video_stitchA | Join finished video clips into one file, in the order given, with a hard cut between each and each clip's audio kept — this assembles existing clips, it does not generate new video. Use it to build a video longer than a single model clip: generate the shots with video_generate, then stitch them. Do NOT use it for a single clip, or for a batch of clips meant to stay separate. Three optional layers, each its own parameter: lay a voiceover over the picture (pass |
| caption_videoA | Burn styled, social-style captions into a video from a word-timed transcript — local ffmpeg, no credits. The usual chain is transcribe -> caption_video: run transcribe on the video (or its voiceover) to get word timestamps, then pass those here. Captions are styled and positioned with a font bundled in the package (no system-font dependency); optional karaoke highlights each word as it is spoken. Timestamps are relative to the video's own audio (t=0). Returns the output file |
| video_overlayA | Stamp a logo, timed text, and a branded end card onto a video — local ffmpeg, no credits. Overlay a logo watermark at a chosen corner, drop in timed text (CTAs, offers, captions you place yourself), and/or append an end-card image as a short closing still. Pass at least one of logo / texts / end_card. Text is rendered with a bundled font (no system-font dependency). Returns the output file |
| job_statusA | Retrieve a long-running generation that was submitted earlier but hasn't finished — any result from a generation tool that came back as |
| calendar_listA | List the caller's calendar events — tasks and posts — ordered by when they next fire. Each event includes a computed |
| calendar_addA | Schedule a new calendar event that fires once or on a recurrence. Two kinds: 'task' re-invokes the agent with |
| calendar_updateA | Change fields on an existing calendar event, or re-arm/cancel it. Pass only the fields you want to change — anything omitted is left as it was. |
| calendar_removeA | Cancel a calendar event by |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Tools are mostly distinct by modality and action (generate vs analyze vs list models vs edit), but a few minor overlaps exist: video_analysis can transcribe speech (overlapping with transcribe), and calendar_remove duplicates calendar_update's cancellation status. The descriptions clarify these distinctions, so misselection is unlikely but not impossible.
Names mix verb_noun (list_image_models, caption_video), noun_verb (image_generate, calendar_add, video_stitch), and noun_noun (setup_status, image_analysis, social_research). All are snake_case and some domain grouping exists, but the inconsistent verb position makes the overall pattern unpredictable.
With 22 tools spanning media generation, research, video editing, calendar management, and setup, each tool serves a clear purpose. However, the total volume falls in the 16–25 range, which feels heavy for a single server, even one with broad scope.
Core workflows are well covered: generation, analysis, model listing, video editing, calendar CRUD, and research. Minor gaps exist—such as dedicated image editing or audio post-processing beyond voiceover—but agents can typically work around them using reference-guided generation or existing editing tools.