Agent skill · Audited from source

pexoai-agent

skill · pexoai/pexo-skillsMIT licenceAudited 21 Oct 2026 · source a72d4da09420

★ 810pushed 62 days agoversion 0.1.0
✕BLOCKGrade D · 69/100 · 13 findings · a72d4da
810repo stars · whole pexoai/pexo-skills

Is it safe? No — BLOCK, grade D (69/100). We read this skill's source at commit a72d4da09420 and observed network access and no hard-coded secrets. The audit raised 13 findings, 6 critical or high. What it does: Generate AI video from any input — text, image, or script — with Pexo. Auto-routes each shot to the best of 10+ models (Seedance, Kling, Veo, Sora, and more), writes the prompts, generates every shot, and returns a…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “pexoai-agent (pexoai/pexo-skills)”. Retrieved 21 Oct 2026. https://modelsatlas.com/skills/pexoai/pexoai-agent

Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 6 critical or high findings, starting with “Prompt injection” in skills/pexo-agent/SKILL.md:83. Do not install it without reading them.

Trust audit

Audit 0.4.1 · source read 21 Oct 2026

Trust score69/100✕BLOCK D
0 critical6 high1 medium4 low2 info

BLOCK means the audit found something that could harm you or your machine. Grade D is shared by 642 of 14,816 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkDeclared9 observations
  • ShellNone observedNo commands run in the source
  • DependenciesNot pinnedSome versions float
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeWARN4
L2 InstructionsPrompt injection, authority framing, hidden directivesFAIL9
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: instruction override, no behavioural pass.

Findings (13)

HIGHPrompt injectionprompt.credential_read · skills/pexo-agent/SKILL.md:83
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
read -rsp "Pexo API key: " pexo_api_key
Why
asks the agent to read credentials
Fix
—
HIGHPrompt injectionprompt.hide_from_user · skills/ai-video-generation/references/TROUBLESHOOTING.md:42
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
If the body says `error=INTERNAL_ERROR`, do not tell the user to rotate the key first; the service may simply be temporarily down.
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.hide_from_user · skills/explainer-video/references/TROUBLESHOOTING.md:42
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
If the body says `error=INTERNAL_ERROR`, do not tell the user to rotate the key first; the service may simply be temporarily down.
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.hide_from_user · skills/founder-video/references/TROUBLESHOOTING.md:42
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
If the body says `error=INTERNAL_ERROR`, do not tell the user to rotate the key first; the service may simply be temporarily down.
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.hide_from_user · skills/image-to-video/references/TROUBLESHOOTING.md:42
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
If the body says `error=INTERNAL_ERROR`, do not tell the user to rotate the key first; the service may simply be temporarily down.
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.hide_from_user · skills/launch-video/references/TROUBLESHOOTING.md:42
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
If the body says `error=INTERNAL_ERROR`, do not tell the user to rotate the key first; the service may simply be temporarily down.
Why
asks the agent to act without the user's knowledge
Fix
—
MEDIUMNetwork egressnet.raw_ip · skills/videoagent-video-studio/scripts/local-server.cjs:79
F-04 Network egressCWE-200 · CWE-319Layer L1
console.log(`[local-server] listening on http://127.0.0.1:${PORT}`);
Why
No further detail recorded for this rule.
Fix
—
LOWSupply chainsupply.unpinned · skills/videoagent-audio-studio/proxy/package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
@fal-ai/client, @upstash/redis
Why
2 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWSupply chainsupply.unpinned · skills/videoagent-image-studio/package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
undici
Why
1 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWSupply chainsupply.unpinned · skills/videoagent-video-studio/proxy/package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
@fal-ai/client, @upstash/redis
Why
2 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWPrompt injectionprompt.transfer_instruction · docs/WHY_VIRUSTOTAL_IS_NOT_ENOUGH.md:26
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
- Send user data to a server you don’t trust.
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
INFOPrompt injectionprompt.credential_read · skills/pexo-agent/references/SETUP-CHECKLIST.md:15
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
read -rsp "Pexo API key: " pexo_api_key
Why
asks the agent to read credentials
Fix
—
INFOSupply chainprompt.pipe_to_shell · docs/DEPLOY_OPENCLAW_ON_VPS.md:74
F-08 Supply chainCWE-829 · CWE-1357Layer L2
curl -fsSL https://openclaw.ai/install.sh | bash
Why
No further detail recorded for this rule.
Fix
—

Audit 0.4.1 · source sha a72d4da09420 · 21 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisherpexoai GitHub userOwner of the repository this skill is read from
  • Source folderpexoai/pexo-skillsThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdicta72d4da09420A new audit runs when the source changes
  • Repository statusNot archivedLast push 62 days ago
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Generate AI video from any input — text, image, or script — with Pexo. Auto-routes each shot to the best of 10+ models (Seedance, Kling, Veo, Sora, and more), writes the prompts, generates every shot, and returns a…

---
name: ai-video-generation
description: >
  Generate AI video from any input — text, image, or script — with Pexo. Auto-routes each shot to
  the best of 10+ models (Seedance, Kling, Veo, Sora, and more), writes the prompts, generates
  every shot, and returns a finished video with music and subtitles. Use for any AI video
  generation request: "ai video generation", "generate a video with ai", "ai video generator",
  "make an ai video". NOT for editing an existing video.
homepage: https://pexo.ai
repository: https://github.com/pexoai/pexo-skills
version: "0.1.0"
requires:
  env: [PEXO_API_KEY, PEXO_BASE_URL]
  runtime: [curl, jq, file]
