Agent skill

Tushare Plugin Builder

by Yourdaylight in Yourdaylight/stock_datasource

Turns a Tushare API doc URL into a full data plugin for the stock_datasource repo: extractor, ClickHouse schema, query service, config and curl examples.

MITAuto-check passedData & Analytics

SKILL.md written in Chinese; this summary is our English description.

Install Tushare Plugin Builder

skills CLI
$ npx skills add Yourdaylight/stock_datasource --skill tushare-plugin-builder -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Yourdaylight/stock_datasource tushare-plugin-builder --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Yourdaylight/stock_datasource.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/tushare-plugin-builder .claude/skills/tushare-plugin-builder && rm -rf skills-src

Use ~/.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/

Facts

Skill name
tushare-plugin-builder
GitHub stars
188
Token cost
~2.5k tokens
SKILL.md length
457 words
Files
8 (incl. scripts, references)
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Turns a Tushare API doc URL into a full data plugin for the stock_datasource repo: extractor, ClickHouse schema, query service, config and curl examples.

  • Works in 12 steps: 收集必要输入 → 从文档提取 API 规格 → 规划插件结构(参考… → …
  • Generating a new data plugin from a Tushare API documentation page
  • SKILL.md covers 目的, 何时使用, 工作流程 and 验证脚本说明, plus 2 more sections
  • Runs Python scripts from its folder; calls python

What it does

The skill is written in Chinese. Given a Tushare documentation URL (or a screenshot or pasted text if the page is unreachable) and a snake_case plugin name consistent with the existing `tushare_*` plugins, it extracts the interface name, input parameters, output fields and usage limits such as rate limits and paging, and notes field naming differences like `pct_change` versus `pct_chg`. It then lays out the plugin directory with `plugin.py`, `extractor.py`, `service.py`, `schema.json`, `config.json` and a doc file.

The extractor uses the tushare SDK inside `proxy_context()` with rate limiting, timeouts and tenacity retries, and the plugin implements extract, validate, transform and load steps with `version` and `_ingested_at` columns added. Each plugin declares a category (CN_STOCK, HK_STOCK, INDEX, ETF_FUND or SYSTEM), a role and its dependencies in code. The service needs a date-range query and a latest-data query, both parameterized, and the schema uses ReplacingMergeTree partitioned by month. Scripts generate table SQL, validate the plugin and check the ClickHouse, MCP and HTTP endpoints.

When your agent uses it

  • Generating a new data plugin from a Tushare API documentation page
  • Adding the ClickHouse table, query service and Agent or MCP access for a Tushare interface
  • Checking whether an existing plugin follows the repository's conventions

Example prompts

  • “Build a plugin for the Tushare daily_basic interface from this documentation URL.”
  • “Validate the tushare_stock_basic plugin against our plugin conventions.”
  • “Generate the CREATE TABLE SQL and curl examples for the new index weight plugin.”

Requirements

  • The stock_datasource repository
  • A ClickHouse database
  • Python 3 with the tushare SDK

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. 收集必要输入
  2. 从文档提取 API 规格
  3. 规划插件结构(参考 references/plugin_conventions.md)
  4. 实现 extractor
  5. 实现 plugin
  6. 实现 service 查询
  7. 定义 schema/config
  8. 创建 ClickHouse 表
  9. 验证数据库连接
  10. 运行数据拉取测试
  11. 验证 ClickHouse 数据
  12. 测试 HTTP 服务端点

What it can do on your machine

Read from SKILL.md and the folder at commit 3d4dbd2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 6 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Tushare Plugin Builder loads about 2.5k tokens when it runs, and up to ~2.8k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 457 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.8k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from Yourdaylight/stock_datasource at commit 3d4dbd2, republished under its MIT licence (© Yourdaylight). 457 words, ~2,468 tokens.

Download SKILL.mdSave it as .claude/skills/tushare-plugin-builder/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
tushare-plugin-builder
description
This skill should be used when the user provides a Tushare API document URL and asks to generate a full plugin in this codebase, including extractor, schema, config, query service, and agent/MCP/http usage with testable curl examples.

目的

将 Tushare 文档 URL 转换为本仓库的生产级插件,包含数据抽取、ClickHouse 表结构、查询服务,以及可测试的 curl 示例。

何时使用

  • 用户提供 Tushare 文档 URL 或页面内容,要求生成插件。
  • 用户需要基于某个 Tushare 接口生成插件 + 入库 + service + Agent/MCP 调用。
  • 验证已有插件:用户要求检查某个插件是否符合规范。

工作流程

1) 收集必要输入
  • 确保用户提供了 Tushare 文档 URL。若无法访问,请求截图或复制的文档内容。
  • 若未指定插件名,询问用户。使用 snake_case 命名,与现有 tushare_* 插件保持一致。
