Social Content to Obsidian
Turn one supported share link into an evidence-aware Obsidian source note. Use the bundled scripts instead of recreating the acquisition or analysis pipeline.
Workflow
- Locate this skill's directory and call
scripts/doctor.pybefore the first ingest in a conversation. Do not print or inspect secret values. - If configuration is missing, read
references/setup.md. Ask only for the Obsidian Vault path if it is unknown. Explain that initialization creates local folders and that dependency installation downloads third-party components, then obtain authorization before using--install-dependencies. - If
api_keyis false, give the exactapi_key_filepath returned by the doctor and ask the user to placeDASHSCOPE_API_KEY=...there themselves. Never ask them to paste the key into chat. - Run
scripts/ingest.pywith the complete share text or URL. Default to automatic publication after setup. Add--review-onlyonly when the user requests a draft. - Read the final JSON. Report the content type, final status, source-note path, newly created or skipped Wiki pages, and
list_price_cnywhen present. Describe that amount as a configured list-price estimate rather than a provider invoice. - On failure, preserve the original content and local diagnostics. Read
references/troubleshooting.mdfor the specific error. Do not bypass login, verification, CAPTCHA, paywalls, or platform access controls.
Commands
Use the host's python3 for wrapper scripts. Quote paths and sharing text.
python3 <skill-root>/scripts/doctor.py
python3 <skill-root>/scripts/setup.py --vault "/absolute/path/to/vault" --install-dependencies
python3 <skill-root>/scripts/ingest.py "<share text or URL>"
For a requested draft:
python3 <skill-root>/scripts/ingest.py "<share text or URL>" --review-only
Never add --force-analysis or --force-transcript unless the user explicitly asks to repeat a paid model operation. Existing successful jobs are reused by default.
Output Contract
Treat these statuses as authoritative:
published: source note was written and new Wiki candidates were created without overwriting existing pages.review_required: preview and diff exist, but the Vault was not changed by publication.existing_publish: this content was already processed; return the prior publication result.- command failure: explain the actionable error and do not claim that anything was published.
The pipeline never replaces an existing source, concept, or topic note with different content. A name collision is reported or skipped.
Boundaries
- Handle only Douyin, Xiaohongshu, and WeChat Official Account public links. Read
references/supported-content.mdwhen platform support is uncertain. - Use downloaded material for the rights basis provided by the user; default to
personal-research. Do not imply copyright permission. - Store runtime data under the local application directory returned by the doctor, outside the installed skill.
- Keep keys, cookies, downloaded media, logs, and the user's Vault out of the skill folder.
- Read
references/privacy-and-security.mdbefore changing acquisition, credential, storage, or publication behavior.