Best for
- Use when the user wants to export Douban reading/watching/listening/gaming history, back up their Douban data, set up incremental sync, or mentions 豆瓣/douban collections.
daymade/claude-code-skills/douban-skill/SKILL.md
Use it for data analysis and engineering tasks; the detail page covers purpose, installation, and practical steps.
Decision brief
Export Douban user collections (books, movies, music, games) to CSV files. Douban has no official data export; the official API shut down in 2018.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/daymade/claude-code-skills --skill "douban-skill"Inspect the Agent Skill "douban-skill" from https://github.com/daymade/claude-code-skills/blob/b04f8a55ee3f5a390acbe05aed25db67f8067422/douban-skill/SKILL.md at commit b04f8a55ee3f5a390acbe05aed25db67f8067422. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Ask for Douban user ID (from profile URL, or accept full URL) 2. Run: DOUBANUSER= python3 scripts/douban-frodo-export.py 3. Verify: row counts in console output should match, check with wc -l /.csv 4. (Optional) Set up RSS sync for daily incremental updates
Full export of all book/movie/music/game collections via Frodo API
Cannot export reviews (长评), notes (读书笔记), or broadcasts (广播)
Douban uses PoW (Proof of Work) challenges on web pages, blocking all HTTP scraping. We tested 7 approaches — only the Frodo API works. Do NOT attempt web scraping, browsercookie3+requests, curl with cookies, or Jina Reader.
The API key and HMAC secret in the script are Douban's public mobile app credentials, extracted from the APK. They are shared by all Douban app users and do not identify you. No personal credentials are used or stored. Data is fetched only from frodo.douban.com.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 1,315 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Export Douban user collections (books, movies, music, games) to CSV files. Douban has no official data export; the official API shut down in 2018.
Douban uses PoW (Proof of Work) challenges on web pages, blocking all HTTP scraping.
We tested 7 approaches — only the Frodo API works. Do NOT attempt web scraping,
browser_cookie3+requests, curl with cookies, or Jina Reader.
See references/troubleshooting.md for the complete failure log of all 7 tested approaches and why each failed.
The API key and HMAC secret in the script are Douban's public mobile app credentials,
extracted from the APK. They are shared by all Douban app users and do not identify you.
No personal credentials are used or stored. Data is fetched only from frodo.douban.com.
DOUBAN_USER=<user_id> python3 scripts/douban-frodo-export.py
Finding the user ID: Profile URL douban.com/people/<ID>/ — the ID is after /people/.
If the user provides a full URL, the script auto-extracts the ID.
Environment variables:
DOUBAN_USER (required): Douban user ID (alphanumeric or numeric, or full profile URL)DOUBAN_OUTPUT_DIR (optional): Override output directoryDefault output (auto-detected per platform):
~/Downloads/douban-sync/<user_id>/%USERPROFILE%\Downloads\douban-sync\<user_id>\~/Downloads/douban-sync/<user_id>/Dependencies: Python 3.6+ standard library only (works with python3 or uv run).
Example console output:
Douban Export for user: your_douban_id
Output directory: /Users/you/Downloads/douban-sync/your_douban_id
=== 读过 (book) ===
Total: 639
Fetched 0-50 (50/639)
Fetched 50-100 (100/639)
...
Fetched 597-639 (639/639)
Collected: 639
=== 在读 (book) ===
Total: 75
...
--- Writing CSV files ---
书.csv: 996 rows
影视.csv: 238 rows
音乐.csv: 0 rows
游戏.csv: 0 rows
Done! 1234 total items exported to /Users/you/Downloads/douban-sync/your_douban_id
DOUBAN_USER=<user_id> node scripts/douban-rss-sync.mjs
RSS returns only the latest ~10 items (no pagination). Use Full Export first, then RSS for daily updates.
Four CSV files per user:
Downloads/douban-sync/<user_id>/
├── 书.csv (读过 + 在读 + 想读)
├── 影视.csv (看过 + 在看 + 想看)
├── 音乐.csv (听过 + 在听 + 想听)
└── 游戏.csv (玩过 + 在玩 + 想玩)
Columns: title, url, date, rating, status, comment
rating: ★ to ★★★★★ (empty if unrated)date: YYYY-MM-DD (when the user marked it)DOUBAN_USER=<id> python3 scripts/douban-frodo-export.pywc -l <output_dir>/*.csvSee references/troubleshooting.md for:
Alternatives
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
Standard single-cell RNA-seq analysis pipeline. Use for QC, normalization, dimensionality reduction (PCA/UMAP/t-SNE), clustering, differential expression, visualization, and converting R-friendly single-cell formats such as Seurat or SingleCellExperiment RDS files into h5ad for Scanpy. Best for exploratory scRNA-seq analysis with established workflows. For deep learning models use scvi-tools; for data format questions use anndata.
davepoon/buildwithclaude
Automate SendGrid email operations including sending emails, managing contacts/lists, sender identities, templates, and analytics via Rube MCP (Composio). Always search tools first for current schemas.
davepoon/buildwithclaude
Automate Supabase database queries, table management, project administration, storage, edge functions, and SQL execution via Rube MCP (Composio). Always search tools first for current schemas.