2) 从文档提取 API 规格
  • 解析接口名称、输入参数、输出字段、使用说明(频率限制、分页、数据量限制)。
  • 记录字段命名差异(如 pct_change vs pct_chg)及所需转换。
3) 规划插件结构(参考 references/plugin_conventions.md)
  • 目录:src/stock_datasource/plugins/<plugin_name>/
  • 文件:__init__.py、plugin.py、extractor.py、service.py、schema.json、config.json、<plugin_name>.md
  • 以现有 tushare_* 插件为模板。
4) 实现 extractor
  • 使用 tushare SDK,API 调用需用 proxy_context() 包裹。
  • 实现频率限制、超时、重试(tenacity)。
  • 根据 API 特性支持 trade_date 或 start_date/end_date。
5) 实现 plugin
  • 实现 extract_data、validate_data、transform_data、load_data。
  • 插入前添加 version 和 _ingested_at 列。
  • 转换数值类型,trade_date 转为 Date。
插件分类与角色

必须实现以下方法指定插件的分类和角色:

python
from stock_datasource.core.base_plugin import PluginCategory, PluginRole

def get_category(self) -> PluginCategory:
    """插件分类 - 按市场划分"""
    return PluginCategory.CN_STOCK  # 或 HK_STOCK, INDEX, ETF_FUND, SYSTEM

def get_role(self) -> PluginRole:
    """插件角色"""
    return PluginRole.PRIMARY  # 或 BASIC, DERIVED, AUXILIARY

分类说明:

  • CN_STOCK: A股相关数据
  • HK_STOCK: 港股相关数据
  • INDEX: 指数相关数据
  • ETF_FUND: ETF/基金相关数据
  • SYSTEM: 系统数据(如交易日历)

角色说明:

  • PRIMARY: 主数据(如 daily 行情)
  • BASIC: 基础数据(如 stock_basic)
  • DERIVED: 衍生数据(如复权因子)
  • AUXILIARY: 辅助数据(如指数权重)
依赖配置

在 plugin.py 中实现依赖方法(不是在 config.json 中配置):

python
def get_dependencies(self) -> List[str]:
    """必须依赖 - 这些插件的数据必须存在才能运行当前插件。
    
    例如:tushare_daily 依赖 tushare_stock_basic 提供股票代码列表。
    """
    return ["tushare_stock_basic"]

def get_optional_dependencies(self) -> List[str]:
    """可选依赖 - 同步主插件时默认会同步这些依赖,用户可选择禁用。
    
    例如:tushare_daily 可选同步 tushare_adj_factor 复权因子。
    """
    return ["tushare_adj_factor"]

依赖规则:

  • 必须依赖:在运行当前插件前,会检查依赖插件表中是否有数据
  • 可选依赖:前端展示时会显示可勾选的关联插件,默认勾选
6) 实现 service 查询
  • 至少提供一个日期范围查询和一个最新数据查询。
  • 必须使用参数化查询(禁止字符串拼接)。
  • 返回 JSON 可序列化结构。
7) 定义 schema/config
  • schema.json:使用 ReplacingMergeTree,partition_by 为 toYYYYMM(trade_date),order_by 为主键。
  • config.json:包含完整的插件配置。
