Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Video Editing With Canva

v1.0.0

edit video clips or images into polished edited videos with this skill. Works with MP4, MOV, WebM, AVI files up to 500MB. content creators and marketers use...

0· 79·0 current·0 all-time
bypeandrover adam@peand-rover

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for peand-rover/video-editing-with-canva.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Video Editing With Canva" (peand-rover/video-editing-with-canva) from ClawHub.
Skill page: https://clawhub.ai/peand-rover/video-editing-with-canva
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: NEMO_TOKEN
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install video-editing-with-canva

ClawHub CLI

Package manager switcher

npx clawhub@latest install video-editing-with-canva
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The skill is named and described as "Video Editing With Canva" which implies integration with Canva, but all runtime instructions and API endpoints point to mega-api-prod.nemovideo.ai (a different service). Asking for NEMO_TOKEN makes sense for the NemoVideo backend but is misleading with respect to the advertised "Canva" integration. Also the SKILL.md metadata lists a config path (~/.config/nemovideo/) while the registry metadata showed no required config paths; this inconsistency should be resolved.
!
Instruction Scope
The SKILL.md explicitly instructs the agent to: automatically obtain an anonymous token via POST, create sessions, upload files (multipart or via URLs), use SSE endpoints, poll render status, and include attribution headers. Those network operations are coherent with a cloud rendering service but the instructions will cause automatic outbound network calls (including uploading user media) and implicit token creation if NEMO_TOKEN is not set. The instructions also derive headers from local install paths (detecting ~/.clawhub/ or ~/.cursor/skills/), which may be unreliable and unnecessary. The skill tells agents not to show raw API responses or token values to users — that reduces transparency.
Install Mechanism
This is an instruction-only skill with no install spec or code files. That minimizes on-disk execution risk; nothing in the metadata attempts to download or install binaries.
!
Credentials
The only declared required credential is NEMO_TOKEN, which is proportional for the NemoVideo API. However: (1) the skill will auto-generate an anonymous token if NEMO_TOKEN is not present (network call and implicit credential acquisition), (2) the SKILL.md metadata includes a config path (~/.config/nemovideo/) even though the registry shows none, and (3) the primaryEnv is NEMO_TOKEN while the instructions do not clearly state where or whether obtained tokens are persisted. These inconsistencies raise questions about how long tokens/credentials are stored and where.
Persistence & Privilege
always:true is not set and the skill does not request system-wide privileges. It does instruct the agent to create sessions and keep session_id for subsequent requests, which is normal for a cloud service. There is no instruction to change other skills' configs or modify system-wide settings.
What to consider before installing
This skill appears to talk to a third‑party service called NemoVideo, not Canva — the name/description are misleading. Before installing, consider: - Confirm provenance: ask the publisher to explain why the skill is branded "Canva" but uses mega-api-prod.nemovideo.ai and provide a homepage/source repo. If you expected official Canva integration, do not install. - Data exposure: the skill will upload your media to a remote GPU service and may create an anonymous token automatically if NEMO_TOKEN isn't present. Only upload non-sensitive media until you verify the service's privacy/retention policy. - Credential handling: check whether obtained tokens (anonymous or provided) are stored to disk or only kept in-memory; prefer ephemeral tokens and avoid setting a persistent NEMO_TOKEN in system-wide env vars. - Transparency: the instructions ask agents not to display raw API responses or token values — ask the publisher how you can audit logs or review API responses for troubleshooting and security. - Reputation: verify the nemo* domain and the service's terms/privacy. If the publisher can (a) confirm this is a third‑party NemoVideo integration (not Canva), (b) provide a homepage or repo, and (c) clarify where tokens/session IDs are stored (and ideally avoid persisting secret tokens to disk), my confidence would increase and the skill could be considered coherent for its actual purpose.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🎬 Clawdis
EnvNEMO_TOKEN
Primary envNEMO_TOKEN
latestvk975e7samm7z548h7n9a67n8eh859r6b
79downloads
0stars
1versions
Updated 6d ago
v1.0.0
MIT-0

Getting Started

Share your video clips or images and I'll get started on AI-assisted video editing. Or just tell me what you're thinking.

Try saying:

  • "edit my video clips or images"
  • "export 1080p MP4"
  • "add text overlays, trim the clip,"

First-Time Connection

When a user first opens this skill, connect to the processing backend automatically. Briefly let them know (e.g. "Setting up...").

Authentication: Check if NEMO_TOKEN is set in the environment. If it is, skip to step 2.

  1. Obtain a free token: Generate a random UUID as client identifier. POST to https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with header X-Client-Id set to that UUID. The response data.token is your NEMO_TOKEN — 100 free credits, valid 7 days.
  2. Create a session: POST to https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Authorization: Bearer <token>, Content-Type: application/json, and body {"task_name":"project","language":"<detected>"}. Store the returned session_id for all subsequent requests.

