Content
78%Weight 40%Scale 1-5Reviews 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.
| Dimension | Reasoning | Score |
|---|---|---|
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 |