config.json 完整结构
json
{
  "enabled": true,
  "rate_limit": 120,
  "timeout": 30,
  "retry_attempts": 3,
  "description": "插件描述",
  "schedule": {
    "frequency": "daily",
    "time": "18:00",
    "day_of_week": "monday"
  },
  "parameters": {
    "max_empty_days": 5,
    "validate_prices": true
  },
  "parameters_schema": {
    "trade_date": {
      "type": "string",
      "format": "date",
      "required": true,
      "description": "Trade date in YYYYMMDD format"
    }
  }
}

字段说明:

字段必需说明
enabled是是否启用插件
rate_limit是API 调用频率限制(次/分钟)
timeout是请求超时时间(秒)
retry_attempts是重试次数
description是插件描述
schedule否调度配置
schedule.frequency否调度频率:daily 或 weekly,默认 daily
schedule.time否执行时间,格式 HH:MM,默认 18:00
schedule.day_of_week否仅 weekly 时有效,如 monday
parameters否插件特定参数
parameters_schema是参数 schema,用于验证和前端展示

注意:依赖配置(dependencies、optional_dependencies)不在 config.json 中定义,而是通过 plugin.py 中的 get_dependencies() 和 get_optional_dependencies() 方法实现。

8) 创建 ClickHouse 表
  • 根据 schema.json 生成 CREATE TABLE SQL。
  • 使用脚本:
    bash
    # 仅生成 SQL
    python .codebuddy/skills/tushare-plugin-builder/scripts/generate_create_table_sql.py \
      src/stock_datasource/plugins/<plugin_name>/schema.json
    
    # 生成并执行
    python .codebuddy/skills/tushare-plugin-builder/scripts/generate_create_table_sql.py \
      src/stock_datasource/plugins/<plugin_name>/schema.json --execute
9) 验证数据库连接
  • 执行前先验证 ClickHouse 连接是否正常:
    bash
    # 测试连接
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_clickhouse_connection.py
    
    # 列出所有表
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_clickhouse_connection.py --list
    
    # 验证指定表是否存在
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_clickhouse_connection.py --table <table_name>
10) 运行数据拉取测试
  • 执行插件拉取并存储样本数据(如某一交易日)。
  • 代理配置:运行前确保 runtime_config.json 中代理设置正确。
  • 使用脚本:
    bash
    # 运行插件并验证
    python .codebuddy/skills/tushare-plugin-builder/scripts/run_plugin_test.py \
      <plugin_name> --date 20250110 --verify
  • 或使用模块方式:
    bash
    python -m stock_datasource.plugins.<plugin_name>.plugin --date 20250110
11) 验证 ClickHouse 数据
  • 查询 ClickHouse 确认数据已存储:
    bash
    # 使用脚本验证
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_clickhouse_connection.py \
      --table <table_name> --date 20250110
  • 或手动查询:
    sql
    SELECT count(*), min(trade_date), max(trade_date)
    FROM <table_name>
    WHERE trade_date = '2025-01-10';
12) 测试 HTTP 服务端点
  • 若未运行,启动 HTTP 服务:python -m stock_datasource.services.http_server
  • 使用脚本:
    bash
    # 列出所有 API 路由
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_service_http.py --list
    
    # 测试指定服务方法
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_service_http.py \
      --service <service_name> \
      --method get_by_date_range \
      --params '{"ts_code":"XXX","start_date":"20250101","end_date":"20250110"}'
    
    # 仅生成 curl 命令
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_service_http.py \
      --service <service_name> --method get_latest --params '{}' --curl
13) 测试 MCP 工具可用性
  • 若未运行,启动 MCP 服务:python -m stock_datasource.services.mcp_server
  • 使用脚本:
    bash
    # 列出所有 MCP 工具
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_mcp_tool.py --list
    
    # 搜索相关工具
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_mcp_tool.py --pattern <service_name>
    
    # 验证指定工具
    python .codebuddy/skills/tushare-plugin-builder/scripts/verify_mcp_tool.py --tool <tool_name>
Show full SKILL.md (214 more words)Show less
14) 测试 Agent 集成
  • 向 Orchestrator 发送自然语言查询,应调用新插件的 service。
  • 示例提问:"查询 XXX 指数最近一周的行情数据"
  • 验证:
    • Agent 正确识别意图并选择工具。
    • 工具调用从 ClickHouse 返回数据。
    • 响应格式化后返回给用户。
