Stock API
zhangxiangliang/stock-api
Fetch real-time stock quotes, K-line (candlestick) history, and search symbols for China A-shares, Hong Kong, and US markets.
Pre-print setup for a company about to report: the expectation bar, EPS-quality watch, call questions, scenarios and the reaction framework.
$ npx skills add ginlix-ai/LangAlpha --skill earnings-preview -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ginlix-ai/LangAlpha earnings-preview --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/langalpha_research/skills/earnings-preview .claude/skills/earnings-preview && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "earnings-preview" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_research/skills/earnings-preview into .claude/skills/earnings-preview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-preview", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_research/skills/earnings-previewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ginlix-ai/LangAlpha --skill earnings-preview -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ginlix-ai/LangAlpha earnings-preview --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/langalpha_research/skills/earnings-preview .agents/skills/earnings-preview && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "earnings-preview" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_research/skills/earnings-preview into .agents/skills/earnings-preview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-preview", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ginlix-ai/LangAlpha --skill earnings-preview -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ginlix-ai/LangAlpha earnings-preview --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/langalpha_research/skills/earnings-preview .cursor/skills/earnings-preview && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "earnings-preview" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_research/skills/earnings-preview into .cursor/skills/earnings-preview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-preview", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ginlix-ai/LangAlpha.git --path plugins/langalpha_research/skills/earnings-preview--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ginlix-ai/LangAlpha --skill earnings-preview -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ginlix-ai/LangAlpha earnings-preview --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/langalpha_research/skills/earnings-preview .gemini/skills/earnings-preview && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "earnings-preview" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_research/skills/earnings-preview into .gemini/skills/earnings-preview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-preview", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ginlix-ai/LangAlpha earnings-previewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ginlix-ai/LangAlpha --skill earnings-preview -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/langalpha_research/skills/earnings-preview .github/skills/earnings-preview && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "earnings-preview" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_research/skills/earnings-preview into .github/skills/earnings-preview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-preview", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ginlix-ai/LangAlpha --skill earnings-preview -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ginlix-ai/LangAlpha earnings-preview --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/langalpha_research/skills/earnings-preview .opencode/skills/earnings-preview && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "earnings-preview" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_research/skills/earnings-preview into .opencode/skills/earnings-preview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "earnings-preview", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
earnings-previewPre-print setup for a company about to report: the expectation bar, EPS-quality watch, call questions, scenarios and the reaction framework.
Earnings Preview is an agent skill from ginlix-ai/LangAlpha. Pre-print setup for a company about to report: the expectation bar, EPS-quality watch, call questions, scenarios and the reaction framework. Triggers on earnings preview, what to watch for [company] earnings, pre-earnings setup, preview Q[N].
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Business, Finance & HR, covering Stock and market analysis. The repository describes itself as: Claude Code for Financial Market. The licence is Apache-2.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2855e43. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Earnings Preview loads about 3.7k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 2,153 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ginlix-ai/LangAlpha at commit 2855e43, republished under its Apache-2.0 licence (© ginlix-ai). 2,153 words, ~3,688 tokens.
.claude/skills/earnings-preview/SKILL.md (or your agent's skills folder).Everything in this note locates the stock against one object: the bar, the level of results the market is already positioned for. Consensus is one input to the bar, not the bar itself. The preview says where the bar sits, what could clear or miss it, what to listen for on the call, and what the reaction is likely to be if the print lands each way.
After the print, route to .agents/skills/earnings-analysis/SKILL.md.
Evidence labels, source tiers, staleness, the readiness posture and the intake limits: .agents/skills/research-conventions/SKILL.md, read before the first deliverable.
The full preview is the default. A short version is produced only when the user asks for one, and it is rebuilt at the lower depth rather than truncated (.agents/skills/research-conventions/references/depth.md): the freeze time, the source posture, the bar numbers, the top two debates, the must-watch call questions and the missing-evidence block all survive the rebuild.
Missing inputs never shorten the note. A section whose input is unavailable keeps its heading and carries a labelled gap saying what is missing and what would supply it. A short note reads as a thin setup; a full note with three labelled gaps reads as the truth.
Every number follows the shared market-data rules: .agents/skills/research-conventions/references/market-data-rules.md covers fiscal periods, per-company LTM, NTM as four quarterly estimates, one base date for comparative returns, shown arithmetic, rate against level changes, margin selection and date-stamping. Read it before the first pull.
Preview-specific, on top of those:
Pull the setup: get_company_overview for consensus, earnings history and price targets; get_daily_prices for the price history and the event window; get_sec_filing for the prior quarter, with its transcript attached, to recover the guidance in force; get_shares_float and get_short_data for the positioning picture; WebSearch and WebFetch for news since that filing.
Pin the period map once and reuse it everywhere, taking each fiscal label from the earnings event name get_company_overview returns: the preview quarter, the prior quarter, the year-ago quarter and the two-years-ago quarter. Every table, chart, scenario and options reference uses those same four labels. Ask the user only when the preview quarter is genuinely ambiguous, for example when the company reports two quarters inside one month.
Complete when the four period labels are written down, the freeze-time as-of is recorded, and the earnings date is confirmed from the company or get_earnings_calendar rather than inferred.
Five expectation sources, kept separate because they say different things. Collapsing them is how a preview ends up measuring the print against the wrong number.
| Source | What it is | Where it comes from |
|---|---|---|
| Company guide | the range management put in force, with its date and venue | prior release, prior transcript, any 8-K since |
| Published consensus | the mean estimate and the analyst count, with its vintage | yf_analysis MCP get_earnings_estimates and get_revenue_estimates, the 0q record's avg and numberofanalysts; the feed carries no observation date, so the vintage is the retrieval time, labelled as such |
| Whisper | the buy-side number, when it is genuinely sourced | see the whisper rules below |
| Our base | what we expect, built from the drivers | our own model or the driver work in this note |
| Last-reported baseline | the operating run-rate the company actually printed last quarter | prior release |
Close the table with one sentence stating where the bar sits and why: which of the five the stock is trading against, and how far the others sit from it.
Whisper rules. A whisper is never blended into consensus without showing the bridge. With strong support, carry it as a value with its provenance and a confidence label. With weak support, convert it to qualitative setup language rather than a number. With no external whisper at all, either derive an implied whisper from the guide midpoint plus this management's beat history and label it analyst-derived, or write "not provided" and leave the row empty.
Complete when all five rows are filled or carry an absence reason, and the bar sentence states the selected bar's value, source, vintage and basis, labelled judgement wherever the five rows leave competing bars in play.
Headline EPS is a bad proxy for recurring earnings more often than a preview assumes, and the items that break it are knowable in advance.
| Item | Why it distorts | Pre-print risk | What resolves it after the print | Model line it hits |
|---|
Screen at least these: the effective tax rate against the guided or trailing rate, the diluted share count (buyback timing, issuance, convertible dilution), below-the-line and mark-to-market items, FX translation and remeasurement, disposals, impairments, restructuring and litigation.
Then check the basis: does published consensus measure the same thing the company reports? Where it does not, say so, and say which figure the bar actually rests on. The real bar is often revenue, operating income, segment profit or free cash flow rather than EPS, and a preview that assumes EPS measures the wrong quarter.
Complete when each screened item carries a pre-print risk, and the note states whether consensus and company bases match.
A guide is a starting point, not an expectation. Convert it using this management's own record.
Complete when the implied bar is stated as a number or range with the beat history that produced it, and the sample limits are named.
Financial: revenue in total and by segment, EPS, gross and operating margin, free cash flow, and forward guidance against consensus. Rank them by which one moves the stock, not by which one leads the P&L.
Operational, by sector, as the default pack: software and internet (ARR, net revenue retention, remaining performance obligation, customer count), retail (comparable-store sales, traffic, basket, inventory), industrials (backlog, book-to-bill, price against volume), financials (net interest margin, credit quality, loan growth, fee income), healthcare (scripts, patient volumes, pipeline events), energy and materials (volumes, realised price, unit cost).
Selection rule. The issuer's own disclosure model beats the generic pack. Use the metrics this company guides on and gets asked about, and where an important sector metric is not disclosed, list it as a data request rather than dropping it silently.
Flag as material: a gap between guide, consensus and whisper wider than the sector norm; a metric breaking its trailing four-quarter slope; growth decelerating or margin compressing past a stated threshold in basis points. For a seasonally distorted metric or one with a distorted base year, show the two-year stacked growth rate beside the year-over-year rate.
Complete when the metric list is ranked, each entry carries the expectation it will be measured against, and undisclosed metrics appear as data requests.
| Name | Relationship | What they reported | Why it matters here | Read-through | Confidence |
|---|
Cover competitors, suppliers, customers and sector bellwethers that have printed since the subject's last report, plus the macro releases that bear on the quarter (get_economic_calendar, get_economic_indicator). A read-through with no named transmission channel is a coincidence, not a signal, so state the channel or drop the row.
Complete when every row names the channel and carries a confidence label, and the table says which read-throughs are already in consensus.
Three scenarios against the bar, not against last year:
| Scenario | Revenue | EPS | Key driver | Management tell | Falsifier | Likely reaction |
|---|---|---|---|---|---|---|
| Bull | ||||||
| Base | ||||||
| Bear |
Calibrate the reaction column on history rather than intuition:
| Quarter | Result against the bar | Next-day move | What drove the move | Continued or reversed |
|---|
Then state what is already priced, and the two asymmetries that matter: what would make a weak print buyable, and what would make a strong print fadeable.
Options tenor caveat. The implied move is a two-step pull on the options MCP server, in the same session the note is written. First discover the contracts with get_options_chain: expiration_date_gte and expiration_date_lte bracketing the print date, strike_price_gte and strike_price_lte straddling spot, contract_type run once as call and once as put. It returns contract tickers, strikes and expiries and no prices at all. Then price the at-the-money pair with get_options_snapshot, handing those tickers back as a comma-separated options_tickers string: the last_quote midpoint while the market is open, the session close once it has shut. The implied move is the straddle mid over spot, and the expiry is recorded beside it. An options-implied move is an earnings hurdle only when the expiry brackets the event tightly. When the nearest expiry sits well past the print, relabel the figure as expiry-tenor volatility context, keep it out of the headline tiles, and say what it does and does not measure.
Complete when each scenario names its driver and its falsifier, the reaction column is grounded in the historical table, and any implied move carries its expiry and tenor.
Three or four must-watch items, ranked, and nothing else at the top. A list of eight equally weighted questions is not a plan. Everything else goes into an overflow bank below them.
Each must-watch question carries four things:
Any material news since the last report that creates a contradiction or an open diligence item becomes a question here rather than a standalone news bullet. The overflow bank holds the sector add-ons and the second-tier items, and can run to eight or so.
Complete when the must-watch list is three or four items, each ranked with all four parts, and every open news item is either a question or explicitly closed.
Save deliverables to {task}/. A formatted document, when the user wants one, is built through .agents/skills/docx/SKILL.md. Sections, in order:
Salience first. When a growth rate, an acceleration, a surprise percentage or a guide delta is what moves the stock, that is the headline number and the absolute figure is the supporting detail. Trend charts pick the margin the business is actually run on (operating, adjusted operating, EBITDA, contribution or free cash flow) rather than defaulting to net margin, and the note says which one and why.
Missing evidence block. Close with the exact refreshes required before taking event risk: each missing input, the tool or document that supplies it, and the conclusion it currently blocks.
Position action. One verb from the closed vocabulary in .agents/skills/research-conventions/references/judgment.md, gated by the inputs actually in hand. Without a sourced implied move, positioning context and adequate consensus or whisper evidence, the note delivers a setup and a reaction framework rather than a trade-ready instruction, and says which input is missing.
© ginlix-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/langalpha_research/skills/earnings-preview of ginlix-ai/LangAlpha.
Open the folder on GitHubat commit 2855e43
Earnings Preview next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Earnings Preview this skillginlix-ai/LangAlpha | 1.8k | — | ~3.7k | Automated safety check: Pass | Apache-2.0 | |
| Stock APIzhangxiangliang/stock-api | 2k | — | ~507 | Automated safety check: Pass | MIT | |
| Tushare Datazillionare/zillionare | 322 | 2 repos | ~2.3k | Automated safety check: Pass | None | |
| Tradingview MCPatilaahmettaner/tradingview-mcp | 5k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Digital Oraclekomako-workshop/digital-oracle | 878 | — | ~5.9k | Automated safety check: Pass | MIT | |
| Longbridge Researchhelsome/folio | 271 | 3 repos | ~2.1k | Automated safety check: Pass | MIT |
zhangxiangliang/stock-api
Fetch real-time stock quotes, K-line (candlestick) history, and search symbols for China A-shares, Hong Kong, and US markets.
zillionare/zillionare
面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。
atilaahmettaner/tradingview-mcp
AI Trading Intelligence — live prices, 30+ technical indicators, backtesting (6 strategies), walk-forward overfitting detection, trade logs, equity curves, licensed news sentiment (Marketaux), and…
komako-workshop/digital-oracle
Answer prediction questions using market trading data, not opinions.
helsome/folio
Institution ratings, consensus price targets, EPS/revenue forecasts, finance calendar, shareholder data, fund holders, insider trades (SEC Form 4), short interest, industry rankings, peer group…
helsome/folio
Earnings analysis — pre- and post-earnings. An agent skill from helsome/folio.
ginlix-ai/LangAlpha
Quality-checks an investment deck in .pptx form before it goes out: number consistency, chart and narrative alignment, source coverage, language and a circulation verdict.
ginlix-ai/LangAlpha
Produces a first-time equity research initiation report in five tasks: company research, financial model, valuation, charts and a DOCX report.
ginlix-ai/LangAlpha
Builds or repairs an integrated income statement, balance sheet and cash flow model in Excel with live formulas, supporting schedules, scenarios and a Checks sheet.
ginlix-ai/LangAlpha
Audits an existing Excel financial model without editing it, checking structure, formulas, integrity identities and source tie-out, and ends in a prioritized issue log.
ginlix-ai/LangAlpha
Builds a live Excel DCF valuation workbook with free cash flow projections, WACC, terminal value, three scenarios, sensitivity grids and a reverse DCF.
ginlix-ai/LangAlpha
Builds Word files with python-docx, edits existing ones in place with tracked changes and comments, then renders and validates the result.
Categories
Pre-print setup for a company about to report: the expectation bar, EPS-quality watch, call questions, scenarios and the reaction framework. Earnings Preview is an agent skill from ginlix-ai/LangAlpha. Pre-print setup for a company about to report: the expectation bar, EPS-quality watch, call questions, scenarios and the reaction framework.
Earnings Preview fits situations like: earnings preview; what to watch for [company] earnings; pre-earnings setup.
Run `npx skills add ginlix-ai/LangAlpha --skill earnings-preview -a claude-code`. Or copy the skill folder (plugins/langalpha_research/skills/earnings-preview in ginlix-ai/LangAlpha) into .claude/skills/earnings-preview in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ginlix-ai/LangAlpha --skill earnings-preview -a codex`. Or copy the skill folder (plugins/langalpha_research/skills/earnings-preview in ginlix-ai/LangAlpha) into .agents/skills/earnings-preview in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ginlix-ai/LangAlpha --skill earnings-preview -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/earnings-preview, .gemini/skills/earnings-preview, .github/skills/earnings-preview and .opencode/skills/earnings-preview in your project.
SKILL.md names no scripts, command-line tools or credentials: Earnings Preview is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Earnings Preview is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Earnings Preview: Stock API (zhangxiangliang/stock-api, 2k stars), Tushare Data (zillionare/zillionare, 322 stars), Tradingview MCP (atilaahmettaner/tradingview-mcp, 5k stars) and Digital Oracle (komako-workshop/digital-oracle, 878 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ginlix-ai (a GitHub organization) maintains it in ginlix-ai/LangAlpha, which has 1,811 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 10, 2026.
Source: ginlix-ai/LangAlpha on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.