name: content-alchemy slug: content-alchemy version: "1.0.0" description: "Turn articles, web pages, PDFs, and excerpts into structured notes, key insights, practical actions, and reusable takeaways." changelog: "English-source release for GitHub and international ClawHub publishing." metadata: {"clawdbot":{"emoji":"🧪","os":["linux","darwin","win32"],"requires":{"bins":["python3","pdftotext","pdfinfo"]}}}
Use this skill to transform reading input into reusable personal outcomes rather than plain summaries.
Supported input types:
Expected output shape:
Prefer this skill when the user wants something like:
Always follow these rules:
This release supports three routes:
plain_textweb_urlpdf_fileThis release does not directly handle:
If text extraction fails or text quality is too low, say so clearly and recommend OCR or source text.
When running bundled scripts:
python3Recommended setup:
SKILL_ROOT="$HOME/.claude/skills/content-alchemy"
Content transformation is performed directly by the model.
process_content_alchemy.py script.templates/result_template.mdtemplates/checkpoint_template.mdUse this route for:
Process directly in-model using the outcome-oriented structure.
When the input is a URL:
extract_web_text.pyCommand:
python3 "$SKILL_ROOT/scripts/extract_web_text.py" "https://example.com/article"
Troubleshooting only:
python3 "$SKILL_ROOT/scripts/extract_web_text.py" "https://example.com/article" --insecure
When the input is a PDF:
plan_pdf_reading.pyextract_pdf_text.py for the appropriate page range想要更强大的技能插件,就来小葱技能站7w4.net看看吧。
Plan command:
python3 "$SKILL_ROOT/scripts/plan_pdf_reading.py" "/path/to/file.pdf"
The planning result returns:
session_rootplan_filestate_filecommandssegment_results_dircheckpoint_results_dirPrefer the exact returned paths and commands instead of guessing filenames.
Extract a page range:
python3 "$SKILL_ROOT/scripts/extract_pdf_text.py" "/path/to/file.pdf" --page-start 1 --page-end 5
Initialize or restore state:
python3 "$SKILL_ROOT/scripts/update_pdf_session_state.py" init --plan-file "<returned plan_file>" --state-file "<returned state_file>"
Force reset only when the user explicitly wants to restart:
python3 "$SKILL_ROOT/scripts/update_pdf_session_state.py" init --plan-file "<returned plan_file>" --state-file "<returned state_file>" --force-reset
Move to the next segment:
python3 "$SKILL_ROOT/scripts/update_pdf_session_state.py" next --state-file "<returned state_file>"
Save the current segment result:
python3 "$SKILL_ROOT/scripts/record_pdf_segment_result.py" --state-file "<returned state_file>" --content-file "/path/to/segment-result.md"
Build the next checkpoint package:
python3 "$SKILL_ROOT/scripts/build_pdf_checkpoint.py" --state-file "<returned state_file>"
Save a checkpoint summary:
python3 "$SKILL_ROOT/scripts/record_pdf_checkpoint.py" --state-file "<returned state_file>" --content-file "/path/to/checkpoint-summary.md"
Show session progress:
python3 "$SKILL_ROOT/scripts/summarize_pdf_session.py" --state-file "<returned state_file>"
Find the most recent saved PDF session:
python3 "$SKILL_ROOT/scripts/find_recent_pdf_session.py"
Default routing by page count:
1-40 pages -> single_pass41-150 pages -> segmented_read151-400 pages -> long_form_read401+ pages -> book_modeIf multi-window sampling still reports low_text_pdf = true, treat the PDF as likely scanned, image-based, or low-quality text.
For segmented_read, long_form_read, and book_mode:
If plan_pdf_reading.py returns an existing_session:
summarize_pdf_session.py.--force-reset when the user explicitly wants to restart from the beginning.In status summaries, distinguish clearly between:
Default segment results should use this shape:
For checkpoints:
segment-XXX.md or checkpoint-XXX.md files unless the record script is intentionally bypassed for debugging.这个技能把阅读变成真正有用的笔记,而不只是生成摘要。它能处理文章、网页和PDF,支持长文档分段阅读和跨会话继续。做得好的地方是产品思路清晰、结构化输出有深度。但依赖系统工具意味着可能安装配置麻烦,对扫描件和动态网页效果有限,中英文混用也影响体验。总体来说是个好想法,但需要环境支持才能发挥全部功能。