WeRead Reading Recommender
name: weread-reading-recommender
by cengsin · published 2026-03-22
$ claw add gh:cengsin/cengsin-weread-reading-recommender---
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:
If 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.jsonOptional 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.jsonIf 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.json4. 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:
Files
Use these project files as the main references:
Example Requests
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...