tradermonty/claude-trading-skills

trading-skills-navigator

Recommend the right trading workflow, skillset, API profile, and setup path from a natural-language goal.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/tradermonty/claude-trading-skills --skill trading-skills-navigator

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

Trading Skills Navigator

The interactive on-ramp for this repository. It turns a user's goal into a concrete recommendation: which workflow to run, which skillset (skills-index category) it belongs to, the API requirement, and the setup path for Claude Web App or Claude Code.

A new user faces 74 skills + 12 workflows with no router. This skill is that router. It is deterministic — a Python recommender (scripts/recommend.py) consumes the repo metadata; this SKILL.md narrates the result conversationally.

When to Use

  • The user expresses a trading/investing goal and asks where to start or which

skill/workflow to use ("どれを使えばいい", "where do I start").

  • The user asks what works without paid API keys.
  • The user wants the no-API vs API path separated, or a beginner path.
  • The user describes a persona ("part-time swing trader", "dividend investor",

"I want to short", "I want to backtest ideas") and needs routing.

Do not use this skill to execute trades, place orders, or auto-run other skills. It recommends and explains only.

Workflow

Step 1 — Capture the goal and constraints

From the user's message, extract:

  • The natural-language goal (verbatim is fine).
  • Optional constraints: no-API only? a daily time budget

(15m/30m/60m/90m)? experience level (beginner/intermediate/advanced)?

Ask at most one brief clarifying question only if the goal is empty or has no discernible intent. Otherwise proceed — the recommender degrades gracefully.

Step 2 — Run the recommender

bash
python3 skills/trading-skills-navigator/scripts/recommend.py \
  --query "<the user's goal, verbatim>" \
  --format json
  # optional: --no-api  --time-budget 15m|30m|60m|90m|any
  #           --experience beginner|intermediate|advanced
  • In Claude Code the script reads the repo-root SSoT

