/SKILL.md
Batch download Indian company filings (transcripts, investor presentations, credit ratings, annual reports, share issuance documents, XBRL-parsed personnel changes, key announcements, shareholder meetings) from NSE and valuepickr threads. Supports resolving industries to stock lists (e.g., getting all cement stocks). Convert downloaded PDFs to LLM-ready Markdown. Optionally add to NotebookLM. Use when user asks to: (1) Download investor materials for Indian publicly listed companies or entire industries (e.g. "cement stocks", "sugar industry"), (2) Research Indian stocks/companies, (3) Create research notebooks with company filings, or (4) Analyze NSE-listed company documents.
npx skillsauth add eggmasonvalue/knowledgelm-nse knowledgelm-nseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Batch download Indian company filings from NSE, convert PDFs to Markdown, and optionally integrate with NotebookLM.
Maintenance docs for this repo live in AGENTS.md and context/.
SKILL.md remains the runtime contract for agent behavior.
Check if installed: knowledgelm --version
If not: uv tool install knowledgelm
To upgrade: uv tool upgrade knowledgelm
To keep this skill up-to-date, run:
npx skills update
Use --help extensively to discover options and to determine the next steps
knowledgelm --help
knowledgelm fetch nse --help
All commands output strictly formatted JSON to stdout. Logs, progress bars, and warnings are routed to knowledgelm.log to preserve the context window.
Success: {"success": true, ...data...}
Failure: {"success": false, "error": "<reason>"}
NSE Symbol: If not provided, use web_search to find it.
Industry-based / Sector-based Queries: If the user asks for filings, research, or notebooks for stocks belonging to an industry or sector (e.g., "all cement stocks", "sugar industry", "consumer discretionary stocks"):
scripts/fetch_industry_data.py (located in this skill's folder, find the path from the system prompt):
python <path_to_skill>/scripts/fetch_industry_data.py
This returns a JSON with the cached path, e.g., {"success": true, "cache_path": "<absolute_path_to_cache_json>"}.
One-time setup: the helper uses the shared industry-map client. If it reports
industry_map_client not installed, run:pip install "industry-data-in @ git+https://github.com/eggmasonvalue/stock-industry-map-in.git"
{
"metadata": ["Macro", "Sector", "Industry", "Basic Industry"],
"data": {
"ABB": ["Industrials", "Capital Goods", "Electrical Equipment", "Heavy Electrical Equipment"],
"BAJAJHIND": ["Fast Moving Consumer Goods", "Fast Moving Consumer Goods", "Agricultural Food & other Products", "Sugar"]
}
}
knowledgelm fetch nse <SYMBOL>.Date Range: If not provided, ask for clarification. Accept various formats:
"2023-01-01 to 2025-01-26", "2023 to 2025", "from 2023""last 2 years""Since IPO", "since <event>" (use web_search to resolve dates)Convert to YYYY-MM-DD for CLI.
Datasets: Default to all datasets if not specified. Uses --annual-reports-all by default.
Run knowledgelm list-datasets to get the full list of valid dataset keys.
Share Issuance Documents note: Use issue_documents when the user asks about docs related to events involving issuance of shares: IPO prospectus, rights issues, QIP placements, information memoranda, or scheme of arrangement documents.
Shareholder Meeting Notices note: The shm_details.json output from the shm dataset contains:
ixbrl : links to a human .html file of the details of the meeting and resolutions(subset of the below)
local_pdf_path: .pdf of the notice. Besides all the info in the ixbrl .html, the .pdfs provide explanatory statements for each resolution. This is an underrated source of insight.
Use knowledgelm fetch nse with appropriate flags.
# Fetch all standard categories
knowledgelm fetch nse HDFCBANK --start 2024-01-01 --end 2025-01-26
# Fetch specific datasets
knowledgelm fetch nse HDFCBANK --start 2024-01-01 --end 2025-01-26 --datasets transcripts,annual_reports
The CLI's return .json provides useful metadata about the results.
The below is a comprehensive CLI for Google NotebookLM - offers full programmatic access to NotebookLM's features from the command line
Follow this if the user wants to create a notebook
Check if installed and upgrade to latest:
notebooklm --version
If not installed:
uv tool install notebooklm-py
If installed, upgrade to latest:
uv tool upgrade notebooklm-py
Browser extras (for first-time setup):
Do not use this unless you run into issues running any of the notebooklm commands.
If user hasn't authenticated with NotebookLM before, they need browser login support:
uv tool install "notebooklm-py[browser]"
playwright install chromium
Use --help extensively to discover options and to determine the next steps
notebooklm --help
notebooklm source add --help
Use the notebooklm CLI to create a new notebook and add all downloaded files(.pdf, .md, .json) to that notebook (exclude .pkl files).
Contextually come up with a call-to-action to help the user benefit from the below add-on features/unused core features.
Use web_search to find the company's thread URL on forum.valuepickr.com.
Run knowledgelm fetch vp <URL> --symbol <SYMBOL>. Files saved to ./{SYMBOL}_sources/forum_valuepickr/.
Artifacts: 1. thread PDF 2. popular links in the thread in a .md
Note:
Make the user understand both and offer it as just a download for the user to read manually or as a potential source.
knowledgelm fetch vp "https://forum.valuepickr.com/t/nrb-bearings-ev-and-exports-to-drive-growth/106674" --symbol NRBBEARING
The notebooklm_audio_prompt can be used to generate a fundamental deep-dive of the company in audio format by passing it as an argument to the corresponding notebooklm command.
The convert command converts downloaded PDFs to LLM-ready Markdown using markitdown.
Important: Conversion is deliberately separate from fetch because it can take over 2 minutes per file for large documents (e.g., annual reports).
Use when a user wants to analyze an individual source/small subset without using notebookLM/as a fallback for when notebooklm faces persistent issues. Explicitly warn the user regarding the tradeoff beforehand.
# Convert a single PDF
knowledgelm convert file "./HDFCBANK_sources/transcripts/2024-10-19_Transcript.pdf"
# Bulk convert all PDFs in a directory
knowledgelm convert dir "./HDFCBANK_sources/transcripts/"
"success": false in JSONweb_search to verify.documentation
Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
documentation
Maintain the OpenClaw memory wiki vault with deterministic pages, managed blocks, and source-backed updates.
documentation
Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.
documentation
Feishu permission management for documents and files. Activate when user mentions sharing, permissions, collaborators.