CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

douyin-login

抖音独立 API 会话初始化与重新登录、扫码和短信登录、登录 MFA 验证及有效期检查。

Quality

79%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./crews/main/skills/douyin-hunter/tools/douyin-login/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A dense, highly actionable operational guide with concrete commands, explicit state-machine rules, and strong validation checkpoints for a fragile login flow. Its weaknesses are moderate inline bulk (MFA branch details and the error-code catalog could live in reference files) and a complete failure to reference or navigate to the bundled script, leaving progressive disclosure underdeveloped.

Suggestions

Reference the bundled script explicitly (e.g., a line pointing to scripts/douyin_login.py for command internals/error sources) so the existing bundle file is discoverable from SKILL.md.

Move the per-method MFA branch details (the mfa-* / sms-mfa-* command table and state rules) into a reference file linked from a short overview section, keeping SKILL.md as a lean index of the login flows.

Add an explicit post-deletion verification step to the clear-account workflow (e.g., re-run 'douyin-login status' and confirm 'next: init') so the destructive path has a validation checkpoint like the login paths do.

DimensionReasoningScore

Conciseness

The body is dense and domain-specific with essentially no padding of concepts Claude already knows; every section teaches tool-specific state-machine rules. Minor repetitions could be trimmed (e.g., 'restart --confirm' semantics are explained in both the account-switching and timeout sections), which places it at anchor 4 'efficient; minor instances of over-explanation that could be trimmed' rather than 5's 'every token earns its place'.

4 / 5

Actionability

Concrete, fully-specified bash commands cover every common path: 'douyin-login init', 'qr --output /受控目录/douyin-qr.png', 'poll --timeout 120', 'restart --confirm', all three MFA branches in a method→command table ('mfa-send --method mobile_sms_verify --confirm', 'mfa-code --code-file …', 'mfa-face-prepare/--check'), and 'sms-send --phone-file … --confirm' / 'sms-login --code-file …'. Specific error codes (RUNTIME_EXPIRED, QR_WAIT_TIMEOUT, LOGIN_MFA_REQUIRED, 2046) drive explicit branch decisions — matching anchor 5's copy-paste-ready commands covering the common cases; the /受控目录/ path placeholder is environment-inherent, not a guidance gap.

5 / 5

Workflow Clarity

Multi-step flows are clearly sequenced with explicit validation checkpoints: 'logged_in: true 和已确认 UID 后,才能使用平台业务工具' gates business tools; 'ticket-issued' gates mfa-resume; per-error-code recovery rules (QR_WAIT_TIMEOUT → continue poll, QR_EXPIRED → re-qr) form feedback loops; destructive 'restart' is gated by --confirm with preview mode. It stays at anchor 4 rather than 5 because the destructive clear-account workflow precisely scopes what to delete/retain but specifies no post-deletion verification step (e.g., re-running status to confirm the session is gone).

4 / 5

Progressive Disclosure

Section headers, a method table, and bash blocks give the ~97-line body decent structure, but all detail is inline in one file and the bundle's scripts/douyin_login.py (388 lines) is never referenced anywhere in the body — no navigation to the one bundle file that exists. This matches anchor 3 'some structure but could be better organized; content that should be separate is inline', rather than 4 (references mostly clear) because there are zero signaled references despite a real bundle.

3 / 5

Total

16

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A concise, specific, third-person description of a well-delineated niche (Douyin standalone API login lifecycle). Its main weakness is the complete absence of any 'when to use this' trigger guidance, which caps completeness, and slightly incomplete capability coverage relative to the body's scope.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user needs to log in to Douyin's standalone API, re-login after session expiry or timeout, handle login MFA (SMS / uplink SMS / face), or switch accounts.'

Include the account-switching / restart ('换号/重新登录') and local-account clearing capabilities so the description matches the body's actual scope.

Add a couple of natural synonyms users would say, such as '二维码' (QR code) and '二次验证' (secondary verification), to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description names several concrete actions — '会话初始化与重新登录、扫码和短信登录、登录 MFA 验证及有效期检查' (session init/re-login, QR and SMS login, MFA verification, expiry check) — matching the anchor 'lists several specific actions; minor gaps in coverage'. Not 5 because capabilities the body dedicates whole sections to (restart/account switching, session cleanup) are unmentioned; not 3 because more than 1–2 actions are covered.

4 / 5

Completeness

The 'what' is clearly stated (Douyin standalone API session initialization and re-login, QR/SMS login, MFA verification, expiry checking), but there is no 'Use when…' clause or any equivalent explicit trigger guidance, so per the judging guideline completeness is capped at 3: clear 'what' with 'when' missing entirely.

3 / 5

Trigger Term Quality

Natural domain terms users would say are present: '抖音', '登录', '扫码', '短信登录', '重新登录', 'MFA'. Good keyword coverage matching anchor 4, but a few natural variants are missing (e.g., '二维码', '换号', '二次验证'), keeping it below the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche — Douyin (抖音) standalone API session login with specific sub-capabilities (QR, SMS, MFA, expiry) — with distinct triggers and minimal overlap risk with any other skill, matching anchor 5. It is far more specific than anchor 4's 'minor overlap risk with closely related skills'.

5 / 5

Total

16

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

TeamWiseFlow/xiaobei

Path

crews/main/skills/douyin-hunter/tools/douyin-login/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.