Markdown Editor
Analysis
This skill appears to be a straightforward cloud markdown-to-video tool, but it sends your content to NemoVideo and uses a service token to create sessions and renders.
Findings (7)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
Backend says | You do ... "click [button]" / "点击" | Execute via API
The skill tells the assistant to translate backend UI-style messages into API actions. This lets remote service responses influence the next workflow step, though the actions are framed within the stated video-editing purpose.
**Upload**: POST `/api/upload-video/nemo_agent/me/<sid>` — file: multipart `-F "files=@/path"`, or URL: `{"urls":["<url>"],"source_type":"url"}`The skill exposes upload and rendering operations through provider API calls. This is central to the markdown-to-video purpose, but it can send user-provided files or URLs to the external service.
Source: unknown; Homepage: none
The package has no linked source or homepage in the supplied metadata. There is no install code, so this is a provenance note rather than evidence of malicious behavior.
Poll GET `/api/render/proxy/lambda/<id>` every 30s until `status` = `completed`. ... closing the tab before completion orphans the job.
The skill describes ongoing polling and server-side render jobs that may continue after being started. This is normal for cloud rendering and is disclosed, but it is persistent background activity.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
metadata: {"openclaw": {"requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN"The skill requires a NemoVideo token and may use a local NemoVideo config path. This credential is expected for the service integration and is disclosed in the artifact.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
Save `session_id` from the response. ... **Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
The workflow stores and reuses a provider session and retrieves draft/media state. This is expected for an editing session, but user content and generated media may persist in remote session state.
**Send message (SSE)**: POST `/run_sse` — body `{"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}}`The skill communicates with an external `nemo_agent` service over API/SSE and sends user messages into that service. This is disclosed and purpose-aligned, but it is an external data boundary.