metadata:
  author: pexoai
---

# AI Video Generation — Pexo

**Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.

Generate a finished video with AI from whatever the user gives you — text, an image, or a
script. You relay the request to the hosted Pexo agent and deliver the result; Pexo picks the
models, writes the prompts, and assembles the final video.

## Your role: relay, don't create

Create a project, send the user's request **verbatim**, poll, deliver. Pexo's backend handles
all creative work — scriptwriting, model choice, prompts, music. Adding your own direction
(duration, style, models the user didn't ask for) overrides its judgment and produces worse
videos.

## Config

`~/.pexo/config`:
```
PEXO_BASE_URL="https://pexo.ai"
PEXO_API_KEY="sk-<your-api-key>"
```
**No account / first run →** read `references/SETUP-CHECKLIST.md` and walk the user through it — it carries the signup flow with the **invite code that grants new users bonus credits**, plus how to create the config above. **Config error →** run `scripts/pexo-doctor.sh` and follow its output.

## Workflow

Scripts live in this skill's `scripts/`. Reply to the user in their language.

1. **Create a project:** `pexo-project-create.sh "<short brief>"` → save the `project_id`.
2. **Upload any files** the user gave: `pexo-upload.sh <project_id> <path>` → save `asset_id`,
   reference it inline as `<original-image>asset_id</original-image>` (or `<original-video>` /
   `<original-audio>`). Tags are required — a bare `asset_id` is ignored. Pexo can't crawl URLs —
   download, then upload.
3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.
   Copy the user's words exactly; only add asset tags.
4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAction`:
   - **WAIT** → keep polling; every ~5 polls send a one-line update with the project link.
   - **RESPOND** → handle each event in `recentMessages`: relay Pexo's text (wait for the
     user's answer if it asked, then `pexo-chat.sh` their reply); for `preview_video`, run
     `pexo-asset-get.sh <project_id> <assetId>` per option, show the URLs (A/B/C), let the user
     pick, then `pexo-chat.sh <project_id> "<choice>" --choice <assetId>`; for a `document`
     event, mention it to the user.
   - **DELIVER** → `pexo-asset-get.sh <project_id> <final assetId>`, then send the user the
     **full** asset URL as plain text — all `?...` query params, never truncated or wrapped in
     markdown — plus the project link.
   - **FAILED** → explain `nextActionHint` in plain terms and offer to retry.
   - **RECONNECT** → `pexo-chat.sh <project_id> "continue"`, tell the user the connection
     dropped and you're resuming, then keep polling.
   - Never call `pexo-chat.sh` during WAIT — it triggers duplicate production.
   - **Taking too long** → if it's been >30 min and still WAIT, tell the user (with the project
     link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
     stop. Don't poll forever.

## Revisions

After delivery, the user's tweaks ("make it shorter", "new music", "different shot") reuse the
**same** project: `pexo-chat.sh <project_id> "<their feedback>"`, then poll again (step 5). Never
create a new project for a revision — it throws away Pexo's server-side context.

## Credits

If a script fails with "Credits balance" / "Insufficient credits": if the error carries a
purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
→ Credits → Buy Credits. Retry after they confirm.

## Example

User: "Generate a 20-second AI video introducing our productivity app."

```bash
pid=$(pexo-project-create.sh "AI video app intro")
pexo-chat.sh "$pid" "Generate a 20-second AI video introducing our productivity app."
# Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
# Poll pexo-project-get.sh "$pid" until nextAction is DELIVER, then deliver the asset URL.
```

## Scripts

| Script | Usage | Returns |
|---|---|---|
| `pexo-project-create.sh` | `"<brief>"` | `project_id` |
| `pexo-upload.sh` | `<project_id> <file>` | `asset_id` |
| `pexo-chat.sh` | `<project_id> "<message>" [--choice <id>]` | ack (async) |
| `pexo-project-get.sh` | `<project_id>` | JSON: `nextAction`, `recentMessages` |
| `pexo-asset-get.sh` | `<project_id> <asset_id>` | JSON with `url` |
| `pexo-doctor.sh` | — | setup diagnostic |

Error codes and edge cases → `references/TROUBLESHOOTING.md`.

Excerpt, first 5,293 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit a72d4da

npx skills add https://github.com/pexoai/pexo-skills --skill pexo-agent
npx skills add https://github.com/pexoai/pexo-skills --skill ai-video-generation
npx skills add https://github.com/pexoai/pexo-skills --skill explainer-video
npx skills add https://github.com/pexoai/pexo-skills --skill founder-video

Commands as the repository documents them: shown, never run by us. Our verdict covers commit a72d4da09420 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
CodexMentioned in its text, not testedSkills for Codex · About Codex
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
OpenClawMentioned in its text, not testedSkills for OpenClaw · About OpenClaw
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✕BLOCK D 69 / 100

    first audit · source a72d4da09420

Similar skills

Questions about pexoai-agent

What does the pexoai-agent skill do?
A collection of open-source Agent Skills for content creation — images, audio, and video.
Is pexoai-agent safe to install?
No — not without reading the findings first. The audit graded it D (69/100) and found 6 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can pexoai-agent access on my machine?
The audit observed that it reaches the network. Each of those is consistent with what it says it does. Secrets in the source: none found.
Which assistants does pexoai-agent work with?
Its documentation mentions claude-code, codex, cursor and openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (a72d4da09420), read on 2026-10-21. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.