toutiao-publisher
Publish or prepare articles for Toutiao/头条号, check or restore shared login state, fill Markdown drafts with inline images and covers, and optionally complete final publishing. Use for requests such as 发布到头条、检查头条登录、填充头条草稿、上传图文、人工审核 or explicitly authorized automatic publishing.
How do I install this agent skill?
npx skills add https://github.com/guanyang/super-publisher --skill toutiao-publisherIs this agent skill safe to install?
- Gen Agent Trust Hubfail
The Toutiao Publisher skill automates article publishing through browser simulation. It is classified as HIGH risk due to the potential for Indirect Prompt Injection; the skill ingests external Markdown content and possesses high-privilege side-effect capabilities (publishing to a public platform) without robust sanitization. Additionally, it relies on a non-standard stealth dependency ('patchright') and disables browser sandboxing.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · No issues
- Runlayerwarn
10/10 files flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Toutiao Publisher
Use the scripts from this Skill directory. Resolve the directory containing this
SKILL.md first and set its absolute path as SKILL_DIR; do not assume the caller's
working directory is the Skill directory.
Safety rules
- Default to
--mode manual. Leave Chrome open for the user to review and click Publish. - Use
--mode autoonly when the user explicitly authorizes final publishing. - Run
clear --yesorreauth --yesonly after the user confirms that all local Agents may lose the shared Toutiao session. - Do not bypass input validation or treat an unconfirmed publish click as success.
Preflight authentication
Check the protected Toutiao page before asking the user to scan a QR code:
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py status --verify --json
If the result status is not_authenticated, open the interactive login flow:
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py setup --json
The shared profile lives under ~/.super-publisher/toutiao-publisher/ by default.
Codex, Kiro, Antigravity, and direct CLI runs by the same system user reuse it.
Set SUPER_PUBLISHER_DATA_DIR to override the location; relative values resolve
from the user home directory.
Prepare and publish an article
Validate inputs without opening Chrome:
python3 "$SKILL_DIR/scripts/run.py" publisher.py \
--mode validate \
--title "AI Trends 2026" \
--content-file "/absolute/path/article.md" \
--cover "/absolute/path/cover.jpg" \
--json
After validation succeeds, fill the draft and wait for manual review:
python3 "$SKILL_DIR/scripts/run.py" publisher.py \
--mode manual \
--title "AI Trends 2026" \
--content-file "/absolute/path/article.md" \
--cover "/absolute/path/cover.jpg" \
--json
Use direct text only through --content-text. --content remains an alias for
--content-file; a missing path is an error rather than literal article text.
Markdown supports headings, links, ordered and unordered lists, block quotes,
tables, fenced code, inline code, emphasis, and local inline images. Resolve relative
image paths from the Markdown file. If the body contains images, skip explicit cover
upload. Use --no-cover only when the body has no image and no cover is supplied.
For explicitly authorized automatic publishing:
python3 "$SKILL_DIR/scripts/run.py" publisher.py \
--mode auto \
--title "AI Trends 2026" \
--content-file "/absolute/path/article.md" \
--headless \
--json
Automatic publishing succeeds only after Toutiao displays a recognized success
indicator. A final-button click without confirmation returns publish_unconfirmed.
Result contract
With --json, authentication commands write one JSON result to stdout. Publisher
commands write newline-delimited JSON events; manual mode emits
awaiting_manual_review before waiting for the user.
- Exit
0: authenticated, input valid, manual review completed, or publish confirmed. - Exit
1: runtime, browser interaction, draft, upload, or publish failure. - Exit
2: invalid input, missing authentication, or clear confirmation required.
Treat stderr as human-readable diagnostics. Do not parse emojis or prose to determine success.
Session management
# Read local state only
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py status --json
# Verify against Toutiao and refresh state
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py validate --json
# Destructive: require explicit user confirmation first
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py clear --yes --json
Environment
Require Python 3.9+, Google Chrome, and local network access. scripts/run.py
bootstraps scripts/setup_environment.py, verifies the requirements fingerprint,
and executes the target with the Skill-local .venv Python. The shared state directory
uses owner-only permissions. Avoid starting concurrent browser operations against the
same persistent Chrome Profile.
Enable --debug-screenshots only when troubleshooting. Screenshots are written under
output/toutiao-publisher-debug/ by default.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/guanyang/super-publisher/toutiao-publisher">View toutiao-publisher on skillZs</a>