(skills-index.yaml + workflows/*.yaml) automatically.

  • In the Claude Web App there is no repo root; the script transparently

falls back to the bundled assets/metadata_snapshot.json. The recommendation is byte-identical in both environments — no behavior change for the user.

Step 3 — Narrate the result conversationally

Parse the JSON and explain, in the user's language:

  • Primary workflow — display_name, cadence, ~estimated_minutes,

api_profile. State plainly what it does and when to run it.

  • Routing diagnostics — read routing_diagnostics.status. For

ambiguous, name every candidate_personas entry and explain that the ordered first match was selected, except when no-api-path is a constraint on another matched goal. For fallback, state that no persona matched and ask the user to rephrase; never present the beginner fallback as an exact intent match. unavailable means the matched goal is blocked; retain the original persona in the explanation.

  • Goal availability — read goal_match.workflow, runnability, and

missing_requirements before describing a recommendation. eligible means metadata and specified constraints permit that workflow; it does not confirm that data or input files are ready. If alternative_workflow is present, label it a different-goal on-ramp.

  • Secondary workflows — if any, how they relate (e.g. "run the regime

check first, then this when it allows risk"). If dropped_secondary_workflows is non-empty, say which follow-on workflows were omitted under no-API mode and why; they never make the goal blocked.

  • Skillset — the skillset.id (skills-index category).

manifest_status: active means a curated skillsets/<id>.yaml bundle ships for this category (market-regime, core-portfolio, swing-opportunity, trade-memory, strategy-research) — mention it as the install bundle for the recommended workflow. manifest_status: deferred means no manifest yet (e.g. honest-gap categories); the recommendation is workflow-based only.

  • No-API vs API — read no_api_path: true → the entire recommended path

works without paid API keys (state this plainly); false → tell the user which paid key(s) the path needs; null → no usable path for the requested goal. (no_api is the request flag — whether no-API mode was active — not whether the path is free; always narrate no_api_path.) If a workflow was excluded under --no-api, surface the rationale entry naming the paid integration (e.g. "swing-opportunity-daily needs FMP").

  • Honest gap — honest_gap: true means no usable path for this goal. If

goal_match.runnability is unshipped, no dedicated workflow exists and suggested_skills may help. If it is blocked, a matching workflow exists but is unavailable: explain each missing requirement. CSV portfolio review is not shipped; offering a CSV as the portfolio source does not make it runnable. Any CSV mention is read as the source unless it is clearly an output (export/save/send; CSVに出力) with no input wording; naming Alpaca alone never clears the gap.

  • Backtest execution request — relay the note when the research workflow

is recommended for a request containing backtest terms. It can evaluate separately measured metrics but does not execute the backtest. Its no_api_path does not describe the separate backtest tool or data.

  • Operational roles — narrate the operational_roles entry for every

skill in the setup bundle or honest-gap suggestion. Explain standalone rationale when present; keep enum values unchanged.

  • Always read the rationale array and explain why this was recommended.

Step 4 — Explain the setup path

Read references/setup_paths.md and walk the user through installing `setup_bundle` — the recommender's deterministic install union over the primary skillset and every secondary workflow (so nothing is dropped for a multi-workflow recommendation). Enumerate setup_bundle.required → recommended → optional, cite setup_bundle.sources to explain why each skill is needed, and name skillset.manifest.related_workflows for how the bundle is run. Narrate skillset.manifest (when present) as "what the recommended skillset is". On an honest gap install suggested_skills. Do this for whichever environment the user is in (Claude Web App .skill upload, or Claude Code folder copy); call out any paid API keys those skills need.

Step 5 — Point to the learning loop

Close by pointing the user at trader-memory-core and the trade-memory-loop / monthly-performance-review workflows so every recommended path feeds the Plan → Trade → Record → Review → Improve loop.

Output Format

The JSON the recommender emits (stable, idempotent, sort_keys):

FieldMeaning
primary_workflowRecommended workflow object, or null on an honest gap
secondary_workflowsSupporting workflows (ordered, time-budget filtered)
skillset{id, source: skills-index.category, manifest_status, manifest}. manifest_status is active when skillsets/<id>.yaml ships, else deferred. manifest is the 5-key view {display_name, required_skills, recommended_skills, optional_skills, related_workflows} when active, else null. Describes the primary skillset only — not the install list
setup_bundle{required, recommended, optional, sources} — the actionable install union over the primary skillset and every secondary workflow (deterministic, tier-deduped). This is what to install. All-empty on an honest gap (use suggested_skills)
suggested_skillsSkills to use when no workflow shipped (honest gap); else []
operational_rolesSkill id → {type, rationale?} for every setup-bundle skill, or every suggested_skills item on an honest gap
no_apiRequest-side: was no-API constraint mode active (flag or persona)
no_api_pathPath-side: does the whole recommendation (primary + every secondary) work without paid API keys? true/false; null on an honest gap. This is the DoD's API-vs-no-API separation — narrate it explicitly
honest_gaptrue when no usable workflow can serve the matched goal (unshipped or blocked)
goal_matchOriginal {persona, workflow, runnability, missing_requirements}; eligible only means metadata/constraint eligibility
alternative_workflowSeparate {workflow, relationship: different_goal, no_api_path, explanation} or null; never substitutes for the goal
dropped_secondary_workflows[{id, reason}] — secondary workflows removed because they need a paid API under --no-api; [] otherwise. Not a blocker: narrate it so the user knows a follow-on step was omitted
notePlain-language explanation for gaps / unmapped input
rationaleOrdered list of why-this-was-recommended strings
routing_diagnostics{status, selected_persona, candidate_personas, explanation}. status is exact, ambiguous, fallback, or unavailable; candidates are all pre-constraint persona matches in deterministic order
setup_path_refPointer to the setup-path reference

Resources

  • scripts/recommend.py — the deterministic recommender (single source of

truth for routing).

  • scripts/build_snapshot.py — regenerates assets/metadata_snapshot.json

from the SSoT; --check guards drift (pre-commit + CI).

  • scripts/intent_benchmark.py — validates the fail-closed bilingual routing

corpus, persona shadowing contracts, and metamorphic invariants.

  • references/intent_routing.md — the persona table, the 10-question contract,

the --no-api credential rule, and scoring tie-breaks.

  • references/setup_paths.md — Claude Web App vs Claude Code setup steps.
  • assets/metadata_snapshot.json — generated SSoT digest for the Web App

fallback. Never edit by hand; run build_snapshot.py.

  • assets/intent_benchmark_v1.json — 211 explicitly labeled EN/JA routing

cases with 1.0 precision/recall and per-persona/workflow coverage gates.

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills
tradermonty
社区

breakout-trade-planner

Generate Minervini-style breakout trade plans from VCP screener output with worst-case risk calculation, portfolio heat management, and Alpaca-compatible order templates (stop-limit bracket for pre-placement, limit bracket for post-confirmation). Use when user has VCP screener results and wants actionable trade plans with entry/stop/target levels and position sizing.

安装量
1
GitHub Stars
3297
最近更新
10月26日
tradermonty
社区

crypto-regime-analyzer

Quantifies crypto market regime health using free, keyless public data (CoinGecko + Binance funding). Generates a 0-100 composite score across 6 components (100 = risk-on) with a posture recommendation. No API key required. Use when user asks about crypto market conditions, whether it's alt season, BTC dominance, crypto risk-on vs risk-off, funding rates, or whether crypto exposure should be increased or reduced.

安装量
1
GitHub Stars
3297
最近更新
10月26日
tradermonty
社区

data-quality-checker

Validate data quality in market analysis documents and blog articles before publication. Use when checking for price scale inconsistencies (ETF vs futures), instrument notation errors, date/day-of-week mismatches, allocation total errors, and unit mismatches. Supports English and Japanese content. Advisory mode -- flags issues as warnings for human review, not as blockers.

安装量
1
GitHub Stars
3297
最近更新
10月26日
tradermonty
社区

downtrend-duration-analyzer

Analyze historical downtrend durations and generate interactive HTML histograms showing typical correction lengths by sector and market cap.

安装量
1
GitHub Stars
3297
最近更新
10月26日