Weread Reading Recommender
by @cengsin
Use this skill when the user wants to export local WeRead records, normalize WeRead data, analyze reading preferences from WeRead history, or get book recomm...
clawhub install weread-reading-recommender📖 About This Skill
name: weread-reading-recommender description: Use this skill when the user wants to export local WeRead records, normalize WeRead data, analyze reading preferences from WeRead history, or get book recommendations grounded in WeRead reading behavior and a current learning goal.
WeRead Reading Recommender
Overview
This is a local-first skill for exporting 微信读书 (WeRead) records from a cookie stored on the user's machine, normalizing those records into a recommendation-friendly JSON file, and using that data to analyze reading preferences or recommend what to read next.
Use this skill when the user wants to:
Trigger Cases
Activate this skill for requests like:
Workflow
Follow this sequence:
1. Check whether a normalized JSON file already exists.
2. If normalized data is missing, or the user explicitly wants fresh data, check whether a local WeRead cookie is already available.
3. Look for a local cookie source in this order:
- a cookie file path explicitly provided by the user
- WEREAD_COOKIE
- another env var name passed through --env-var
4. If no local cookie source exists, ask the user to set one locally and stop there. Do not tell the user to edit SKILL.md.
5. If a local cookie source exists, run the export script.
6. Run the normalize script on the raw export.
7. Read the normalized JSON and identify strong signals:
- high-engagement books
- recent books
- unfinished books with momentum
- repeated categories or lists
8. If the user provides a current goal, weight goal fit first.
9. If the user does not provide a goal, produce a reading-profile summary plus safe and exploratory recommendations.
Recommendation Guidance
When the user provides a current goal, weight approximately:
When the user provides no goal, weight approximately:
For each recommendation, explain:
Suggested response structure:
Local Data Workflow
1. Check local cookie availability first
Before asking the user to set anything, first check whether a local cookie is already available through:
WEREAD_COOKIE--env-varIf none of these exist, ask the user to set the cookie locally, then continue.
2. Export raw WeRead data
If a local cookie is already available, export directly:
python3 scripts/export_weread.py --out data/weread-raw.json
Optional variants:
python3 scripts/export_weread.py --cookie-file ~/.config/weread.cookie --out data/weread-raw.json
python3 scripts/export_weread.py --env-var WEREAD_COOKIE --include-book-info --detail-limit 50 --out data/weread-raw.json
If the user does need to set one manually, keep it local. For example:
export WEREAD_COOKIE='wr_skey=...; wr_vid=...; ...'
3. Normalize the raw export
python3 scripts/normalize_weread.py --input data/weread-raw.json --output data/weread-normalized.json
4. Use the normalized file for recommendation turns
After normalization, this skill should reason primarily from the normalized JSON, not from a live cookie session, unless the user explicitly asks for a refresh.
Security Boundary
This skill is local-first. Enforce these rules:
SKILL.md, scripts, assets, logs, or exported JSON.Files
Use these project files as the main references:
scripts/export_weread.pyscripts/normalize_weread.pyreferences/data-schema.mdreferences/privacy-model.mdreferences/recommendation-rubric.mdassets/sample-weread-raw.jsonassets/sample-weread-normalized.json