问财选ETF
同花顺智能选ETF skill。根据行情、跟踪指数基本面、规模、风格类型等条件筛选ETF。返回符合条件的相关ETF数据。当用户询问ETF筛选问题时,必须使用此技能。
Best use case
问财选ETF is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
同花顺智能选ETF skill。根据行情、跟踪指数基本面、规模、风格类型等条件筛选ETF。返回符合条件的相关ETF数据。当用户询问ETF筛选问题时,必须使用此技能。
Teams using 问财选ETF should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/iwencai-skill-etf/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How 问财选ETF Compares
| Feature / Agent | 问财选ETF | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
同花顺智能选ETF skill。根据行情、跟踪指数基本面、规模、风格类型等条件筛选ETF。返回符合条件的相关ETF数据。当用户询问ETF筛选问题时,必须使用此技能。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
AI Agents for Startups
Explore AI agent skills for startup validation, product research, growth experiments, documentation, and fast execution with small teams.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
SKILL.md Source
# 问财选ETF 使用指南
## 技能概述
本技能提供ETF智能筛选能力,通过自然语言查询支持:
- 行情指标筛选(价格、涨跌幅、成交量、换手率等)
- 跟踪指数筛选(沪深300、中证500、上证50、创业板指等)
- 基本面筛选(估值、费率、跟踪误差等)
- 规模筛选(资产规模、份额变化等)
- 风格类型筛选(成长、价值、平衡等)
- 多条件组合筛选
## 核心处理流程
### 步骤 1: 接收用户 Query
接收用户的自然语言ETF筛选请求,分析用户意图。
### 步骤 2: Query 改写
将用户问句适当改写为标准的金融查询问句,保持原意不变:
**改写规则:**
- 保留用户核心意图(如:沪深300ETF、规模大于10亿等)
- 将口语化表达转为标准金融术语(如"给我选一个ETF" → "ETF有哪些")
- 适当简化过于复杂的复合条件
- 改写后需保持原意不变
**思维链拆解(如果需要):**
根据用户需求自行决定是否拆解思维链:
- **单次查询**:如果用户问题可以直接用单个 query 回答,直接进入下一步
- **多次查询**:如果用户问题涉及多个独立的问句,需要拆分为多个标准 query 分别调用接口。
### 步骤 3: API 调用
调用金融查询接口获取数据,支持分页参数:
```python
# 使用 Python 标准库
import urllib.request
import json
import os
url = "https://openapi.iwencai.com/v1/query2data"
headers = {
"Authorization": f"Bearer {os.environ['IWENCAI_API_KEY']}",
"Content-Type": "application/json"
}
payload = {
"query": "改写后的查询语句",
"source": "test",
"page": "1",
"limit": "10",
"is_cache": "1",
"expand_index": "true"
}
data = json.dumps(payload).encode("utf-8")
request = urllib.request.Request(url, data=data, headers=headers, method="POST")
response = urllib.request.urlopen(request, timeout=30)
result = json.loads(response.read().decode("utf-8"))
datas = result.get("datas", [])
```
### 步骤 4: 空数据处理
如果 `datas` 为空或无数据,适当放宽或简化查询条件后重新请求(**最多尝试2次**):
- **首次重试**:去掉过于苛刻的条件,保留核心筛选条件
- **二次重试**:进一步放宽条件或使用更通用的表述
每次重试都算作一次改写,最终返回时需说明最终使用的查询问句。
### 步骤 5: 数据解析
解析返回的 `datas` 数组,提取相关指标:
```python
for item in datas:
# 根据查询类型提取相应字段
```
### 步骤 6: 数据扩展决策
skill 需要自行决策当前数据是否足够回答用户问题:
- 如果数据完整:直接返回格式化后的结果
- 如果需要更多背景信息:可以调用其他金融工具或者搜索工具获取相关资讯
### 步骤 7: 回答用户
组织语言回答用户问题,确保:
- 结果清晰易懂
- 如果改写了问句,需特别说明最终使用的查询问句
- **必须强调数据来源于同花顺问财**
### 接口地址
- `IWENCAI_API_URL`
### 认证方式
- 请求头:`Authorization: Bearer {IWENCAI_API_KEY}`
- 环境变量:`IWENCAI_API_KEY`
### 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| query | STRING | 是 | 用户问句 |
| source | STRING | 否 | 来源,默认值:test |
| page | STRING | 否 | 分页参数,默认值:1 |
| limit | STRING | 否 | 分页参数,默认值:10 |
| is_cache | STRING | 否 | 缓存参数,默认值:1 |
| expand_index | STRING | 否 | 是否展开指数,默认值:true |
### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| datas | ARRAY | 金融数据列表,对象数组 |
**响应示例:**
```json
{
"datas": [
{"ETF代码": "510300.SH", "ETF简称": "华泰柏瑞沪深300ETF", "涨跌幅": 1.25},
{"ETF代码": "159919.SZ", "ETF简称": "嘉实沪深300ETF", "涨跌幅": 1.18}
]
}
```
## CLI 使用方式
### 命令行参数
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `--query` | STRING | 是 | 直接传入查询字符串 |
| `--page` | STRING | 否 | 分页参数,默认值:1 |
| `--limit` | STRING | 否 | 每页条数,默认值:10 |
| `--is-cache` | STRING | 否 | 缓存参数,默认值:1 |
| `--api-key` | STRING | 否 | API密钥(默认从环境变量读取)|
### 使用示例
```bash
# 直接查询(默认分页10条)
python scripts/cli.py --query "沪深300ETF有哪些?"
# 指定分页参数
python scripts/cli.py --query "规模最大的ETF" --page "1" --limit "20"
# 指定API密钥
python scripts/cli.py --query "创业板ETF" --api-key "your-key"
```
## 数据来源标注
**重要提示**:
- 引用同花顺数据时,必须强调**数据来源于同花顺问财**
- 如果没有查询到数据,提示用户可以到**同花顺问财 web端**查询:https://www.iwencai.com/unifiedwap/chat
## 错误处理
- API调用失败:给出友好错误提示
- 无数据返回:引导用户访问同花顺问财(https://www.iwencai.com/unifiedwap/chat)
- 最多重试2次逐步放宽条件
## 代码结构
```
hithink-etf-selector/
├── SKILL.md # Skill 配置文件
├── references/
│ ├── api.md # API 接口文档
│ └── requirement.md # 构建要求文档
└── scripts/
└── cli.py # CLI 入口(单一脚本,内含API调用和数据处理)
```Related Skills
---
name: article-factory-wechat
humanizer
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
tavily-search
Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.
baidu-search
Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.
agent-autonomy-kit
Stop waiting for prompts. Keep working.
Meeting Prep
Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.
self-improvement
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.
botlearn-healthcheck
botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.
linkedin-cli
A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.
notebooklm
Google NotebookLM 非官方 Python API 的 OpenClaw Skill。支持内容生成(播客、视频、幻灯片、测验、思维导图等)、文档管理和研究自动化。当用户需要使用 NotebookLM 生成音频概述、视频、学习材料或管理知识库时触发。
小红书长图文发布 Skill
## 概述