etf-component

etf-component is a skill for Claude Code, Codex from FTShare-Lab/FTShare-skill. It costs 40 tokens per session (620 once invoked), scanned A, original, MIT.

The constituent-stock list for one ETF, meaning the shares held as part of that fund. The result includes each stock’s market code and name.

In plain words
What is it for?
Use it to inspect the holdings of an ETF such as a CSI 300 ETF and identify the companies included in it.
Why use it?
It lets you see an ETF’s holdings directly instead of searching for them one by one. The stock codes and names are returned as matching lists.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/ftshare-lab/ftshare-skill/etf-component
Any agent
npx skills add FTShare-Lab/FTShare-skill --skill etf-component
Clone the repo
git clone --depth 1 https://github.com/FTShare-Lab/FTShare-skill

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for etf-component

README.md
[![agentmods](https://agentmods.dev/badge/skills/ftshare-lab/ftshare-skill/etf-component.svg)](https://agentmods.dev/skills/ftshare-lab/ftshare-skill/etf-component)
Your own site
<a href="https://agentmods.dev/skills/ftshare-lab/ftshare-skill/etf-component"><img src="https://agentmods.dev/badge/skills/ftshare-lab/ftshare-skill/etf-component.svg" alt="Measured on agentmods" height="20"></a>
Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 620 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00040 $0.00620
Opus 5 $0.00020 $0.00310
Sonnet 5 $0.00008 $0.00124
Haiku 4.5 $0.00004 $0.00062

Measured 4d ago against content hash 0bec312614a8, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

etf-component scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/handler.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

ftshare-market-data/sub-skills/etf-component/SKILL.md · 64 lines

What it actually says

查询单只 ETF 成份

1. 接口描述

项目 说明
接口名称 查询单只 ETF 成份
外部接口 GET /api/v1/market/data/etf-component
请求方式 GET
适用场景 根据标的代码查询单只 ETF 的成份股列表(成份股代码与名称);未找到或报错时接口返回相应错误信息

2. 请求参数

参数名 类型 是否必填 描述 取值示例 备注
symbol string ETF 标的代码,带交易所后缀 510300.XSHG、159915.XSHE 支持 510300.XSHG、510300.SH 等格式

3. 响应说明

返回单条 ETF 成份结构,与全量接口 etf-components-all 中单条结构一致。

{
  "symbol": "510300.SH",
  "components": ["600000.SH", "601318.SH", "600519.SH"],
  "components_name": ["浦发银行", "中国平安", "贵州茅台"]
}

根字段说明

字段名 类型 是否可为空 说明
symbol string ETF 标的代码,带市场后缀
components array 成份股代码列表,与 components_name 一一对应
components_name array 成份股名称列表,与 components 一一对应

4. 用法

通过主目录 run.py 调用(必填 --symbol):

python <RUN_PY> etf-component --symbol 510300.XSHG
python <RUN_PY> etf-component --symbol 159915.XSHE

<RUN_PY> 为主 SKILL.md 同级的 run.py 绝对路径。脚本输出 JSON;接口报错或未找到时,将接口返回的错误信息原样输出到 stderr 并退出码 1。

5. 请求示例

GET /api/v1/market/data/etf-component?symbol=510300.XSHG

6. 数据更新时间与注意事项

  • 数据更新时间以接口/数据源为准。
  • 成份列表与名称以接口返回为准;展示时 componentscomponents_name 按索引一一对应。
Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 64 lines · 40 tokens per session scan A 0bec312614a8

Subscribe to this mod's changes

etf-component is a skill published in the GitHub repository FTShare-Lab/FTShare-skill (63 stars, last pushed today), licensed MIT. It adds 40 tokens to every session and 620 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

defeatbeta-earnings-analysis

Create professional equity research earnings update reports (8-12 pages, 3,000-5,000 words) analyzing quarterly results for companies already under coverage. Fast-turnaround format focusing on beat/miss analysis, key metrics, updated estimates, and revised thesis. Includes 1-3 summary tables and 8-12 charts. Use when…

defeat-beta/defeatbeta-api · 112 tokens

sprr

Single PR reviewer for awesome-quant. Use when the user asks to review, validate, comment on, label, close, or merge one specific pull request that adds README.md entries. Triggers include "sprr", "review PR", "check PR", and "validate contribution".

wilsonfreitas/awesome-quant · 60 tokens

bprr

Bulk PR reviewer for awesome-quant. Use when the user asks to review all open PRs, review unreviewed PRs, bulk review, or mentions "bprr". Reviews open PRs lacking the reviewed label and presents a summary before any merge/comment/label action.

wilsonfreitas/awesome-quant · 61 tokens

update-pypi-dates

Refresh tracked PyPI last-updated dates in awesome-quant README.md. Use when the user asks to update PyPI dates, refresh PyPI metadata, or run update-pypi-dates.

wilsonfreitas/awesome-quant · 47 tokens

defeatbeta-earnings-preview

Build pre-earnings analysis with normalized baselines, weighted decision models, company-specific veto gates, scenario frameworks, catalysts, historical reactions, and options-implied moves. Use before a company reports quarterly earnings to prepare positioning notes or bilingual three-page PDF reports.

defeat-beta/defeatbeta-api · 60 tokens

defeatbeta-earnings-key-data

Run one of three traceable earnings-call transcript templates through the DefeatBeta MCP tools: (1) extract current-quarter results plus next-quarter and full-year guidance, (2) extract factual QoQ or YoY financial-metric change sentences, or (3) extract numerical forward-looking forecast sentences with…

defeat-beta/defeatbeta-api · 138 tokens