SKILLEMALL.ai

CF anima

Anima Avatar - Interactive Video Generation Engine. Generates 16:9 videos with dynamic character sprites (Shutiao), synced audio (Fish Audio), and text overlay.

ClawHub Agent Skills author: HMyaoyuan v3.3.2 12 files body ≈ 2 752 tokens Open the sourceclawhub.ai analyzed 3 d ago

As a process F 47/100 · Will not run — References files that are not bundled: assets/sprites/, assets/backgrounds/, assets/backgrounds/cherry_blossom_bg.png

GeneratorMedia and videoInfrastructuretype and topics are labelled automatically from the skill text
JSON
Technical rating
C
68/100
safety, quality, tests
Safety 60%
94
Quality 40%
30
Run on models
none yet
Process rating
F
47/100
Will not run
References files that are not bundled: assets/sprites/, assets/backgrounds/, assets/backgrounds/cherry_blossom_bg.png
Tools and files w 18
0
Result and completion w 14
0
Inputs and preconditions w 11
0
the three weakest of ten parameters · all ten

How to improve

  1. Say in the description WHEN to use the skill ("use when…", example requests): that is the agent's main cue.
  2. The text references files that are not there: add them or drop the references.
For the model run — optional
  • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
  • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

Guard findings · 6

✓ No critical or high findings

Medium and low: 6
  • low Exfiltration exfil-secret-in-url src/batch_generator.js:75
    Credential passed in a URL query string (normal for some APIs — verify the host is the intended service) (placeholder value)
    const cmd = `curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemi…ent?key=…" -H "Content-Type: application/json" -d @"${payloadPath}"`;
    placeholder
  • low Exfiltration net-credential-use src/batch_generator.js:75
    Credential used in a network call (verify the destination is the intended service) (destination is a well-known publishing service; quoted — discussed, not commanded)
    const cmd = `curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemi…ent?key=…" -H "Content-Type: application/json" -d @"${payloadPath}"`;
    known servicequoted
  • low Exfiltration net-credential-use src/send_video_pro.js:30
    Credential used in a network call (verify the destination is the intended service) (quoted — discussed, not commanded)
    const tokenCmd = `curl -s -X POST -H "Content-Type: application/json; charset=utf-8" -d '{"app_id":"${APP_ID}","app_secret":"${APP_SECRET}"}' https://open.feishu.cn/open-apis/auth/v3/tenant_access_tok
    quoted
  • low Exfiltration net-credential-use src/send_video_pro.js:51
    Credential used in a network call (verify the destination is the intended service) (quoted — discussed, not commanded)
    const uploadVideoCmd = `curl -s -X POST -H "Authorization: Bearer ${token}" -H "Content-Type: multipart/form-data" -F "file_name=anim…mp4" -F "file_type=mp4" -F "duration=${durationMs}" -F "file
    quoted
  • low Exfiltration net-credential-use src/send_video_pro.js:59
    Credential used in a network call (verify the destination is the intended service) (quoted — discussed, not commanded)
    const uploadImgCmd = `curl -s -X POST -H "Authorization: Bearer ${token}" -H "Content-Type: multipart/form-data" -F "image_type=message" -F "image=@${COVER_PATH}" https://open.feishu.cn/open-apis/im/v
    quoted
  • low Exfiltration net-credential-use src/send_video_pro.js:74
    Credential used in a network call (verify the destination is the intended service) (quoted — discussed, not commanded)
    const sendCmd = `curl -s -X POST -H "Authorization: Bearer ${token}" -H "Content-Type: application/json; charset=utf-8" -d '{"receive_id": "${TARGET_ID}", "msg_type": "media", "content": "${content}"}
    quoted

Files scanned: 12. Evidence is masked. Grey chips explain why severity was lowered.

Against the Agent Skills spec

  • error name-missing SKILL.md: frontmatter has no `name`
  • warning description-no-when description does not say WHEN to use the skill (no "use when")
  • warning missing-ref reference to a missing file: assets/sprites/
  • warning missing-ref reference to a missing file: assets/backgrounds/
  • warning missing-ref reference to a missing file: assets/backgrounds/cherry_blossom_bg.png
  • warning missing-ref reference to a missing file: assets/sprites/shutiao_base.png

Process rating: all ten parameters 47/100

Will not run. References files that are not bundled: assets/sprites/, assets/backgrounds/, assets/backgrounds/cherry_blossom_bg.png
  • 0Tools and files. 4 referenced file(s) missing: assets/sprites/, assets/backgrounds/, assets/backgrounds/cherry_blossom_bg.png
  • 0Result and completion. Does not say what the result is
  • 0Inputs and preconditions. Does not say what the process needs to start
  • 20When it triggers. No condition that starts the skill
  • 100Steps. 71 steps
  • 100Failures and branches. 2 branches, has a failure section
  • 100Consistency. Name and required fields are in place
  • 100Execution cost. Instruction body is 2752 tokens
  • 100Running it twice. Mutating operations check current state
  • 100Progress reporting. Reports progress

Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

Quality signals

  • +5Description has no quoted example phrases that should trigger the skill
  • +4Description does not say when NOT to use the skill (false activations)
  • +3Output format is not stated: the model decides each time
  • +1No license
  • +2Single-language instructions
  • +3Description length 160: enough signal without eating the budget
  • +4Structure: 25 headings
  • +3Step-by-step instructions: 71 items
  • +4Has examples (10 code blocks)

Quality base 70; lint remarks subtract, signals add up to 100. Result: 30.

External checks

ClawHub: suspicious
Anima is a mostly disclosed avatar-video generator, but it needs Review because user-controlled text, recipient IDs, and paths are placed into shell commands that can execute unintended local commands.
LLM: suspicious (high) · VirusTotal: suspicious · 28 May 2026