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 rangePlan 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.共 1 个版本