Keep setup communication brief. Don't display raw API responses or token values to the user.

Video Editing with Canva — Edit and Export Branded Videos

Send me your video clips or images and describe the result you want. The AI-assisted video editing runs on remote GPU nodes — nothing to install on your machine.

A quick example: upload a 60-second MP4 clip with background music, type "add text overlays, trim the clip, and apply a consistent color theme", and you'll get a 1080p MP4 back in roughly 30-60 seconds. All rendering happens server-side.

Worth noting: shorter clips under 2 minutes process significantly faster and give cleaner results.

Matching Input to Actions

User prompts referencing video editing with canva, aspect ratio, text overlays, or audio tracks get routed to the corresponding action via keyword and intent classification.

User says...ActionSkip SSE?
"export" / "导出" / "download" / "send me the video"→ §3.5 Export
"credits" / "积分" / "balance" / "余额"→ §3.3 Credits
"status" / "状态" / "show tracks"→ §3.4 State
"upload" / "上传" / user sends file→ §3.2 Upload
Everything else (generate, edit, add BGM…)→ §3.1 SSE

Cloud Render Pipeline Details

Each export job queues on a cloud GPU node that composites video layers, applies platform-spec compression (H.264, up to 1080x1920), and returns a download URL within 30-90 seconds. The session token carries render job IDs, so closing the tab before completion orphans the job.

Headers are derived from this file's YAML frontmatter. X-Skill-Source is video-editing-with-canva, X-Skill-Version comes from the version field, and X-Skill-Platform is detected from the install path (~/.clawhub/ = clawhub, ~/.cursor/skills/ = cursor, otherwise unknown).

Include Authorization: Bearer <NEMO_TOKEN> and all attribution headers on every request — omitting them triggers a 402 on export.

API base: https://mega-api-prod.nemovideo.ai

Create session: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"<lang>"} — returns task_id, session_id.

Send message (SSE): POST /run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}} with Accept: text/event-stream. Max timeout: 15 minutes.

Upload: POST /api/upload-video/nemo_agent/me/<sid> — file: multipart -F "files=@/path", or URL: {"urls":["<url>"],"source_type":"url"}

Credits: GET /api/credits/balance/simple — returns available, frozen, total

Session state: GET /api/state/nemo_agent/me/<sid>/latest — key fields: data.state.draft, data.state.video_infos, data.state.generated_media

Export (free, no credits): POST /api/render/proxy/lambda — body {"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}. Poll GET /api/render/proxy/lambda/<id> every 30s until status = completed. Download URL at output.url.

Supported formats: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.

SSE Event Handling

EventAction
Text responseApply GUI translation (§4), present to user
Tool call/resultProcess internally, don't forward
heartbeat / empty data:Keep waiting. Every 2 min: "⏳ Still working..."
Stream closesProcess final response

~30% of editing operations return no text in the SSE stream. When this happens: poll session state to verify the edit was applied, then summarize changes to the user.

Translating GUI Instructions

The backend responds as if there's a visual interface. Map its instructions to API calls:

  • "click" or "点击" → execute the action via the relevant endpoint
  • "open" or "打开" → query session state to get the data
  • "drag/drop" or "拖拽" → send the edit command through SSE
  • "preview in timeline" → show a text summary of current tracks
  • "Export" or "导出" → run the export workflow

Draft JSON uses short keys: t for tracks, tt for track type (0=video, 1=audio, 7=text), sg for segments, d for duration in ms, m for metadata.

Example timeline summary:

Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)

Error Handling

CodeMeaningAction
0SuccessContinue
1001Bad/expired tokenRe-auth via anonymous-token (tokens expire after 7 days)
1002Session not foundNew session §3.0
2001No creditsAnonymous: show registration URL with ?bind=<id> (get <id> from create-session or state response when needed). Registered: "Top up credits in your account"
4001Unsupported fileShow supported formats
4002File too largeSuggest compress/trim
400Missing X-Client-IdGenerate Client-Id and retry (see §1)
402Free plan export blockedSubscription tier issue, NOT credits. "Register or upgrade your plan to unlock export."
429Rate limit (1 token/client/7 days)Retry in 30s once

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "add text overlays, trim the clip, and apply a consistent color theme" — concrete instructions get better results.

Max file size is 500MB. Stick to MP4, MOV, WebM, AVI for the smoothest experience.

Export as MP4 with H.264 codec for the best compatibility across social platforms.

Common Workflows

Quick edit: Upload → "add text overlays, trim the clip, and apply a consistent color theme" → Download MP4. Takes 30-60 seconds for a 30-second clip.

Batch style: Upload multiple files in one session. Process them one by one with different instructions. Each gets its own render.

Iterative: Start with a rough cut, preview the result, then refine. The session keeps your timeline state so you can keep tweaking.

Comments

Loading comments...