trading-skills-navigator について
trading-skills-navigatorは、このリポジトリの取引・投資向けスキルやワークフローを選ぶための決定論的なレコメンダーです。目標や制約に基づいて、ワークフロー、API要件、スキルセット、セットアップ方法を案内し、実行は行いません。
主な機能
- 01目標に合う取引ワークフローの提示
- 02APIや時間の制約を考慮
- 03決定論的なJSON推奨の出力
- 04スキルセットとセットアップ要件の説明
- 05Claude Web AppとClaude Codeに対応
活用シーン
- 01投資目標に合う開始ワークフローの選択
- 02有料APIキー不要のワークフローの確認
- 03経験や時間の予算に応じた経路選び
- 04Claude Web AppまたはClaude Codeの設定確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tradermonty/ claude-trading-skills --skill trading-skills-navigatorインストール後、Claude Code で/trading-skills-navigatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
requirements.txtassets/intent_benchmark_v1.jsonmetadata_snapshot.jsonreferences/intent_routing.mdsetup_paths.mdscripts/build_snapshot.pyintent_benchmark.pyrecommend.pyscripts/tests/conftest.pytest_intent_benchmark.pytest_recommend.py詳細
トレーディングスキルナビゲーター
このリポジトリを使い始めるためのインタラクティブな入口です。ユーザーの目標を具体的な推奨内容に変換します。実行する ワークフロー、所属する スキルセット(skills-index のカテゴリ)、API の要件、Claude Web App または Claude Code での セットアップ手順を案内します。
新規ユーザーは、案内役がないまま74個のスキルと12個のワークフローに向き合うことになります。このスキルがその案内役です。これは 決定論的に動作します。Python のレコメンダー(scripts/recommend.py)がリポジトリのメタデータを読み込み、この SKILL.md が結果を会話形式で説明します。
使用するタイミング
- ユーザーがトレーディングや投資の目標を示し、何から始めればよいか、どのスキルやワークフローを使えばよいかを尋ねている場合(「どれを使えばいい」、「where do I start」)。
- ユーザーが 有料 API キーなしで使えるものを尋ねている場合。
- ユーザーが API を使わない場合と使う場合の手順を分けて知りたい場合、または初心者向けの手順を求めている場合。
- ユーザーがペルソナ(「副業のスイングトレーダー」、「配当投資家」、「空売りしたい」、「アイデアをバックテストしたい」)を説明し、適切な案内を必要としている場合。
このスキルを使って、取引を実行したり、注文を出したり、ほかのスキルを自動実行したりしないでください。推奨と説明のみを行います。
ワークフロー
ステップ 1 — 目標と制約を把握する
ユーザーのメッセージから、次の内容を抽出します。
- 自然言語での 目標(そのまま引用してもかまいません)。
- 任意の制約:API なしのみか、1日の 時間の上限 (15m/30m/60m/90m)か、経験レベル(初心者/中級者/上級者)か。
目標が空であるか、意図を読み取れない場合に限り、短い確認質問を1つまで行います。それ以外の場合はそのまま進めてください。レコメンダーは情報が不十分でも適切に対応します。
ステップ 2 — レコメンダーを実行する
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
- Claude Code では、スクリプトがリポジトリのルートにある SSoT(
skills-index.yamlとworkflows/*.yaml)を自動的に読み込みます。 - Claude Web App にはリポジトリのルートがありません。その場合、スクリプトは透過的に同梱の
assets/metadata_snapshot.jsonにフォールバックします。どちらの環境でも推奨内容はバイト単位で同一であり、ユーザーの動作に違いはありません。
ステップ 3 — 結果を会話形式で説明する
JSON を解析し、ユーザーの言語で説明してください。
- 主なワークフロー —
display_name、cadence、~estimated_minutes、api_profile。何をするものか、いつ実行するのかを明確に説明してください。 - ルーティング診断 —
routing_diagnostics.statusを確認してください。ステータスがambiguousの場合、すべてのcandidate_personasエントリを挙げ、別の一致した目標に対する制約がno-api-pathである場合を除き、順序上最初に一致したものが選択されたと説明してください。ステータスがfallbackの場合、該当するペルソナはなく、ユーザーに言い換えを促してください。初心者向けのフォールバックを、意図に正確に一致したものとして提示してはいけません。unavailableは、一致した目標が利用不可であることを意味します。説明では元のペルソナを維持してください。 - 目標の利用可否 — 推奨を説明する前に、
goal_match.workflow、runnability、missing_requirementsを確認してください。eligibleは、メタデータと明示された制約上、そのワークフローを利用できることを意味します。データや入力ファイルの準備が整っていることを確認するものではありません。alternative_workflowがある場合は、別の目標への導入経路として示してください。 - 副次ワークフロー — 該当する場合は、相互の関係を説明してください(例:「まずレジームチェックを実行し、リスクが許容されたら次にこれを実行します」)。
dropped_secondary_workflowsが空でない場合は、no-API モードではどの後続ワークフローが除外されたか、またその理由を説明してください。これらの除外によって目標が利用不可になることはありません。 - スキルセット —
skillset.id(skills-index のカテゴリー)。manifest_status: activeは、このカテゴリー用の厳選されたskillsets/<id>.yamlバンドルが提供されていることを意味します(market-regime、core-portfolio、swing-opportunity、trade-memory、strategy-research)。推奨ワークフローのインストールバンドルとして言及してください。manifest_status: deferredは、まだマニフェストがないことを意味します(たとえば、正直なギャップに該当するカテゴリー)。この場合、推奨はワークフローのみを根拠とします。 - No-API と API —
no_api_pathを確認してください。true→ 推奨される経路全体が有料 API キーなしで動作することを明確に伝えてください。false→ その経路で必要な有料キーを伝えてください。null→ 要求された目標に利用可能な経路はありません。(no_apiはリクエストのフラグであり、no-API モードが有効だったかを示します。経路が無料かどうかを示すものではありません。必ずno_api_pathに基づいて説明してください。)--no-apiのもとでワークフローが除外されている場合は、有料の連携先を示すrationaleエントリを明記してください(例:「swing-opportunity-daily には FMP が必要です」)。 - 正直なギャップ —
honest_gap: trueは、この目標に利用可能な経路がないことを意味します。goal_match.runnabilityがunshippedの場合、専用のワークフローはなく、suggested_skillsが役立つ可能性があります。blockedの場合、一致するワークフローは存在しますが利用できません。不足している要件をそれぞれ説明してください。CSV ポートフォリオレビューは提供されていません。ポートフォリオのソースとして CSV を提示しても、実行可能にはなりません。CSV への言及は、入力を示す表現がなく、出力であること(エクスポート/保存/送信、CSV に出力)が明確な場合を除き、入力ソースとして解釈してください。Alpaca に言及するだけでは、ギャップは解消されません。 - バックテスト実行リクエスト — バックテスト関連の用語を含むリクエストに対してリサーチワークフローを推奨する場合は、
noteの内容を伝えてください。このワークフローでは、別途測定された指標を評価できますが、バックテスト自体は実行しません。そのno_api_pathは、別個のバックテストツールやデータについて説明するものではありません。 - 運用上の役割 — セットアップバンドルまたは正直なギャップの提案に含まれる各スキルについて、
operational_rolesエントリを説明してください。該当する場合は、単独で利用する理由も説明してください。列挙値は変更しないでください。 - 常に
rationale配列を読み、なぜこれが推奨されたのか説明してください。
手順 4 — セットアップ手順を説明する
references/setup_paths.md を読み、setup_bundle のインストールをユーザーに案内します。これは、主スキルセットおよびすべてのセカンダリワークフローに対する、推奨システムの決定的なインストール対象の統合です(複数ワークフローの推奨でも何も抜け落ちません)。setup_bundle.required → recommended → optional の順に列挙し、各スキルが必要な理由を説明するために setup_bundle.sources を参照し、バンドルの実行方法として skillset.manifest.related_workflows を挙げます。skillset.manifest がある場合は、「推奨スキルセットの内容」として説明します。実際に不足がある場合は suggested_skills をインストールします。ユーザーが利用している環境(Claude Web App の .skill アップロード、または Claude Code のフォルダーコピー)に応じて案内し、各スキルに必要な有料 API キーがあれば明記します。
手順 5 — 学習ループを案内する
最後に、すべての推奨パスが Plan → Trade → Record → Review → Improve のループにつながるよう、trader-memory-core と trade-memory-loop / monthly-performance-review ワークフローを案内します。
出力形式
推奨システムが出力する JSON(安定的、冪等、sort_keys):
| フィールド | 意味 |
|---|---|
primary_workflow | 推奨ワークフローオブジェクト。実際に不足がある場合は null |
secondary_workflows | 補助ワークフロー(順序付き、利用可能時間に基づいて絞り込み) |
skillset | {id, source: skills-index.category, manifest_status, manifest}。skillsets/<id>.yaml が存在する場合、manifest_status は active、それ以外は deferred。manifest は、有効な場合は 5 キーのビュー {display_name, required_skills, recommended_skills, optional_skills, related_workflows}、それ以外は null。主スキルセットのみを説明し、インストール対象の一覧ではありません |
setup_bundle | {required, recommended, optional, sources} — 主スキルセットおよびすべてのセカンダリワークフローを対象とする、実際にインストールするスキルの統合(決定的、階層ごとに重複排除)。インストールするのはこれです。 実際に不足がある場合はすべて空(suggested_skills を使用) |
suggested_skills | ワークフローが未提供の場合(実際に不足がある場合)に使用するスキル。それ以外は [] |
operational_roles | すべてのセットアップバンドル内スキル、または実際に不足がある場合はすべての suggested_skills 項目に対する、スキル ID → {type, rationale?} |
no_api | リクエスト側:API 不要の制約モードが有効だったか(フラグまたはペルソナ) |
no_api_path | パス側:推奨全体(主ワークフロー+すべてのセカンダリワークフロー)が有料 API キーなしで動作するか。true/false。実際に不足がある場合は null。これは DoD の API 使用と API 不要の分離を示します — 必ず明示して説明します |
honest_gap | 一致した目標に対応できる利用可能なワークフローがない場合(unshipped または blocked)は true |
goal_match | 元の {persona, workflow, runnability, missing_requirements}。eligible はメタデータ/制約への適合のみを意味します |
alternative_workflow | 別個の {workflow, relationship: different_goal, no_api_path, explanation}、または null。目標の代替にはなりません |
dropped_secondary_workflows | [{id, reason}] — --no-api のもとで有料 API を必要とするため除外されたセカンダリワークフロー。それ以外は []。これはブロッカーではありません。後続の手順が省略されたことがユーザーに伝わるよう説明します |
note | 不足/マッピングされていない入力に関する平易な説明 |
rationale | 推奨理由を示す文字列の順序付きリスト |
routing_diagnostics | {status, selected_persona, candidate_personas, explanation}。status は exact、ambiguous、fallback、unavailable のいずれか。候補には、制約適用前に一致したすべてのペルソナを決定的な順序で含めます |
setup_path_ref | セットアップ手順の参照先 |
リソース
scripts/recommend.py— 決定論的なレコメンダー(ルーティングの唯一の信頼できる情報源)。scripts/build_snapshot.py— SSoT からassets/metadata_snapshot.jsonを再生成します。--checkは差分を検出します(pre-commit + CI)。scripts/intent_benchmark.py— フェイルクローズのバイリンガルルーティングコーパス、ペルソナのシャドーイング契約、メタモルフィック不変条件を検証します。references/intent_routing.md— ペルソナの表、10 問の契約、--no-apiの認証情報ルール、スコアリングのタイブレークについて説明しています。references/setup_paths.md— Claude Web App と Claude Code のセットアップ手順です。assets/metadata_snapshot.json— Web App のフォールバック用に生成された SSoT ダイジェストです。手動で編集しないでください。build_snapshot.pyを実行してください。assets/intent_benchmark_v1.json— EN/JA のルーティングケースを 211 件、明示的にラベル付けしたもので、精度と再現率は 1.0 であり、ペルソナ/ワークフローごとのカバレッジゲートを備えています。