15) 验证集成点
  • Service 自动发现,无需额外手动注册。
  • MCP/HTTP 端点按生成的路由工作。

验证脚本说明

本 skill 提供以下验证脚本(位于 scripts/ 目录):

脚本用途
validate_plugin.py综合验证插件是否符合规范
verify_clickhouse_connection.py测试数据库连接、列出表、验证数据
generate_create_table_sql.py根据 schema.json 生成建表 SQL
run_plugin_test.py运行插件 ETL 并验证入库
verify_service_http.py测试 HTTP 服务端点
verify_mcp_tool.py验证 MCP 工具注册状态

插件验证流程

当用户要求验证已有插件(无论是自己编写还是生成的),执行以下步骤:

1) 运行综合验证脚本
bash
# 验证单个插件
python .codebuddy/skills/tushare-plugin-builder/scripts/validate_plugin.py <plugin_name>

# 显示所有检查详情
python .codebuddy/skills/tushare-plugin-builder/scripts/validate_plugin.py <plugin_name> --verbose

# 列出所有可用插件
python .codebuddy/skills/tushare-plugin-builder/scripts/validate_plugin.py --list

# 验证所有插件
python .codebuddy/skills/tushare-plugin-builder/scripts/validate_plugin.py --all
2) 验证检查项

validate_plugin.py 会自动检查以下内容:

文件结构检查:

  • __init__.py 存在且导出 Plugin/Service 类
  • plugin.py 存在且继承 BasePlugin
  • extractor.py 存在且使用 proxy_context
  • service.py 存在且继承 BaseService
  • schema.json 存在且包含必需字段
  • config.json 存在且包含必需配置

代码规范检查:

  • plugin.py 实现了 extract/validate/transform/load 方法
  • plugin.py 添加了 version 和 _ingested_at 系统列
  • plugin.py 实现了 get_category() 返回正确的 PluginCategory
  • plugin.py 实现了 get_role() 返回正确的 PluginRole
  • plugin.py 实现了 get_dependencies()(返回空列表或依赖插件名)
  • plugin.py 实现了 get_optional_dependencies()(如有可选依赖)
  • extractor.py 使用了重试逻辑(tenacity)
  • service.py 使用参数化 SQL(无 SQL 注入风险)
  • service.py 包含查询方法(get_*/query_*/fetch_*)

Schema 规范检查:

  • 包含 table_name、columns、engine、order_by
  • 使用 ReplacingMergeTree 引擎
  • 包含 version 和 _ingested_at 系统列
  • 设置了分区策略(partition_by)

运行时检查:

  • 模块可正常导入
  • 数据库表已创建
  • 表中有数据(如已运行过 ETL)
3) 处理验证结果

根据验证结果采取行动:

✅ 通过:插件符合规范,可进行下一步测试。

⚠️ 警告:插件可运行但存在潜在问题,建议修复:

  • 缺少重试逻辑 → 添加 tenacity 装饰器
  • 未检测到参数化查询 → 检查 SQL 是否使用 %(param)s
  • 表为空 → 运行数据拉取测试

❌ 失败:插件存在严重问题,必须修复:

  • SQL 注入风险 → 改用参数化查询
  • 缺少必需文件 → 补充缺失文件
  • 未使用 proxy_context → API 调用将失败
  • 缺少系统列 → 在 schema.json 和 plugin.py 中添加
4) 端到端验证

通过基础检查后,执行完整测试流程:

bash
# 1. 验证数据库连接
python .codebuddy/skills/tushare-plugin-builder/scripts/verify_clickhouse_connection.py

# 2. 建表(如果表不存在)
python .codebuddy/skills/tushare-plugin-builder/scripts/generate_create_table_sql.py \
  src/stock_datasource/plugins/<plugin_name>/schema.json --execute

# 3. 运行 ETL 并验证入库
python .codebuddy/skills/tushare-plugin-builder/scripts/run_plugin_test.py \
  <plugin_name> --date 20250110 --verify

