Install
openclaw skills install douban-self-taste-skillCollect, refresh, normalize, and analyze the user's own Douban history for taste analysis and recommendation reasoning. Use when the task involves the user's own Douban shelves, ratings, tags, comments, reviews, or recent activity, especially when you need to decide whether local cache is fresh enough, re-crawl logged-in data with cookies, store refreshed results locally, and then analyze them by category.
openclaw skills install douban-self-taste-skillCollect the user's own Douban history, keep a local cache fresh, and analyze it carefully.
Use this skill only for the user's own Douban data, including:
Do not use this skill for public-user scraping, whole-site crawling, hidden/private data claims, or MCP-server design.
Use these paths unless the user explicitly asks for a different layout:
.local/douban-self-taste/cookies/douban_cookies.json.local/douban-self-taste/cache/collections/.local/douban-self-taste/analysis/Treat the cache as reusable local working data. Do not scatter generated files across the repo.
Read references/storage-layout.md for exact file naming conventions.
Follow this order.
Check whether local crawl cache already exists for the requested category.
fetched_at timestamp is older than 7 days, crawling is needed.Prefer the smallest sufficient refresh.
Check whether the cookie file exists and is plausibly usable.
Treat cookies as unavailable when:
If cookies are unavailable or expired, ask the user for fresh cookies before crawling.
Do not pretend a crawl succeeded when authentication failed.
When cookies are available, crawl the user's own Douban shelves and store the refreshed result in local JSON cache files.
Use scripts/crawl_douban_self_history.py for logged-in crawling.
Use scripts/extract_douban_self_history.py when the user already has saved HTML files.
After crawling:
fetched_atOnly start analysis after confirming that either:
Use scripts/build_taste_profile.py to build an analysis-ready summary when helpful.
Write the summary into .local/douban-self-taste/analysis/ when the user wants a reusable analysis artifact.
Always pay extra attention to:
For scripts/build_taste_profile.py, use these summary rules:
items array in the profile output; keep full records in the crawl cache.recent_items as the newest dated items sorted by date descending, capped at 20 items.high_rated_items as all items tied at the user's highest observed rating within the focused dataset; if there are more than 20, keep only the most recent 20 by date.low_rated_items as all items tied at the user's lowest observed rating within the focused dataset; if there are more than 20, keep only the most recent 20 by date.When the user asks about one category, analyze that category first.
Examples:
Separate:
Do not overfit from tiny samples.
Start with factual scope:
Then provide analysis. Keep generated profile files compact enough for downstream LLM analysis; prefer concise summaries over repeating the entire dataset.
references/storage-layout.md for local file locations.references/data-sources.md for cache/cookie refresh logic.references/output-schema.md for normalized JSON structure.references/analysis-rubric.md before writing conclusions.scripts/crawl_douban_self_history.py to refresh local cache from logged-in pages.scripts/extract_douban_self_history.py to convert saved HTML files into normalized JSON.scripts/build_taste_profile.py to generate category-aware summaries.