douyin-interact

douyin-interact is a skill for Claude Code, Codex from zJay26/douyin-skills. It costs 53 tokens per session (1,060 once invoked), scanned A, original, MIT.

An automation tool for interacting with specified public Douyin videos or notes, including checking or changing likes and favourites and adding comments.

In plain words
What is it for?
Use it to read interaction status, like or favourite a Douyin post, comment on it, or retrieve its share link.
Why use it?
It helps perform these actions on one clearly identified post while avoiding duplicate clicks when the current state is known.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to read interaction status, like or favourite a Douyin post, comment on it, or retrieve its share link.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zjay26/douyin-skills/douyin-interact
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add zJay26/douyin-skills --skill douyin-interact
Clone the repo
git clone --depth 1 https://github.com/zJay26/douyin-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for douyin-interact

README.md
[![agentmods](https://agentmods.dev/badge/skills/zjay26/douyin-skills/douyin-interact/github.svg)](https://agentmods.dev/skills/zjay26/douyin-skills/douyin-interact)
Your own site
<a href="https://agentmods.dev/skills/zjay26/douyin-skills/douyin-interact"><img src="https://agentmods.dev/badge/skills/zjay26/douyin-skills/douyin-interact/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for douyin-interact

Your own site · 80×15
<a href="https://agentmods.dev/skills/zjay26/douyin-skills/douyin-interact"><img src="https://agentmods.dev/badge/skills/zjay26/douyin-skills/douyin-interact.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 53 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,060 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00053 $0.01060
Opus 5 $0.00026 $0.00530
Sonnet 5 $0.00011 $0.00212
Haiku 4.5 $0.00005 $0.00106

Measured 3d ago against content hash 6ca15ed6e160, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

douyin-interact scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/douyin-interact/SKILL.md · 76 lines

How it starts

The opening of the file, as written. The whole thing — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.

执行基础互动

只使用 python "{baseDir}/../../scripts/cli.py" <子命令>。如果系统只有 python3,替换命令名。

前置确认

  1. 根据用户指定账号传 --account <名称>,并检查登录状态。
  2. 确认唯一目标作品。接受纯数字 ID、douyin.com/video/...douyin.com/note/... 公开链接。
  3. 对刚发布的作品优先使用主页作品卡片中的公开链接,不使用创作者中心内部记录 ID。
  4. 不批量互动,不连续重复同一操作。

点赞

python "{baseDir}/../../scripts/cli.py" like-video --video-id <作品ID或公开链接>

网页按钮是切换开关。CLI 会先读取平台显式状态;state: already_active 表示没有重复点击。若点击前仍为 state: unknown,CLI 应返回 clicked: false 并安全停止,不要改用坐标或文字匹配盲点。只有 clicked: truestate_verified: false 才能报告“已点击点赞按钮,最终状态未稳定确认”,且不得重试。

收藏

python "{baseDir}/../../scripts/cli.py" favorite-video --video-id <作品ID或公开链接>

同样先判定状态再操作。点击前状态不可靠时保持 clicked: false;按钮已点击但最终状态未确认时,交给用户在页面核对。

  • state: already_active 表示目标状态本来就已激活,CLI 没有再次点击。
  • state_verified: true 表示页面通过适配器声明的 data-e2e-state、ARIA、文案或样式暴露了明确证据;不要把一次普通点击自动等同于最终状态。

只读核对点赞与收藏状态

python "{baseDir}/../../scripts/cli.py" get-interaction-state --video-id <作品ID或公开链接>
  • 该命令只读取当前按钮状态,不点击切换控件。
  • state_verified: truestate: active / inactive 表示页面提供了明确状态证据。
  • state: unknownstate_verified: false 仍需用户在页面核对,不要改用点赞/收藏命令试探。

评论

python "{baseDir}/../../scripts/cli.py" comment-video --video-id <作品ID或公开链接> --comment "评论内容"
  • 只在页面明确提供评论输入框和发送控件时尝试一次。
  • state: comment_confirmed 表示评论文本已在评论区出现。
  • state: comment_clicked_unconfirmed 表示发送控件已点击但未确认评论出现;不要自动重试。
  • state: comment_outcome_unknownclicked: null 表示发送指令期间异常,无法确认是否发送;不要重试,先检查评论区。
  • comment_input_not_foundcomment_text_not_appliedcomment_submit_not_found 表示没有发送评论,不要把填写输入框报告为已评论。
  • comment_input_not_empty 表示评论框中已有其他草稿;保留草稿且不要覆盖。

分享链接

python "{baseDir}/../../scripts/cli.py" share-video --video-id <作品ID或公开链接>

优先返回 JSON 的 share_urlcopied_to_clipboard: false 只表示当前环境没有确认剪贴板写入;只要 share_url 有值,仍可把链接交给用户。

失败处理

  • 点赞、收藏在图文和视频页面都必须先有可靠状态证据;图文操作栏缺少状态时不能按位置点击。

  • outcome_unknown: trueclicked: nullretry_safe: false 表示不能自动重复操作;连接错误不等于没有执行。

  • needs_user_verification: true:停在 headed 浏览器,等待人工验证;risk_recovered: truelogged_in: true 时继续,不要沿用切换前的风险判断。

  • 作品不可访问:说明可能私密、已删除或链接错误。

  • 按钮未找到:报告页面结构可能变化,不要用坐标盲点或其他自动化工具兜底。

  • 不支持回复评论、私信分享或批量互动。

Read the full file on GitHub · 76 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago Changed · +4 lines 6ca15ed6e160
  2. 11d ago First seen · 72 lines · 53 tokens per session scan A 963cdbef9be9

Subscribe to this mod's changes

douyin-interact is a skill published in the GitHub repository zJay26/douyin-skills (53 stars, last pushed 2d ago), licensed MIT. It adds 53 tokens to every session and 1,060 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

owb

Open Web Bridge (OWB) — drive the user's own real browser with the owb command. Read pages behind their existing logins, gather and cross-check information, fill forms, walk multi-step flows, debug their site, audit responsive/accessibility behavior, and capture or reverse-engineer network traffic. Use this whenever…

woniu9524/open-web-bridge · 143 tokens

chrome-agent

Local browser automation with structured, verified outcomes. Use for web navigation, scraping and extraction, form interaction, screenshots and downloads, network or console checks, responsive testing, or page-scoped device emulation.

sderosiaux/chrome-agent · 44 tokens

scrape-structured-data

Get the repeating records off a web page (product grids, search results, job listings, news feeds, tables) as JSON, without writing CSS selectors and without spending a model call to read the HTML. Works on sites with no API, including ones behind a login or bot protection. Runs locally, one binary, no API key. Use…

sderosiaux/chrome-agent · 111 tokens

browser-bridge

Token-efficient Chrome tab inspection, interaction, and patching via local bridge extension (CLI: bbx). Reads live DOM, styles, console, network, and storage from a real Chrome tab with lower token cost than screenshots.

koltyakov/browser-bridge · 49 tokens

rever

Reverse-engineer web APIs by driving a running Rever Browser instance — connect to its published MCP endpoint and use its browser-automation, network-capture, and JS-bundle-analysis tools. Use when the user types /rever, asks to reverse or analyze a website's API, capture or inspect its network traffic, deobfuscate…

greekr4/rever-browser · 82 tokens

unbrowser

Cheap first-pass web discovery without launching Chrome — fetch SSR pages, run bounded JS, find routes/forms/API endpoints, extract structured data, and detect bot-wall or browser-only escalation points.

protostatis/unbrowser · 40 tokens