Tushare Data
zillionare/zillionare
面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。
Assess investment suitability obligations under FINRA Rules 2111 and 2090 across all three suitability prongs.
$ npx skills add JoelLewis/finance_skills --skill investment-suitability -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JoelLewis/finance_skills investment-suitability --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/JoelLewis/finance_skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/compliance/skills/investment-suitability .claude/skills/investment-suitability && 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 "investment-suitability" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/compliance/skills/investment-suitability into .claude/skills/investment-suitability/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investment-suitability", 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/JoelLewis/finance_skills/tree/main/plugins/compliance/skills/investment-suitabilityType 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 JoelLewis/finance_skills --skill investment-suitability -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JoelLewis/finance_skills investment-suitability --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/compliance/skills/investment-suitability .agents/skills/investment-suitability && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "investment-suitability" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/compliance/skills/investment-suitability into .agents/skills/investment-suitability/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investment-suitability", 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 JoelLewis/finance_skills --skill investment-suitability -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JoelLewis/finance_skills investment-suitability --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/compliance/skills/investment-suitability .cursor/skills/investment-suitability && 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 "investment-suitability" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/compliance/skills/investment-suitability into .cursor/skills/investment-suitability/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investment-suitability", 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/JoelLewis/finance_skills.git --path plugins/compliance/skills/investment-suitability--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 JoelLewis/finance_skills --skill investment-suitability -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JoelLewis/finance_skills investment-suitability --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/compliance/skills/investment-suitability .gemini/skills/investment-suitability && 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 "investment-suitability" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/compliance/skills/investment-suitability into .gemini/skills/investment-suitability/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investment-suitability", 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 JoelLewis/finance_skills investment-suitabilityInstalls 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 JoelLewis/finance_skills --skill investment-suitability -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/compliance/skills/investment-suitability .github/skills/investment-suitability && 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 "investment-suitability" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/compliance/skills/investment-suitability into .github/skills/investment-suitability/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investment-suitability", 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 JoelLewis/finance_skills --skill investment-suitability -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JoelLewis/finance_skills investment-suitability --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/compliance/skills/investment-suitability .opencode/skills/investment-suitability && 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 "investment-suitability" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/compliance/skills/investment-suitability into .opencode/skills/investment-suitability/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investment-suitability", 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.
investment-suitabilityAssess investment suitability obligations under FINRA Rules 2111 and 2090 across all three suitability prongs.
Investment Suitability is an agent skill from JoelLewis/finance_skills. Assess investment suitability obligations under FINRA Rules 2111 and 2090 across all three suitability prongs. Use when the user asks about reasonable-basis, customer-specific, or quantitative suitability, product-specific concerns for complex products, leveraged ETFs, variable annuities, or alternatives, household-level suitability and concentration analysis, hold recommendations, or the institutional suitability exemption. Also trigger when users mention 'is this investment suitable', 'suitability questionnaire…
Its SKILL.md is about 3.8k 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, Fundraising and pitch decks and Trading and backtesting. The repository describes itself as: Claude Code skill plugins for financial services — 81 skills across 7 domain plugins covering investment management, compliance, advisory practice, trading, and operations. The licence is MIT.
Read from SKILL.md and the folder at commit 5c498ea. 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.
Investment Suitability loads about 3.8k tokens when it runs. Until then it costs about 209 tokens; SKILL.md has 1,832 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 JoelLewis/finance_skills at commit 5c498ea, republished under its MIT licence (© JoelLewis). 1,832 words, ~3,849 tokens.
.claude/skills/investment-suitability/SKILL.md (or your agent's skills folder).Regulatory status current as of June 2026 — verify effective dates, dollar thresholds, and pending rulemakings against current SEC/FINRA/FinCEN sources before advising.
The foundational rule requiring that a broker-dealer or associated person have a reasonable basis for believing a recommendation is suitable for the customer. Applies to recommendations of securities and investment strategies involving securities, including recommendations to hold. Three distinct obligations arise from Rule 2111:
1. Reasonable-Basis Suitability (Rule 2111.05(a)) The firm or associated person must perform reasonable diligence to understand the nature of the recommended security or strategy, including its risks, rewards, and features. This is a product-level obligation — the representative must understand what they are recommending before recommending it to anyone. A representative who does not understand a complex product cannot satisfy reasonable-basis suitability regardless of how well it might fit a particular customer.
2. Customer-Specific Suitability (Rule 2111.05(b)) The recommendation must be suitable for the particular customer based on that customer's investment profile. The investment profile includes, but is not limited to: age, other investments, financial situation and needs, tax status, investment objectives, investment experience, investment time horizon, liquidity needs, risk tolerance, and any other information the customer discloses.
3. Quantitative Suitability (Rule 2111.05(c)) The firm or associated person must have a reasonable basis for believing that a series of recommended transactions, even if each is individually suitable, is not excessive and unsuitable when taken together in light of the customer's investment profile. The former requirement that the broker have "actual or de facto control" over the account was removed by FINRA's 2020 amendments to Rule 2111 (Regulatory Notice 20-18; SR-FINRA-2020-007, effective June 30, 2020), aligning the obligation with Reg BI's Care Obligation — quantitative suitability now turns on the recommendations alone, without any control element. Key metrics: turnover ratio (annualized), cost-to-equity ratio, and use of in-and-out trading patterns. Generally, turnover ratios above 6 and cost-to-equity ratios above 20% raise presumptive concerns.
Requires every member to use reasonable diligence to know and retain the essential facts concerning every customer and the authority of each person acting on the customer's behalf. This is the foundation that feeds suitability analysis — you cannot assess suitability without first knowing the customer. Essential facts include identity, financial status, investment objectives, and the nature and type of account.
The customer investment profile under Rule 2111 includes:
A customer may decline to provide profile information, but the firm must document the refusal and recognize that the more information withheld, the narrower the range of suitable recommendations.
Complex Products: FINRA Regulatory Notice 12-03 provides heightened suitability guidance for complex products (structured products, leveraged/inverse ETFs, hedge funds, non-traded REITs). Firms must perform heightened reasonable-basis diligence, develop targeted training, and consider whether enhanced customer-specific suitability review is needed.
Leveraged and Inverse ETFs: These products reset daily, meaning their performance over periods longer than one day can deviate significantly from the leveraged/inverse benchmark return. FINRA has flagged that these are generally unsuitable for buy-and-hold investors. Suitability analysis must account for the daily reset mechanism and its compounding effects.
Variable Annuities: Subject to FINRA Rule 2330, which imposes heightened suitability requirements. Before recommending a VA, the representative must consider: liquidity needs (surrender charges typically 5-8 years), tax status (tax-deferred growth is redundant in an IRA), subaccount investment options, rider costs and benefits, and whether a 1035 exchange is in the customer's interest.
Options: FINRA Rule 2360 requires account-level approval before options trading, with suitability assessed across strategy tiers (covered writing, spreads, uncovered writing, etc.). The Options Disclosure Document (ODD) must be delivered before account approval.
Alternative Investments: Private placements, hedge funds, and non-traded products present heightened suitability concerns due to illiquidity, complexity, high fees, and limited transparency. FINRA expects enhanced due diligence on the product issuer and heightened customer-specific suitability review.
Suitability is assessed at the customer level, not the account level, but household context matters. A concentrated position in one account may be suitable if diversified across the household. However, firms must have a reasonable basis for knowing the household context — relying on assumptions about held-away assets without verification creates risk. FINRA expects firms to consider a customer's overall financial picture to the extent it is known or reasonably discoverable.
Since the 2012 adoption of Rule 2111 (which extended suitability to recommended "investment strategies involving securities," including explicit recommendations to hold), a hold recommendation is subject to suitability obligations. This closed a longstanding gap under predecessor NASD Rule 2310, where representatives could avoid suitability review by recommending inaction. A hold recommendation on a concentrated or illiquid position must be evaluated against the customer's current profile.
The customer-specific suitability obligation may be modified for institutional accounts (as defined in FINRA Rule 4512(c)) if: (1) the firm has a reasonable basis to believe the institutional customer is capable of evaluating investment risks independently, and (2) the institutional customer affirmatively indicates it is exercising independent judgment. Both conditions must be met — the exemption is not automatic for all institutional clients.
Since June 30, 2020, broker-dealer recommendations to retail customers are governed by Regulation Best Interest (Reg BI), which imposes a higher standard than FINRA suitability. Reg BI's Care Obligation requires consideration of reasonably available alternatives and a cost-benefit analysis — obligations that go beyond traditional suitability. FINRA suitability remains relevant for institutional clients and as a component of the Reg BI framework. See the reg-bi skill for full Reg BI coverage.
FINRA disciplinary actions frequently target:
Scenario: A registered representative recommends that a 72-year-old retired client invest 60% of her $500,000 IRA in a single technology stock. The client's investment objective is listed as "income" with a "moderate" risk tolerance. She relies on the account for living expenses. Compliance Issues: Customer-specific suitability violation. The recommendation creates concentration risk inconsistent with income objectives, moderate risk tolerance, short time horizon (income-dependent), and high liquidity needs. Age is a significant factor — the client has limited ability to recover from a loss. Analysis: The representative should have recommended a diversified income-oriented portfolio consistent with the stated objectives. Even if the client expressed enthusiasm for the stock, the representative has an independent obligation to assess suitability and document the rationale. FINRA would likely view this as a customer-specific suitability violation and potentially a supervision failure if the firm lacked exception reporting for concentration.
Scenario: A representative recommends a leveraged inverse ETF to a moderate-risk client as a "hedge" against market declines, suggesting the client hold it for six months. The representative cannot explain the daily reset mechanism or the compounding effects over multi-day holding periods. Compliance Issues: Reasonable-basis suitability violation. The representative does not understand the product's key feature (daily reset) and is recommending a holding period inconsistent with the product's design. Additionally, customer-specific suitability is questionable for a moderate-risk investor. Analysis: FINRA Regulatory Notice 09-31 specifically warns that leveraged/inverse ETFs that reset daily are typically unsuitable for retail investors who plan to hold them longer than one trading session. The representative's inability to explain the reset mechanism is a clear reasonable-basis failure. The firm should have product-specific training requirements and suitability guardrails for leveraged ETF recommendations.
Scenario: A representative with discretionary authority over a client's $200,000 account executes 150 trades over 12 months, generating $46,000 in commissions. The account's annualized turnover ratio is 8.2 and the cost-to-equity ratio is 23%. The client's objective is "growth" with a "moderate-to-aggressive" risk tolerance. Compliance Issues: Quantitative suitability violation. The turnover ratio (8.2 > 6 threshold) and cost-to-equity ratio (23% > 20% threshold) both exceed presumptive thresholds for excessive trading. Since the 2020 amendments, no showing of control is required under Rule 2111.05(c) — the recommended (here, discretionary) transactions alone are evaluated. Analysis: Even though individual trades may have been suitable, the pattern of trading is excessive in the aggregate. The account must generate returns exceeding 23% just to break even after costs — an unreasonable hurdle. FINRA would examine the excessive activity itself (quantitative metrics); control and scienter remain relevant only if regulators also pursue fraud-based churning charges under Rule 10b-5. The firm's supervision system should have flagged this through exception reporting on turnover and cost-to-equity ratios.
© JoelLewis, MIT. 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/compliance/skills/investment-suitability of JoelLewis/finance_skills.
Open the folder on GitHubat commit 5c498ea
Investment Suitability 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 |
|---|---|---|---|---|---|---|
| Investment Suitability this skillJoelLewis/finance_skills | 206 | — | ~3.8k | 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 | |
| Worth Buy Stocksstarriv/worth-buy-stocks | 175 | — | ~4.5k | Automated safety check: Notes | None | |
| Regimejackson-video-resources/markov-hedge-fund-method | 484 | — | ~1.6k | Automated safety check: Pass | Custom licence |
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.
starriv/worth-buy-stocks
Evaluate US stocks under an Alpaca trend and relative-strength framework, and prioritize defined-risk net-credit income spreads: Bull Put/Bear Call first, Iron Condor second.
jackson-video-resources/markov-hedge-fund-method
Detect the market regime (Bull / Bear / Sideways) for ANY asset and turn it into a tradeable signal or a risk filter.
Oft3r/agentic-trading-desk
Personal trading desk for short-term technical analysis on stocks/ETFs via Robinhood MCP.
JoelLewis/finance_skills
Determine how to distribute capital across asset classes using strategic and tactical allocation frameworks.
JoelLewis/finance_skills
Determine how much capital to allocate to individual positions within a portfolio.
JoelLewis/finance_skills
Analyze commodity markets including futures curve dynamics, roll yield, and supply/demand fundamentals.
JoelLewis/finance_skills
Analyze currency markets, exchange rate mechanics, and FX risk management for international portfolios.
JoelLewis/finance_skills
Provide frameworks for managing and paying off personal debt effectively.
JoelLewis/finance_skills
Build diversified portfolios using correlation analysis, efficient frontier construction, and factor-based diversification.
Categories
Assess investment suitability obligations under FINRA Rules 2111 and 2090 across all three suitability prongs. Investment Suitability is an agent skill from JoelLewis/finance_skills. Assess investment suitability obligations under FINRA Rules 2111 and 2090 across all three suitability prongs.
Investment Suitability fits situations like: the user asks about reasonable-basis; customer-specific; quantitative suitability; product-specific concerns for complex products.
Run `npx skills add JoelLewis/finance_skills --skill investment-suitability -a claude-code`. Or copy the skill folder (plugins/compliance/skills/investment-suitability in JoelLewis/finance_skills) into .claude/skills/investment-suitability in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JoelLewis/finance_skills --skill investment-suitability -a codex`. Or copy the skill folder (plugins/compliance/skills/investment-suitability in JoelLewis/finance_skills) into .agents/skills/investment-suitability 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 JoelLewis/finance_skills --skill investment-suitability -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/investment-suitability, .gemini/skills/investment-suitability, .github/skills/investment-suitability and .opencode/skills/investment-suitability in your project.
SKILL.md names no scripts, command-line tools or credentials: Investment Suitability 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.
Investment Suitability is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k 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 Investment Suitability: Tushare Data (zillionare/zillionare, 322 stars), Tradingview MCP (atilaahmettaner/tradingview-mcp, 5k stars), Digital Oracle (komako-workshop/digital-oracle, 878 stars) and Worth Buy Stocks (starriv/worth-buy-stocks, 175 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JoelLewis (a GitHub user) maintains it in JoelLewis/finance_skills, which has 206 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on July 18, 2026.
Source: JoelLewis/finance_skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.