Market Environment Analysis
tradermonty/claude-trading-skills
Comprehensive market environment analysis and reporting tool.
Provides multi-school trading Q&A, chart/OHLCV analysis, annotation, and fresh-market workflows covering ICT/SMC, ChanLun, Wyckoff, Price Action, Order Flow, VSA, and Elliott Wave.
$ npx skills add MobiusQuant/OpenMobius-skill --skill openmobius-skill -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install MobiusQuant/OpenMobius-skill openmobius-skill --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "openmobius-skill" agent skill from https://github.com/MobiusQuant/OpenMobius-skill/tree/main into .claude/skills/openmobius-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openmobius-skill", 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.
$ npx skills add MobiusQuant/OpenMobius-skill --skill openmobius-skill -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install MobiusQuant/OpenMobius-skill openmobius-skill --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "openmobius-skill" agent skill from https://github.com/MobiusQuant/OpenMobius-skill/tree/main into .agents/skills/openmobius-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openmobius-skill", 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 MobiusQuant/OpenMobius-skill --skill openmobius-skill -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install MobiusQuant/OpenMobius-skill openmobius-skill --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "openmobius-skill" agent skill from https://github.com/MobiusQuant/OpenMobius-skill/tree/main into .cursor/skills/openmobius-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openmobius-skill", 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.
$ npx skills add MobiusQuant/OpenMobius-skill --skill openmobius-skill -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install MobiusQuant/OpenMobius-skill openmobius-skill --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "openmobius-skill" agent skill from https://github.com/MobiusQuant/OpenMobius-skill/tree/main into .gemini/skills/openmobius-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openmobius-skill", 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 MobiusQuant/OpenMobius-skill openmobius-skillInstalls 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 MobiusQuant/OpenMobius-skill --skill openmobius-skill -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "openmobius-skill" agent skill from https://github.com/MobiusQuant/OpenMobius-skill/tree/main into .github/skills/openmobius-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openmobius-skill", 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 MobiusQuant/OpenMobius-skill --skill openmobius-skill -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install MobiusQuant/OpenMobius-skill openmobius-skill --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "openmobius-skill" agent skill from https://github.com/MobiusQuant/OpenMobius-skill/tree/main into .opencode/skills/openmobius-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openmobius-skill", 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.
openmobius-skillProvides multi-school trading Q&A, chart/OHLCV analysis, annotation, and fresh-market workflows covering ICT/SMC, ChanLun, Wyckoff, Price Action, Order Flow, VSA, and Elliott Wave.
Openmobius Skill is an agent skill from MobiusQuant/OpenMobius-skill. Provides multi-school trading Q&A, chart/OHLCV analysis, annotation, and fresh-market workflows covering ICT/SMC, ChanLun, Wyckoff, Price Action, Order Flow, VSA, and Elliott Wave. Use for trading concepts; capability-discovery questions about available analysis lenses, Schools, models, modes, or data sources; attached charts; pasted OHLCV; chart annotation; or asset-plus-timeframe requests across crypto, stocks, or forex. Defaults unselected market analysis to strict ICT/SMC, honors explicit School/source…
Its SKILL.md is about 7.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2119 other files, including scripts (for example `ATTRIBUTION.md`, `CHANGELOG.md` and `CHANGELOG.zh.md`).
It sits in Business, Finance & HR, covering Trading and backtesting, Market research and Requirements gathering. The repository describes itself as: ICT/SMC trading-knowledge skill for AI coding agents (Claude Code / Codex / OpenClaw / Hermes). The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4c1cffc. 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.
Ships 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
mobiusquant.aiFrom 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.
Openmobius Skill loads about 7.2k tokens when it runs. Until then it costs about 172 tokens; SKILL.md has 3,321 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); the scripts in this folder are not scanned.
The full file from MobiusQuant/OpenMobius-skill at commit 4c1cffc, republished under its Apache-2.0 licence (© MobiusQuant). 3,321 words, ~7,161 tokens.
.claude/skills/openmobius-skill/SKILL.md (or your agent's skills folder). This skill also uses 2115 other files; get the full folder from GitHub.A unified skill for four interaction intents with a curated multi-school knowledge base (726 concept cards + 1282 case cards) distilled from 300+ trading videos and live lessons across 12 curated source collections.
Core principle: every trading-analysis claim must be grounded in (a) visible chart evidence or (b) a retrieved knowledge-base rule. Capability claims must be grounded in the installed inventory and declared profile contract. No fabrication — when uncertain, state so explicitly.
Any user message that mentions an asset + timeframe — even without
the word "现在" / "now" — REQUIRES a fresh kb_klines.py indicators
or kb_klines.py chart call in the current turn. Examples:
This live-fetch mandate applies to current-market requests. If the user
explicitly asks to analyze OHLCV they supplied, preserve that snapshot instead
of replacing it with live data; use the parsed-data provenance footer from
workflows/klines.md and state that its freshness is not independently
verified.
Control-plane exception: a question about which analysis model/School/mode the installed skill supports, or whether a named School can analyze a market, is capability discovery rather than a request to analyze that market. Route it to the Q&A capability-discovery branch before applying asset/timeframe rules; do not fetch market data even when the question names an asset or timeframe.
Capability-gate exception: first resolve the requested market-analysis route. If its required native analyzer/filter is unsupported, stop before any network call or artifact generation, report the capability gap, and do not add a fabricated freshness footer. The freshness requirements below apply only after a market route passes that gate.
Hard rules:
freshness block or
the user-supplied dataset.freshness block returned by an API call made in this turn. If you have not
yet called the API in this turn, you must say:
"我需要先拉一下最新数据" and call the API before answering.Every market-analysis reply that proceeds past the capability gate MUST use
the matching footer: API-backed analysis uses the freshness footer; analysis
of user-pasted OHLCV uses the parsed-data provenance footer (see
workflows/klines.md Step 5). A reply without the applicable footer is
incomplete.
If the API response's freshness.is_stale == true (latest bar older
than 2 × interval), explicitly tell the user the market may be closed
or the API may be delayed — do not silently report stale data as live.
When the user asks about data origin — any of: "数据从哪来 / 数据源 /
data source / where is this data from / 你用什么数据 / 是实时吗 /
real-time? / 怎么取的数据" — respond with the canonical disclosure
below. Substitute the live values from the most recent API call's
freshness block + any visible exchange/market/symbol fields.
**Data source / 数据来源**: Mobius Quant API (api.mobiusquant.ai)
Current request / 本次请求:
- exchange = `<exchange from response>`
- market = `<market from response>` (spot / perp / cn / hk / us / forex)
- symbol = `<symbol from response>`
- fetched_at (UTC) = `<freshness.fetched_at>`
- last_bar_open (UTC) = `<freshness.last_bar_open_time_utc>`
- last_bar_age_seconds = `<freshness.last_bar_age_seconds>` (is_stale=<is_stale>)
**About upstream sources / 关于上游来源**: Mobius Quant exposes OHLCV,
technical indicators, and SMC structural signals as an aggregator. Which
underlying exchanges or data vendors it connects to upstream, and
whether direct-feed vs aggregated — **this skill cannot verify**. See
https://www.mobiusquant.ai/ for details.exchange field. Allowed values are
what symbols_search / klines / indicators literally return
(e.g. binance, bybit, okx, hyperliquid for crypto; cn/hk/us
for stocks).freshness.is_stale
reports. Use the literal last_bar_age_seconds number.api.mobiusquant.ai)exchange / market / symbol /
count / current_price / freshness.*)https://www.mobiusquant.ai/ for upstream detailsResolve these placeholders for the current host before running a workflow. They are documentation tokens, not literal paths or shell variables:
<SKILL_ROOT> — the directory containing the loaded SKILL.md. Run all
commands with this directory as the working directory so relative scripts/
paths resolve without depending on the user's current directory.<PYTHON> — the Python executable selected for this installed skill. Resolve
it from the platform/installer-managed runtime; Windows and POSIX executable
paths differ, and a managed host may expose its own runner. Do not assume
python or python3 is available on PATH.<TEMP_DIR> — a writable, task-specific temporary directory created through
the current host's temporary-directory facility. Do not assume a particular
POSIX or Windows system path exists.<USER_OUTPUT_DIR> — a writable directory selected by the user or exposed by
the host for durable artifacts that must be returned. Do not use a repository
checkout or developer-machine path as the implicit output location.<INPUT_IMAGE> — the host-resolved path to the user's attached chart.Never execute the angle-bracket placeholders literally. Quote each resolved path according to the current command runner when it contains spaces. Command blocks use logical argument lists and avoid shell-only pipes, heredocs, and continuation syntax. Create JSON/text inputs with the host's file-writing tool or a JSON serializer, then pass the resulting file path to the script.
For WorkBuddy packaging compatibility, a command line that begins with
kb_retrieve.py is launcher-neutral shorthand only. Before execution it
must be expanded to <PYTHON> scripts/kb_retrieve.py; never assume
kb_retrieve.py is on PATH.
The knowledge base contains rule-based identification criteria and documented pitfalls that generic training data lacks. Resolve the route and confirm its capabilities, then retrieve within that route before synthesizing — don't answer trading questions from memory alone and don't widen a selected school/source boundary silently.
The semantic-card retrieval mandate applies to trading-knowledge answers, not
to control-plane capability discovery. Capability discovery inspects the
installed School inventory and declared profile contract without running a
normal query/top-K search; follow the special case in workflows/qna.md.
First detect capability-discovery questions about the installed skill's
available models/profiles, lenses, Schools, modes, supported intents, or a
named School's market-analysis support. They remain intent=qna, but take
priority over the default strict ICT/SMC route and any asset/timeframe or
chart routing. Read both workflows/qna.md and
workflows/analysis_profiles.md, inspect the installed inventory with
kb_retrieve.py --layer school --list-schools --format json (expanded through
the launcher-neutral rule above),
then answer immediately from that inventory and the declared profile contract.
This is an intentionally bounded, single-agent control-plane operation: do not
delegate to a subagent/background task, recursively invoke this skill, run Git,
scan source code/cards/manifests, or verify analyzer implementations. Do not
construct or inherit an analytical School route for this branch, and stop after
the capability response.
For all normal analysis and knowledge requests, resolve a route before retrieval, indicator calls, analysis, or drawing:
route = {intent, mode, primary_lens, secondary_lenses, schools, sources, capabilities}
intent must be exactly one of qna, analyze, annotate, or klines.
Do not emit aliases such as kline_analysis.capabilities must always be an object, never a list or string. Use the
canonical fields and values defined in workflows/analysis_profiles.md.exact_primary_school_filter=true,
source_filter=not_requested, intent_supported=true, and reason=null;
set native_market_analyzer=not_required for Q&A or supported for a market
intent. This default does not require loading the profile reference.lens (also called a profile) is an analytical methodology such as
ict_smc or chanlun; source is a corpus/teacher collection such as
Teach-Wuyuan. A source does not automatically select a lens.mode=strict, primary_lens=ict_smc, and schools=[ICT, SMC]; retrieve
with --layer school --schools ICT SMC.compare is
supported for Q&A only; market-analysis, chart, and annotation comparisons
fail closed before network or artifact work. augment gives one primary lens
authority over bias and trade levels while secondary lenses only confirm,
challenge, or add risk context.school_knowledge_v2, which omits
cross-School fused rules that cannot be attributed. Any requested source
uses source_evidence_v2 with --layer evidence --sources ...; combine it
with --schools ... for an exact intersection. Never use the fused
canonical layer to claim strict School/source isolation.--search-mode auto unless diagnosing retrieval; exact terms/aliases stay
first and the hard School/source boundary is never widened.ict_smc or to
an unfiltered search. Check capabilities before doing work and report an
unsupported or empty route plainly.Read workflows/analysis_profiles.md whenever
the user names a lens/school/source, requests comparison or augmentation,
excludes a profile, or the selected capability is uncertain. Plain default
ict_smc requests can proceed directly to the intent workflow below.
The Analyze and Kline workflows end in a synthesis step with mandatory ##
section headings. Those headings must appear verbatim and in the specified
order. Q&A and Annotate use the output structures defined in their own workflow
documents. A capability-gap response that stops before analysis is also exempt
from the market-analysis template and freshness footer.
Pick the right sub-workflow based on the user's input. Each workflow has detailed steps in its own document:
| User input | Workflow | Document to read |
|---|---|---|
| Installed-skill capability question ("当前有哪些分析模型", "which Schools are available", "缠论能分析 BTC 1h 吗") — even with an asset/timeframe or chart reference | Q&A capability discovery | workflows/qna.md + workflows/analysis_profiles.md |
| Concept question, no chart, no data, no asset name ("什么是 FVG", "how to identify OB", "止损放哪里") | Q&A | workflows/qna.md |
| Chart attached + any question about it ("分析", "看一下", "走势", "where to enter", "what's happening") | Analyze (auto-fetches real OHLCV + annotation) | workflows/analyze.md |
| User explicitly asks to draw/annotate an image, OR follows up after analysis with "把这个标在图上" | Annotate | workflows/annotate.md |
| User pastes OHLCV data OR mentions asset + timeframe by name without chart ("BTC 1h 怎么样" / pastes CSV / "茅台日线") | Kline analysis (auto-generates a fresh chart PNG) | workflows/klines.md |
Chart output is part of the standard reply for the Analyze and Kline analysis workflows — render a PNG and include its path in the output. Skip the chart step ONLY when the user explicitly opts out ("只要文字" / "skip chart" / "no image" / "不用画图"). For user-pasted OHLCV, follow the Path B exception in
workflows/klines.mdand never fetch a different live series merely to satisfy chart output.
How to route:
analysis_profiles.md when its
trigger appliesRead tool to load the relevant workflow document (relative to this SKILL.md: workflows/<name>.md)Important — Analyze workflow now auto-fetches data: If a chart is attached AND the asset/timeframe is identifiable from the chart,
analyze.mdwill fetch real OHLCV from Mobius API to complement visual analysis with precise prices. This is on by default; user can opt out by saying "只看图不拉数据" / "skip data fetch".
Note: The Analyze workflow already auto-generates an annotated image as its final step. You do NOT need to separately invoke Annotate after Analyze unless the user wants to re-render with different parameters (different colors, new bbox, JSON-only output, etc.).
When the user wants a visual chart, choose the right tool:
| Situation | Tool | Output |
|---|---|---|
| User uploaded their own chart image; wants markup ON that image | scripts/kb_draw_annotation.py (PIL) | Annotated copy of original image |
| No chart image, OR user wants a clean new chart | scripts/kb_klines.py chart + render | Fresh TradingView-grade chart: K-lines + structural overlays (FVG/OB rectangles, sweep lines, swing markers, trade-setup lines) |
For path #2, the typical pipeline is:
# 1. Pull K-lines + auto-filled SMC structural overlay for an ict_smc route
<PYTHON> scripts/kb_klines.py chart --query "BTC" --interval 1h --limit 200 --output <TEMP_DIR>/chart.json
# 2. Optionally create a separate trade-setup JSON containing only entry/SL/
# target hlines; do not duplicate the structural items already auto-filled.
# 3. Render PNG (add --trade-setup <TEMP_DIR>/setup.json only when one exists)
<PYTHON> scripts/kb_klines.py render --input <TEMP_DIR>/chart.json --output <USER_OUTPUT_DIR>/chart.png --theme dark --width 1400 --height 900ict_smc profile: SMC structural indicatorFor a market-analysis branch whose lens is ict_smc, fetch the SMC
structural indicator first. A request with no explicit selector creates this
default branch. Do not fetch or use SMC as structural evidence for a strict
non-ict_smc branch; in augment, keep its evidence within the labelled
secondary role assigned to that branch.
<PYTHON> scripts/kb_klines.py indicators --query "BTC" --interval 1h --limit 200 --format compactNo --inds flag means SMC by default. The response covers, in one call:
smc_atr200)objects sidecar: structural events with full geometry, ready to
drop straight into chart overlaysswing_pivots (HH/HL/LH/LL), swing_structures & internal_structures
(BOS / CHoCH events with pivot_time + confirm_time + bias)equal_highs / equal_lows (liquidity-pool levels)order_blocks_swing / order_blocks_internal (each with
top/bottom/anchor_time/bias/status: active|mitigated)fair_value_gaps (same field shape as OBs)trailing_extremes: {top, top_label, bottom, bottom_label} where
the labels are one of Strong High / Strong Low / Weak High /
Weak Lowpremium_zone / equilibrium_zone / discount_zone
({top, bottom} price bands at the swing range's top/middle/bottom)alerts_last_bar: dictionary of booleans flagging events that fired
on the most recent candle (e.g. swing_bullish_choch, equal_highs,
bullish_fair_value_gap)Order of consultation for the 5-section output:
smc_swing_trend vs smc_internal_trend.
Same sign = strong trend; opposite sign = potential reversal or range.swing_structures / internal_structures): is it kind: BOS
(trend continuation) or kind: CHoCH (trend reversal)? CHoCH has
higher priority than BOS as a forward signal.Strong High + Weak Low together =
confirmed bearish structure (the high holds, the low is breakable);
Strong Low + Weak High = confirmed bullish. A break of a Strong
pivot is the structural confirmation of a reversal.objects.order_blocks_* by
status: active. Bull OBs below price = support candidates. Bear OBs
above price = resistance candidates. Closer to current price = more
relevant.discount; short-
favored entries are in premium; equilibrium is wait-and-see.swing_size bars after they form
(typically ~50 bars); recent pivots may still adjust.Each SMC field maps directly to a KB concept card. After identifying the structural pattern, retrieve the corresponding card for rule citations:
| SMC field / event | KB concept |
|---|---|
swing_structures with kind: BOS | break_of_structure |
swing_structures with kind: CHoCH | change_of_character |
order_blocks_* | order_block |
fair_value_gaps | fair_value_gap |
equal_highs / equal_lows | equal_highs / equal_lows |
premium_zone / discount_zone / equilibrium_zone | premium_and_discount, equilibrium |
trailing_extremes with Strong/Weak labels | strong_and_weak_highs_and_lows, protected_high_low |
smc_atr200, smc_volatility, high_vol_bar | displacement |
If — and only if — the user's message contains a specific indicator
name (whatever the abbreviation), pass that name through as --inds:
<PYTHON> scripts/kb_klines.py indicators --query "BTC" --interval 1h --inds "<exact-name-user-said>" --format compactFor multi-param indicators use the compact form name:p1:p2 (e.g. one
positional param after the name); the server interprets the rest.
Strict rules:
ict_smc
branch, the SMC indicator is sufficient as the structural ground truth;
it is not a substitute for another lens's native analyzer.objects sidecar). Do not draw oscillator-style sub-panels.For an ict_smc branch, kb_klines.py chart auto-fills
panels[0].items with the SMC indicator's structural overlay (BOS/CHoCH
markers, trailing-extreme labels, active
Order Blocks, active Fair Value Gaps, equal H/L, internal OBs, and mitigated
history). Premium/equilibrium/discount bands are optional and require
--include-zones. You do not author
rectangles, markers, or structural hlines.
The only items the LLM ever writes are trade-setup hlines (entry /
SL / target), passed at render time via --trade-setup PATH:
{"items": [
{"type": "hline", "value": 78500, "label": "Short 78500",
"style": {"role": "entry_short", "width": 2}},
{"type": "hline", "value": 80000, "label": "SL 80000",
"style": {"role": "stop_loss", "dash": "dashed", "width": 2}},
{"type": "hline", "value": 77000, "label": "T1 77000",
"style": {"role": "target", "width": 2}}
]}Label rule: ≤ 12 characters including the price. Put rationale
("entry at FVG mid", "SL above 4h OB") in the prose reply, not in
the chart label.
Trade-setup style.role values: entry_long, entry_short,
stop_loss, target.
Skip the trade-setup file when you have no specific trade levels to draw — the SMC structural overlay alone is a valid market chart.
No fabrication — every price level cited must be visible on the chart or computed from a retrieved rule applied to a visible price.
Cite the knowledge base — every confirmed pattern must reference a retrieved card. Format: "Rule N of <concept>: '<rule text>' — visible at <evidence>".
Language rules:
State uncertainty explicitly — prefer null or "uncertain — <reason>" over speculation.
Multiple retrievals are OK — for complex charts or multi-concept questions, run kb_retrieve.py more than once with different keyword combinations.
Probability tiers (5 levels, semantic only) — use exactly these names; do NOT expose internal percentages to users:
| Tier | 中文 | Meaning |
|---|---|---|
very_high | 很高 | Dominant scenario; strong rule-based confirmation |
high | 较高 | Primary plausible scenario; most rules confirm |
medium | 中等 | Plausible but partial rule confirmation |
low | 较低 | Edge case; speculative |
very_low | 很低 | Tail risk; mentioned for completeness only |
Non-trading content — if the image or question is not about trading, say so and stop.
Use the host-neutral placeholders defined above. OpenClaw can resolve
<SKILL_ROOT> from {baseDir} and Hermes from ${HERMES_SKILL_DIR}; on other
hosts resolve it from the loaded SKILL.md. Do not execute an undefined
${SKILL_DIR} variable or assume that a virtual environment is on PATH.
| Tool | Purpose |
|---|---|
scripts/kb_retrieve.py "<query>" --layer school --schools ICT SMC --top-k 5 | Default/School-scoped retrieval from attributable School projections |
scripts/kb_retrieve.py "<query>" --layer evidence --sources <SOURCE> | Exact source-evidence retrieval; optionally combine with --schools and --type |
scripts/kb_klines.py resolve "<name>" | Natural name → canonical asset spec |
scripts/kb_klines.py fetch --query "<name>" --interval <tf> --with-htf | Pull real OHLCV (+ HTF) from Mobius API |
scripts/kb_klines.py parse --input <file> | Parse pasted CSV/JSON/Markdown → standard OHLCV |
scripts/kb_klines.py analyze --input <ohlcv.json> | Extract features (swing/FVG/OB/sweep/displacement/structure). Add --format json to get structured features + suggested_overlay_items |
scripts/kb_klines.py chart --query <name> --interval <tf> | Pull K-lines and auto-fill the SMC structural overlay for an ict_smc route; use --no-auto-overlay for an empty overlay |
scripts/kb_klines.py render --input <panels.json> --output <png> | Render panels JSON → PNG via Playwright + lightweight-charts (TradingView-grade chart) |
scripts/kb_klines.py indicators --query <name> --interval <tf> | Default: fetch the SMC structural indicator (BOS/CHoCH, Order Blocks, FVGs, equal H/L, premium/discount zones, trailing pivot labels). Pass --inds <exact-name> only when the user explicitly named a specific indicator. Text output only, NOT rendered on chart. |
scripts/kb_draw_annotation.py --json <path> | Render annotation JSON onto chart (PIL, for user-uploaded images) |
scripts/kb_phase_b_to_c.py --input <analysis.json> --image <png> --output <annotated.png> | Convert analysis JSON → annotated image (one shot) |
scripts/build_knowledge_v2.py | Audit/export deterministic School projections and exact-source evidence |
scripts/build_index.py | Build canonical + independently embedded v2 collections; unchanged v2 documents reuse the local content cache |
scripts/kb_doctor.py | Environment health check (run if anything's broken) |
Common options for scripts/kb_retrieve.py:
--top-k N (default 5)--type concept|case (filter by card type)--layer canonical|school|evidence (canonical is compatibility-only for strict routing)--schools <NAME...> (multi-value OR filter; default route uses --layer school --schools ICT SMC)--school <NAME> (single-school compatibility form)--sources <NAME...> (exact OR filter; evidence layer only)--exclude-schools <NAME...> (hard exclusion)--all-schools (explicitly unscoped retrieval; never an automatic fallback)--search-mode auto|hybrid|semantic|lexical (auto uses hybrid for v2;
lexical does not load the embedding model)--max-per-canonical N (v2 default 2; 0 disables diversity limiting)--list-schools / --explain-scope (no embedding model load)--format markdown|json|compact© MobiusQuant, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2,115 other files (scripts) in the repository root of MobiusQuant/OpenMobius-skill.
Open the folder on GitHubat commit 4c1cffc
Openmobius Skill 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 |
|---|---|---|---|---|---|---|
| Openmobius Skill this skillMobiusQuant/OpenMobius-skill | 695 | — | ~7.2k | Automated safety check: Pass | Apache-2.0 | |
| Market Environment Analysistradermonty/claude-trading-skills | 3k | 3 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Moonpay Discover Tokensmoonpay/skills | 113 | — | ~624 | Automated safety check: Pass | MIT | |
| Mx Finance Datahiboys/ExploreFinance | 365 | — | ~518 | Automated safety check: Pass | None | |
| Minara Crypto Trading and WalletMinara-AI/minara-skills | 356 | — | ~5.7k | Automated safety check: Pass | None | |
| Market AnalysisYicunAI/Pnlclaw-community | 197 | — | ~364 | Automated safety check: Pass | AGPL-3.0 |
tradermonty/claude-trading-skills
Comprehensive market environment analysis and reporting tool.
moonpay/skills
Search for tokens, check prices, get trading briefs, and evaluate risk.
hiboys/ExploreFinance
基于东方财富数据库,支持自然语言查询金融数据,覆盖A港美、基金、债券等多种资产,含实时行情、公司信息、估值、财务报表等,可用于投资研究、交易复盘、市场监控、行业分析、信用研究、财报审计、资产配置等场景,适配机构与个人多元需求。返回结果包含数据说明及 xlsx 文件。Natural language query for financial data across all markets…
Minara-AI/minara-skills
Drives the Minara CLI for crypto swaps, perps, limit orders, wallet transfers, deposits and withdrawals, plus AI market analysis.
YicunAI/Pnlclaw-community
Analyzes current market state and short-term trends using ticker, candle, and narrative context
Signal-Execution-Labs/forex-trading-ai-agent
Complete market analysis for Crypto, Forex, and Stocks with RSI, MACD, trends, and trading recommendations.
Categories
Provides multi-school trading Q&A, chart/OHLCV analysis, annotation, and fresh-market workflows covering ICT/SMC, ChanLun, Wyckoff, Price Action, Order Flow, VSA, and Elliott Wave. Openmobius Skill is an agent skill from MobiusQuant/OpenMobius-skill. Provides multi-school trading Q&A, chart/OHLCV analysis, annotation, and fresh-market workflows covering ICT/SMC, ChanLun, Wyckoff, Price Action, Order Flow, VSA, and Elliott Wave.
Openmobius Skill fits situations like: trading concepts; capability-discovery questions about available analysis lenses; attached charts; chart annotation.
Run `npx skills add MobiusQuant/OpenMobius-skill --skill openmobius-skill -a claude-code`. Or copy the skill folder (the MobiusQuant/OpenMobius-skill repository) into .claude/skills/openmobius-skill in your project. Claude Code loads it when a task matches its description.
Run `npx skills add MobiusQuant/OpenMobius-skill --skill openmobius-skill -a codex`. Or copy the skill folder (the MobiusQuant/OpenMobius-skill repository) into .agents/skills/openmobius-skill 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 MobiusQuant/OpenMobius-skill --skill openmobius-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openmobius-skill, .gemini/skills/openmobius-skill, .github/skills/openmobius-skill and .opencode/skills/openmobius-skill in your project.
SKILL.md names no scripts, command-line tools or credentials: Openmobius Skill is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: mobiusquant.ai; the agent is likely to contact it when it follows the instructions. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Openmobius Skill is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.2k tokens (SKILL.md is roughly 29k 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 Openmobius Skill: Market Environment Analysis (tradermonty/claude-trading-skills, 3k stars), Moonpay Discover Tokens (moonpay/skills, 113 stars), Mx Finance Data (hiboys/ExploreFinance, 365 stars) and Minara Crypto Trading and Wallet (Minara-AI/minara-skills, 356 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
MobiusQuant (a GitHub user) maintains it in MobiusQuant/OpenMobius-skill, which has 695 GitHub stars. The repository was last updated on September 4, 2026.
Source: MobiusQuant/OpenMobius-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.