tiktok-post-analyzer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited tiktok-post-analyzer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Given a TikTok post link, this skill downloads the post, extracts key frames, and produces a forensic content analysis. You (Claude) are the analyst — there is no external LLM call.
Before proposing any commands, check whether node, ffmpeg, and patchright (plus its Chromium binary) are available:
node --version
ffmpeg -version
NODE_PATH="$(npm root -g)" node -e "require.resolve('patchright')" && npx patchright install --dry-run chromiumIf any of them is missing, pause and ask the user to install them. Provide these steps verbatim:
# Node.js (skip if `node --version` already works)
# macOS: brew install node
# Linux: sudo apt-get install -y nodejs npm
# ffmpeg
# macOS: brew install ffmpeg
# Linux: sudo apt-get install -y ffmpeg
# patchright + its Chromium browser
npm install patchright
npx patchright install chromiumOnly once node, ffmpeg, and patchright are all present, proceed with the TikTok analysis.
Run the helper script with the user's URL:
NODE_PATH="$(npm root -g)" node .claude/skills/tiktok-post-analyzer/scripts/fetch-post.mjs "<TIKTOK_URL>"The NODE_PATH="$(npm root -g)" prefix lets the script resolve the globally-installed patchright (Node doesn't search the global node_modules otherwise).
The script drives patchright (stealth Chromium) — it needs the cached Chromium binary, so the first run may be slow. It:
vm./vt.tiktok.com) to the canonical post URL.__UNIVERSAL_DATA_FOR_REHYDRATION__ → webapp.video-detail.It prints JSON: { outDir, metadataPath, frames, type, platformId }. If it prints ERROR: ..., relay the reason (post may be private, deleted, or region-locked) and stop.
metadataPath (the metadata JSON: author, content, engagement, ratios).frames with the Read tool (they are JPEG images). For a video, frame-1 = 5% … frame-5 = 90%, in chronological order.Act as a Social Media Content Strategist specializing in TikTok trends, algorithmic patterns, short-form video psychology, and internet culture. Analyze the frames plus the metadata together.
Use web search to get fresh, accurate info on any trend, meme, niche community, or audio referenced — do not invent these. For memes, check sources like knowyourmeme.com or reddit.com.
Cover these sections:
author.bioText (the raw bio) and author.bioPage (the bio link's resolved url, title, and description — this is the strongest signal). Commercial signals: a product named in the bio, links like linktree/gumroad/shopify/amazon shop or a personal store, or mentions of email/DM/discounts. Identify whether/how the creator monetizes, the funnel, and the product they sell (with a category). If bioPage is null, say monetization is unconfirmed rather than inventing it.likeView → like/view %), and a one-line interpretation. A small table (Metric · Value · Ratio · Read) works well. Also state the raw view count and judge view quality relative to post age, follower count, and the creator's typical views (author.recentPostStats). Use these thresholds to phrase each "Read" as weak / normal / good (don't print a score): + between them (e.g. 💰 Relatable salary-vs-effort hook + 🎭 Expressive reaction acting + 🔊 Trending meme sound + 🏢 Simple one-angle office setup + 🔁 Short loopable cut). These are the few key ingredients, not full sentences.Built by CheckViral — TikTok analyzer and content research tool.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.