# 4. 测试 HTTP 服务
python .codebuddy/skills/tushare-plugin-builder/scripts/verify_service_http.py \
  --service <service_name> --method get_latest --params '{}'

# 5. 测试 MCP 工具
python .codebuddy/skills/tushare-plugin-builder/scripts/verify_mcp_tool.py \
  --pattern <service_name>

输出检查清单

  • 插件目录已创建,包含所有必需文件。
  • Extractor 使用 proxy_context() 和 tushare SDK。
  • Plugin 实现了 get_category() 和 get_role() 方法。
  • Plugin 实现了 get_dependencies() 和 get_optional_dependencies() 方法。
  • Service 使用参数化 SQL。
  • Schema 匹配 Tushare 输出字段。
  • Config 包含频率限制、schedule 和参数 schema。
  • ClickHouse 表已创建,数据已入库。
  • 通过 SQL 查询验证 ClickHouse 中有数据。
  • HTTP 服务端点已通过 curl 测试。
  • MCP 工具已注册且可调用。
  • Agent 可通过自然语言查询调用该服务。

© Yourdaylight, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references) in skills/tushare-plugin-builder of Yourdaylight/stock_datasource.

  • SKILL.md
  • references/plugin_conventions.md
  • scripts/generate_create_table_sql.py
  • scripts/run_plugin_test.py
  • scripts/validate_plugin.py
  • scripts/verify_clickhouse_connection.py
  • scripts/verify_mcp_tool.py
  • scripts/verify_service_http.py

Open the folder on GitHubat commit 3d4dbd2

Compare with similar skills

Tushare Plugin Builder 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.

Tushare Plugin Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tushare Plugin Builder this skillYourdaylight/stock_datasource188—~2.5kAutomated safety check: PassMIT
Modelersidequery/sidemantic129—~4.2kAutomated safety check: PassApache-2.0
Erd Studio Setupliam-machine/erd-studio165—~8.5kAutomated safety check: PassCustom licence
Openbb Data Fetchermonarchjuno/vibe-investing299—~2.9kAutomated safety check: NotesMIT
Tiger Brokers OpenAPI SDKqusong0627/QuantMind1.7k—~1.4kAutomated safety check: PassApache-2.0
Upgrading Mwaa Environmentsaws/agent-toolkit-for-aws2.8k—~7.3kAutomated safety check: PassApache-2.0

Similar skills

  • Modeler

    sidequery/sidemantic

    Build, validate, and manage semantic models using Sidemantic.

    129 GitHub stars~4.2k tokensUpdated today
    DatabasesAuto-check passed
  • Erd Studio Setup

    liam-machine/erd-studio

    Friendly, step-by-step setup for ERD Studio in an existing dbt project, for people who may be new to dbt or data modelling.

    165 GitHub stars~8.5k tokensUpdated 3 days ago
    Data & AnalyticsAuto-check passed
  • Openbb Data Fetcher

    monarchjuno/vibe-investing

    Fetch financial, market, economic, fundamental, news, options, crypto, ETF, index, and macro data through the OpenBB Python interface instead of the OpenBB MCP server.

    299 GitHub stars~2.9k tokensUpdated 5 mo ago
    Data & AnalyticsAuto-check: notes
  • Tiger Brokers OpenAPI SDK

    qusong0627/QuantMind

    Covers the Tiger Brokers OpenAPI Python SDK for market data, stock, futures and options trading, push subscriptions, a CLI and an MCP server, defaulting to paper trading.

    1.7k GitHub stars~1.4k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Upgrading Mwaa Environments

    aws/agent-toolkit-for-aws

    Official

    Upgrades an MWAA environment to a newer Airflow version — within 2.x, within 3.x, or across the 2.x-to-3.x boundary.

    2.8k GitHub stars~7.3k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Authoring Mwaa Workflow

    aws/agent-toolkit-for-aws

    Official

    Authors and deploys MWAA workflow artifacts: Python Airflow DAGs for provisioned environments or YAML workflow files for Serverless.

    2.8k GitHub stars~2.8k tokensUpdated today
    Data & AnalyticsAuto-check passed

