Skills/npm/explain-deck

explain-deck@1.3.1

VERIFIED· install only

Publisher claims: "Turn an explanation into a narrated, self-playing slide deck. A CLI and agent skill for Claude Code, Codex, Cursor and others." Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher vishalx360 · publishing for 4 daysInstalls 1,035Last detonated 2d ago
$claude mcp add explain-deck -- npx -y explain-deck
WatchReport an issue

Coverage

Nothing executable in the bundle ran; the trace covers the install step only.
Tested
every file read, file written and host contacted by what ran
Not tested
use of the skill by an agent

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-12 and scored it 82/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 0 s · 1 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
0.0sprocessscript backend runs setup only
0.0sprocessscript backend runs setup only
0.0sprocessno install scripts to re-run

Static findings

MEDIUM
File permission modification commandvendor/highlight.min.js:781 · File permission modification command — agent changes file ownership/permissions….]+/, keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose d…Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Process kill commandvendor/highlight.min.js:781 · Process kill command — agent can terminate processes…name getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msg…Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/init.mjs:76 · npx invocation of non-well-known package — may execute untrusted code`exec npx -y --prefix "${prefix}" explain-deck@1 "$@"\n`;Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/build.mjs:24 · npx invocation of non-well-known package — may execute untrusted code// npx may wipe its own install dir between runs, so anything worth keepingFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packageskill/SKILL.md:42 · npx invocation of non-well-known package — may execute untrusted code**First run takes longer.** npx downloads the CLI and the build downloads aFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packageskill/SKILL.md:28 · npx invocation of non-well-known package — may execute untrusted code3. Build it with the `explain-deck` CLI (npx fetches it; nothing to install):Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/init.mjs:9 · npx invocation of non-well-known package — may execute untrusted code* `skills` CLI (npx skills add), so the two installers never fight.Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionskill/SKILL.md:25 · File type combined with upload action — agent may exfiltrate local data files2. Write `deck.json` into a new folder, one folder per explainer. The output isFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/init.mjs:68 · npx invocation of non-well-known package — may execute untrusted code// repo) makes npx use that folder as the local copy and re-run `explain-deck`Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/init.mjs:66 · npx invocation of non-well-known package — may execute untrusted code// --prefix points npx at a neutral project folder. Without it, running theFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packageskill/SKILL.md:30 · npx invocation of non-well-known package — may execute untrusted codenpx -y explain-deck@1 build <folder>/deck.jsonFix: Pin versions and sources; vendor anything fetched at install time.
AST06

Cost to the agent

Instructions loaded
≈3,069 tok
1 file · 13 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

No advisories in OSV for explain-deck@1.3.1 as of 2d ago. This is the package itself, not its dependencies.