cninfo-to-notebooklm
npx skills add https://github.com/jarodise/cninfo2notebookllm --skill cninfo-to-notebooklm
Agent 安装分布
Skill 文档
CNinfo to NotebookLM
Overview
Download annual and periodic reports for China A-share and Hong Kong stocks from cninfo.com.cn and upload them to NotebookLM for AI-powered analysis with a specialized “Financial Analyst” persona.
When to Use
- User provides a China stock name or code (A-share or Hong Kong)
- User wants to analyze a company’s financial reports
- User asks to “download reports” or “research” a Chinese stock
- User wants to upload stock reports to NotebookLM
Supported Markets
| Market | Code Pattern | Examples |
|---|---|---|
| A-share | 6-digit codes (0xxxxx, 3xxxxx, 6xxxxx) | 600519 (è´µå·è å°), 000001 (å¹³å®é¶è¡) |
| Hong Kong | 5-digit codes (00xxx, 01xxx, 02xxx, 09xxx) | 00700 (è ¾è®¯æ§è¡), 09988 (é¿éå·´å·´) |
Core Workflow
User provides stock name/code
â
1. Look up stock in database (auto-detect market)
â
2. Download reports from cninfo:
- Last 5 years annual reports (年度æ¥å)
- Current year: Q1, semi-annual, Q3 reports
â
3. Create NotebookLM notebook
â
4. Configure "Financial Analyst" persona with custom prompt
â
5. Upload all PDFs as sources
â
6. Return notebook ID â
Step-by-Step Instructions
Step 0: Environment Setup (First Run Only)
Crucial: Before running the script, verify the environment is ready.
-
Check Dependencies: Verify if the dependencies are installed (specifically
notebooklmandplaywright). -
Install: If dependencies are missing or this is the first run, execute the installation script:
chmod +x install.sh && ./install.sh -
Authenticate: Ensure the user has authenticated with NotebookLM (
notebooklm login). If not, ask them to do so.
Step 1: Run Main Orchestration Script
Run the script from the skill directory:
python3 scripts/run.py <stock_code_or_name>
Examples:
python3 scripts/run.py 600350– A-share stockpython3 scripts/run.py å±±ä¸é«é– A-share by namepython3 scripts/run.py 00700– Hong Kong stock (Tencent)python3 scripts/run.py è ¾è®¯æ§è¡– Hong Kong by name
This script handles everything:
- Downloads reports to a temp directory.
- Creates a NotebookLM notebook.
- Configures the notebook with
assets/financial_analyst_prompt.txt. - Uploads all PDFs.
- Cleans up temp files.
Step 2: Report to User
Provide:
- â Number of reports downloaded & uploaded
- ð NotebookLM notebook ID
- ð Market type (A-share or Hong Kong)
- ð¡ Remind user the notebook creates a “Financial Analyst” persona for deep analysis.
Configuration
The skill uses a custom system prompt located at:
assets/financial_analyst_prompt.txt
This prompt configures NotebookLM to act as a “Financial Report Analyst” based on “Hand-holding Financial Reporting” methodology.
Error Handling
| Error | Solution |
|---|---|
| Stock not found | Check if code is valid A-share or Hong Kong stock |
| NotebookLM CLI not found | Ensure notebooklm-py matches requirements.txt and is in PATH |
| Auth missing | Run notebooklm login to authenticate via browser |
| Upload failed | Check network connection and NotebookLM service status |
Dependencies
- Python 3.8+
httpxpackagenotebooklm-pypackageplaywright(for authentication)
Quick Reference
A-share Report Types
| Report Type | Category Code | Period |
|---|---|---|
| Annual | category_ndbg_szsh |
Previous 5 years |
| Semi-Annual | category_bndbg_szsh |
Current year |
| Q1 Report | category_yjdbg_szsh |
Current year |
| Q3 Report | category_sjdbg_szsh |
Current year |
Hong Kong Stock Differences
| Aspect | A-share | Hong Kong |
|---|---|---|
| Market code | szse |
hke |
| Categories | Uses category codes | Empty categories |
| Search key | Uses Chinese search terms | Empty search key |
| Report naming | YYYY年年度æ¥å |
May use Arabic/Chinese numerals |
| Search period | Following year (March-June) | Same year or following year |