More from Yourdaylight/stock_datasource

  • Real-Time Stock Quote Subscriber

    Yourdaylight/stock_datasource

    Streams live A-share, Hong Kong and ETF quotes from a receiver node over a local WebSocket server, with built-in price and volume alert rules.

    188 GitHub stars~559 tokensUpdated 29 days ago
    Auto-check passed
  • MCP API Key Authentication

    Yourdaylight/stock_datasource

    Sets up and troubleshoots MCP API key authentication for a stock data service, covering key creation, client configuration and per-tool usage statistics.

    188 GitHub stars~1.2k tokensUpdated 29 days ago
    Auto-check passed
  • Stock Market Data MCP Query

    Yourdaylight/stock_datasource

    Queries historical A-share, Hong Kong stock, ETF and index data through an MCP server: daily K-lines, financial statements, market indicators and screening.

    188 GitHub stars~1.1k tokensUpdated 29 days ago
    Auto-check passed
  • Stock Data Assistant

    Yourdaylight/stock_datasource

    Queries A-share, Hong Kong, ETF and index market data over MCP, streams live quotes by WebSocket, and lets you drive both from WeChat through picoclaw.

    188 GitHub stars~1.2k tokensUpdated 29 days ago
    Auto-check: notes

Questions about Tushare Plugin Builder

What does Tushare Plugin Builder do?

Turns a Tushare API doc URL into a full data plugin for the stock_datasource repo: extractor, ClickHouse schema, query service, config and curl examples. The skill is written in Chinese. Given a Tushare documentation URL (or a screenshot or pasted text if the page is unreachable) and a snake_case plugin name consistent with the existing `tushare_*` plugins, it extracts the interface name, input parameters, output fields and usage limits such as rate limits and paging, and notes field naming differences like `pct_change` versus `pct_chg`.

When should I use Tushare Plugin Builder?

Tushare Plugin Builder fits situations like: generating a new data plugin from a Tushare API documentation page; adding the ClickHouse table, query service and Agent or MCP access for a Tushare interface; checking whether an existing plugin follows the repository's conventions.

How do I install Tushare Plugin Builder in Claude Code?

Run `npx skills add Yourdaylight/stock_datasource --skill tushare-plugin-builder -a claude-code`. Or copy the skill folder (skills/tushare-plugin-builder in Yourdaylight/stock_datasource) into .claude/skills/tushare-plugin-builder in your project. Claude Code loads it when a task matches its description.

How do I install Tushare Plugin Builder in Codex?

Run `npx skills add Yourdaylight/stock_datasource --skill tushare-plugin-builder -a codex`. Or copy the skill folder (skills/tushare-plugin-builder in Yourdaylight/stock_datasource) into .agents/skills/tushare-plugin-builder in your project. Codex loads it when a task matches its description.

Can I use Tushare Plugin Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Yourdaylight/stock_datasource --skill tushare-plugin-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tushare-plugin-builder, .gemini/skills/tushare-plugin-builder, .github/skills/tushare-plugin-builder and .opencode/skills/tushare-plugin-builder in your project.

What does Tushare Plugin Builder need to run?

Going by SKILL.md and its folder, Tushare Plugin Builder needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: The stock_datasource repository; A ClickHouse database; Python 3 with the tushare SDK.

Does Tushare Plugin Builder access the network?

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.

Is Tushare Plugin Builder safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Tushare Plugin Builder use?

Tushare Plugin Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tushare Plugin Builder use?

About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 336 tokens, read only when the agent opens those files.

What are the alternatives to Tushare Plugin Builder?

Skills that share tags, products or a category with Tushare Plugin Builder: Modeler (sidequery/sidemantic, 129 stars), Erd Studio Setup (liam-machine/erd-studio, 165 stars), Openbb Data Fetcher (monarchjuno/vibe-investing, 299 stars) and Tiger Brokers OpenAPI SDK (qusong0627/QuantMind, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tushare Plugin Builder?

Yourdaylight (a GitHub user) maintains it in Yourdaylight/stock_datasource, which has 188 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 8, 2026.

Source: Yourdaylight/stock_datasource on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.