← 开源
MobiusQuant

OpenMobius-skill

ICT/SMC trading-knowledge skill for AI coding agents (Claude Code / Codex / OpenClaw / Hermes)

AI EngineeringGive agent knowledgePython
在 GitHub 打开
增长势头
+324 小时新增 Star+0.4%
702
Star
59
Fork
+7
本周
1
贡献者
创建于 2026-05-19 · 更新于 2026-10-16 · 今日第 3168 名
主要开发者
oh-my-quant
README

OpenMobius-skill

Multi-school trading knowledge for AI coding agents — strict ICT/SMC market analysis by default

A SKILL.md-standard skill bringing 2008 curated knowledge cards, real-time market data, technical indicators, and chart generation to Claude Code, Codex, OpenClaw, Hermes, Cursor, and WorkBuddy.

English · 中文 · 📜 Changelog


🤖 AI agents — when a user asks you to install this skill, follow README_AGENT.md for the step-by-step procedure (pre-flight checks, install command, verification, error handling).


Community


Overview

Works on Claude Code, Codex, OpenClaw, Hermes, Cursor, and WorkBuddy.

Drop this skill into your AI coding agent and ask trading questions in plain language. Knowledge Q&A is grounded inside the selected School/source scope. Supported current-market requests pass a capability gate before adding fresh, current-turn data and computed structure; unsupported routes stop instead of silently borrowing another School's analysis.

You ask The skill does
"What analysis models can I use?" Reads the current capability registry and dynamically separates native market-analysis profiles, Q&A-only lenses, and knowledge categories; also reports strict / augment / compare, without fetching market data or presenting categories as analysis models
"What is Fair Value Gap, how to trade it?" No selector means strict ICT/SMC; retrieves only attributable ICT/SMC knowledge and answers with cited rules
"Explain 中枢 using ChanLun only" Uses the isolated 缠论 School projection; explicit selectors never silently fall back to ICT/SMC
"Explain Order Block using Wuyuan's SMC material only" Hard-filters atomic evidence by both school=SMC and source=Teach-Wuyuan; an empty intersection fails closed
"Compare ICT and ChanLun definitions of market structure" Runs separate, attributed Q&A branches; conflicting definitions remain separate
"Use SMC as primary and Wuyuan as a reference to analyze BTC 1h" Uses augment: SMC alone controls bias and trade levels; Wuyuan evidence is clearly labelled supporting context
"Analyze BTC 1h using ChanLun" Stops before market-data or chart work because no native ChanLun market analyzer exists; never relabels SMC output as ChanLun
Attach a BTCUSDT 1h chart + "analyze this" After the route passes its capability gate, readable asset/timeframe data may be refreshed and cross-checked; if the supported route cannot identify them reliably, the result stays visual-only and discloses its limits
"How is BTC 1h looking?" (no chart) Defaults to strict ICT/SMC, fetches current-turn data, runs the built-in SMC structural indicator, and generates a grounded chart unless the user opts out
"What's on BTC?" (user names a specific indicator) Pass-through to the indicator API — no auto-fetch of indicators the user did not name
Paste a CSV of OHLCV Preserves that snapshot, extracts structure locally, and never replaces it with a different live series merely to render a chart
"Generate a chart with my entry/SL/target" Rendered chart via Playwright + lightweight-charts

Quick start

OPENMOBIUS_SRC="$(mktemp -d "${TMPDIR:-/tmp}/openmobius-src.XXXXXX")"
git clone https://github.com/MobiusQuant/OpenMobius-skill.git "$OPENMOBIUS_SRC"
cd "$OPENMOBIUS_SRC"
python3 install.py --platform claude-code     # or codex / openclaw / hermes / cursor
# On Linux/macOS, `all` installs all five local-path hosts. WorkBuddy uses local ZIP import.

cd "${TMPDIR:-/tmp}"
rm -rf -- "$OPENMOBIUS_SRC"                    # ✓ exact mktemp directory only

On Windows, clone into a writable directory and run py -3 install.py --platform claude-code (or use .\install.ps1).

The installer copies source files into ~/.claude/skills/openmobius-skill/ (or your chosen platform's skills dir), then in that directory:

  1. Creates .venv/ and installs dependencies
  2. Downloads Playwright chromium (~280 MB, into your OS's user-global cache)
  3. Downloads the pinned nomic-embed-text-v1.5 weights (~547 MB / 522 MiB, into your HuggingFace cache)
  4. Loads bundled canonical vectors and the verified release seed for independent School/evidence vectors, then builds and verifies all three collections. Only locally changed or missing documents are embedded and cached.
  5. Generates the platform-specific SKILL.md
  6. Runs a health check

Each installer-managed local copy is self-contained: it owns its own .venv and _index. The clone is just a one-shot source bundle.

First run: dependency/model downloads plus seed-accelerated index build · Subsequent runs: unchanged records use the release seed or local embedding cache

After install, try capability discovery plus the default, scoped, and composed routes directly:

# Default: strict ICT/SMC
"What is Liquidity Sweep?"
"How is ETH 4h looking?"

# Discover the installed capabilities (no market-data request)
"What analysis models can I use?"

# Select an exact School or source
"Explain 中枢 using ChanLun only"
"Explain Order Block using Wuyuan's SMC material only"

# Compose or compare
"Compare ICT and ChanLun definitions of market structure"
"Use SMC as primary and Wuyuan as a reference to analyze BTC 1h"

Other Schools can scope knowledge Q&A when attributable material exists. Current-market analysis additionally requires a native analyzer; unsupported routes stop before market-data or chart work. Capability-discovery questions read the installed registry dynamically and report native market profiles, Q&A-only lenses, knowledge categories, and the available composition modes as separate concepts; they do not fetch market data or describe a category as an analysis model.

Prerequisites: Python 3.10+. See INSTALL.md for details.


Analysis lenses and routing

The skill resolves both the user's intent and analysis route before knowledge retrieval, market-data calls, or drawing:

User request
  → choose intent: Q&A / chart analysis / annotation / K-line analysis
  → resolve mode + lens + School/source scope
  → capability gate
  → scoped knowledge retrieval
  → supported market analyzer and fresh data, when required
  → grounded answer and chart, or an explicit capability-gap response

Default: when neither the current request nor an established conversation route supplies a lens, School, source, exclusion, or composition mode, the route is strict ICT/SMC. A current explicit selector overrides an inherited preference and is never silently widened or replaced.

Dimension What it controls Example
Lens/profile The methodology allowed to interpret structure and form market conclusions ict_smc; future native analyzers may add other lenses
School The attributable knowledge boundary ICT, SMC, 缠论, Wyckoff, Price Action
Source A teacher, course, or material collection Teach-Wuyuan; a source does not select a lens

Composition modes

Mode Meaning Behavior
strict Use only the selected boundary A single explicit selector is strict by default; without one, use ICT/SMC
augment Use A as primary and B as supporting context The primary lens alone owns bias, entry, stop, targets, and the primary chart; secondary contributions are labelled confirmation, challenge, or risk context
compare Compare A and B independently Supported for Q&A only in Phase 1; branches use equal queries and remain separately attributed

Current capability boundary

Selection Knowledge Q&A Market/chart/annotation
ICT and/or SMC Supported Supported by the native ICT/SMC structural analyzer
Other registered Schools/categories Supported when attributable knowledge exists Unsupported unless that School has a native analyzer
Exact source Supported as an exact evidence scope and may intersect a School Requires a separately selected, supported primary lens
Multi-School compare Supported as isolated Q&A branches Not supported in Phase 1; stops before data or artifact generation

The complete installed taxonomy is deliberately broader than the native market-analysis models:

  • Native market-analysis lens: ICT, SMC (one ict_smc analyzer).
  • Q&A knowledge lenses: 缠论, Price Action, Order Flow, Volume Analysis, Elliott Wave, Wyckoff, The Strat.
  • Knowledge categories, not analysis models: Indicator Based, Risk Management, General, On-chain, Market Structure.
  • Evidence-only category: Scalping; it occurs in attributable source evidence but is not a top-level canonical-card School.

Unknown selectors, empty strict scopes, empty School/source intersections, missing exact-filter support, missing native analyzers, and market compare requests fail closed when they affect a required strict or primary branch: the skill explains the gap and does not fall back to canonical, another School/source, or default ICT/SMC. In augment, an unavailable secondary may be omitted or labelled knowledge-only while a supported primary continues.

Follow-up annotation inherits the prior analysis route. A new explicit School/source/profile requires re-evaluating the analysis; existing levels are not merely relabelled. See the full route contract and capability matrix for aliases, precedence, partial-support rules, and exact failure behavior.


Platform support

python3 install.py --platform 
Platform Flag Default path / setup route
Claude Code --platform claude-code (default) ~/.claude/skills/openmobius-skill/
Codex --platform codex ~/.agents/skills/openmobius-skill/
OpenClaw (Linux/macOS) --platform openclaw /skills/openmobius-skill/
Hermes (Linux/macOS) --platform hermes /skills/market-data/openmobius-skill/
Cursor --platform cursor ~/.cursor/skills/openmobius-skill/
WorkBuddy local ZIP import / marketplace Skills → Add Skill → Upload Skill; published copies install from the marketplace
Auto-detect --platform auto detects supported local host roots
All local hosts (Linux/macOS) --platform all installs to the five local paths above; excludes WorkBuddy

Each local-path platform install is fully self-contained (its own .venv, its own _index). The nomic model and Playwright chromium live in your OS's user-global cache, shared across platforms — so installing on N platforms doesn't N× the download.

OPENCLAW_STATE_DIR and HERMES_HOME override the corresponding roots when set. The current OpenClaw and Hermes adapters/manifests target Linux and macOS; on Windows, select Claude Code, Codex, or Cursor explicitly instead of using --platform all. Cursor Cloud Agents, remote SSH sessions, and other remote environments do not receive local user skills from ~/.cursor/skills; place the skill in the repository's .cursor/skills/openmobius-skill/ for those environments.

WorkBuddy is not CodeBuddy. Its public documentation does not define a fixed filesystem directory that a third-party installer can write to for automatic discovery, so --platform all intentionally excludes it. Choose the workflow that matches your goal:

Goal Official route
Import this repository's local package In WorkBuddy, open Skills → Add Skill → Upload Skill, then drag or select the generated ZIP. WorkBuddy configures it after import.
Install a published Skill Open Experts · Skills · Connectors → Skills → Skill Marketplace, then click the + on its card.
Publish a Skill for other users Use the WorkBuddy Open Platform. Creation, ZIP parsing, review, and publication are separate from local import.

Build this repository's local-import ZIP with:

python3 scripts/build_workbuddy_package.py \
  --output /tmp/openmobius-skill-workbuddy.zip

The WorkBuddy Skill format currently accepts .zip packages up to 3 MB. The builder uses the conservative 3,000,000-byte boundary and fails before replacing an existing artifact if the package is too large. Local installation is complete only when the import succeeds and the Skill appears under Installed. A successful Open Platform parse or submission does not by itself mean that the Skill is installed locally or published in the marketplace.

--platform workbuddy --target-dir is available only for developer staging and validation. It does not register a locally discoverable WorkBuddy Skill and is not the normal installation route.

To fit that package-size boundary without discarding attributable knowledge, the ZIP uses a checksummed compact corpus that reconstructs all 2,144 School projections and all 18,645 exact-source evidence records. It supports lexical BM25/exact-alias retrieval with hard School and source filters using the system Python alone. A manifest binds the compact corpus, School registry, and alias map by size and SHA-256, allowing the standard retriever to run even when a read-only host forbids first-run lock-file creation. The canonical fused-card layer, vector index, embedding cache, and model seed are intentionally omitted; canonical and auto/hybrid/semantic routes fail closed in the WorkBuddy package. The ZIP does not bundle Python, create a virtual environment, or install packages. Script-backed features require Python 3.10+. WorkBuddy 4.6.3 and later can detect missing Python/Node.js from Settings and offer one-click installation; verify that the installed Python still meets this Skill's 3.10+ minimum. If no suitable Python launcher is available, script-backed knowledge/market operations must be reported unavailable. Q&A and text-market workflows need only the standard library, while PNG rendering and image annotation additionally require host-provided Playwright/Chromium or Pillow, respectively.

The implementation follows the common Agent Skills specification and each host's official documentation: Claude Code, Codex, OpenClaw, Hermes, Cursor, WorkBuddy local Skill guide, WorkBuddy Skill format/marketplace, WorkBuddy Open Platform, and WorkBuddy changelog.


Features

Knowledge base — 726 concepts + 1282 cases

Distilled from 300+ teaching videos and live lessons across 12 curated source collections, cross-merged with model-audited term fusion and content-level deduplication. Across concept and case cards there are 14 top-level School/category labels: ICT, SMC, Price Action, Indicator Based, ChanLun (缠论), Risk Management, General, Order Flow, Volume Analysis/VSA, Elliott Wave, Wyckoff, The Strat, On-chain, and Market Structure. The registry exposes 15 retrievable labels in total: those 14 top-level labels plus the non-canonical, source-evidence-derived Scalping category. Each concept card carries: identification rules, trading implications, common mistakes, related concepts, per-source definitions. Each case card carries: market context, key observation, analysis steps, lessons, and source time-range provenance. Retrieved via local ChromaDB + multilingual nomic-embed-text-v1.5 — no API key needed for retrieval.

The index exposes three layers with different roles:

Layer Records Role
Canonical 2,008 Backward-compatible fused exploration; never proof of strict School isolation
School 2,144 Exact School-scoped Q&A and grounding
Evidence 18,645 Atomic source scope and exact School/source/type intersections

School and evidence content is included only when it can be safely attributed. Ambiguous cross-School fused rules are skipped and counted, not guessed. See knowledge-base architecture for the data model, registry, schemas, and rebuild process.

Each School/evidence record now has an embedding of its own scoped document; vectors are cached by exact content hash and model identity, so incremental updates embed only misses. v2 queries default to hybrid retrieval: BM25 and semantic candidates are generated inside the hard-filtered scope and fused by reciprocal rank, while exact canonical-term/alias matches remain first. Use --search-mode lexical for a model-free search or --search-mode semantic for the vector-only baseline.

Real-time data + 60+ indicators

Crypto (Binance, Bybit, OKX, Hyperliquid), China A-shares, Hong Kong stocks, US stocks, forex. Each indicator carries built-in analysis dimensions (summary_focus) that the agent reads to structure its answer rather than dumping raw numbers.

Two chart-generation paths

Path Method Output
Annotate user's image PIL Annotated copy preserving the original chart
Generate fresh chart lightweight-charts in headless chromium New K-lines + FVG/OB rectangles + sweep lines + swing markers

Intent routing + analysis-profile routing

The SKILL.md description field triggers on natural-language questions. The skill first identifies the user's intent, then resolves the independently selected analysis profile before executing the workflow.

Intent Typical trigger Workflow
Knowledge Q&A Concept, definition, rule, or comparison without a chart/data request Q&A
Chart analysis An attached trading chart plus a request to analyze it Analyze
Annotation An explicit request to draw, or an annotation follow-up Annotate
K-line analysis Pasted OHLCV, or an asset + timeframe market request K-lines

Intent and analysis profile are separate: the same Q&A workflow can run in strict, augment, or compare mode, while the capability gate decides whether a requested market workflow has a native analyzer. An annotation follow-up inherits the prior route; changing a selector explicitly causes a fresh analysis rather than relabeling the previous result.


Roadmap

Knowledge base

  • ICT/SMC coverage completion — Rounds 1–2 distilled the ICT trunk plus SMC supplements from 300+ teaching videos; upcoming rounds complete ICT sub-schools (Inner Circle Mentorship, Silver Bullet, Power of 3 variants) and full SMC coverage.
  • Fundamental knowledge base — interpretation methodologies for news, policy reads, economic releases (CPI / NFP / FOMC) and earnings seasons.
  • Multi-school coverage deepening — Wyckoff, VSA/Volume Analysis, Price Action, ChanLun (缠论), and other Schools are already retrievable; upcoming rounds deepen their coverage, provenance, and attribution quality.
  • Native multi-school analyzers — knowledge scope is not the same as a market-analysis engine. New School-native profiles and overlays will be added before market compare expands beyond Q&A.

Indicators & tools

  • Expanded SMC indicator coverage — the built-in SMC structural indicator covers BOS/CHoCH, Order Blocks, FVGs, equal H/L, premium- discount zones and strong/weak pivot labels today. Upcoming: Killzone windows, Stop Run / Inducement events, and per-event probability scoring as computable signals.

Access surfaces

  • Non-CLI entry points — chat-bot integrations for users who don't run a coding agent, so the knowledge base is reachable without the CLI.

Architecture

OpenMobius-skill/
├── SKILL.md                          # main entry (LLM reads this)
├── SKILL.body.md                     # shared body (platform-neutral)
├── platforms/                        # per-platform frontmatter
│   └── claude-code.yaml / codex.yaml / openclaw.yaml / hermes.yaml / cursor.yaml / workbuddy.yaml
├── agents/
│   └── openai.yaml                      # Codex UI and invocation metadata
├── workflows/
│   ├── qna.md / analyze.md / annotate.md / klines.md  # intent workflows
│   └── analysis_profiles.md          # route contract + capability gate
├── scripts/                          # CLI tools
│   ├── kb_retrieve.py                # hard-scoped hybrid retrieval
│   ├── kb_klines.py                  # API client + feature extraction
│   ├── kb_draw_annotation.py         # PIL annotation
│   ├── kb_phase_b_to_c.py            # analysis JSON → annotated PNG
│   ├── build_knowledge_v2.py         # audit/export School + source-evidence records
│   ├── build_index.py                # build all three vector collections
│   ├── export_v2_embedding_seed.py   # publish verified native-vector shards
│   ├── build_workbuddy_package.py    # deterministic WorkBuddy local-import ZIP builder
│   ├── evaluate_retrieval.py         # reproducible retrieval benchmark
│   ├── kb_doctor.py                  # env health check
│   ├── chart_render/                 # lightweight-charts + headless chromium
│   └── _lib/                         # embedder + retriever
├── evals/                            # versioned retrieval cases + baseline reports
├── knowledge_base/                   # cards + registry + schemas + release seed
├── install.py                        # cross-platform installer
└── README.md / INSTALL.md

Update / Uninstall

# Update
python3 install.py --update
python3 install.py --update --rebuild-index    # also rebuild vector index

# Uninstall the entire self-contained platform install (.venv + index included)
python3 install.py --uninstall
python3 install.py --uninstall --platform all  # Linux/macOS: all five local hosts

# Full purge (also delete shared chromium + nomic caches — these may be
# used by other projects on your machine, so confirm before running)
python3 install.py --uninstall --purge --yes-i-know

--full is still accepted for backward compatibility, but is deprecated and has no effect: standard uninstall already removes .venv and the vector index.

See INSTALL.md for all flags.


Troubleshooting

.venv/bin/python scripts/kb_doctor.py

Reports the state of: venv, deps, nomic model, vector index, CJK fonts, skill registration, API connectivity.

Common issues:

Symptom Fix
Chinese labels render as boxes Install fonts-noto-cjk (Linux); macOS/Windows usually bundled
API request fails Check network; see api.mobiusquant.ai/api/health
Skill not auto-invoking in Claude Code Check ~/.claude/skills/openmobius-skill exists. Claude Code watches an existing skills directory live; if that top-level directory was newly created, start a new session.
Skill missing in Codex Check ~/.agents/skills/openmobius-skill exists; restart Codex
Skill missing in OpenClaw or Hermes Check the effective OPENCLAW_STATE_DIR or HERMES_HOME, then run kb_doctor.py from that installed copy
Cursor Cloud/remote cannot see the user skill Copy/install it under the repository's .cursor/skills/openmobius-skill/; local ~/.cursor/skills is not synchronized
WorkBuddy cannot discover a local folder Do not guess a local path. Build the ZIP, then use Skills → Add Skill → Upload Skill and select it; confirm it appears under Installed
chroma.sqlite3 not found .venv/bin/python scripts/build_index.py
ChanLun/Wyckoff market analysis stops These Schools are retrievable for Q&A but do not yet have a native market analyzer; use Q&A or a supported lens
Market compare stops before fetching data Phase 1 supports compare for Q&A only; this is the capability gate working as designed

License

Apache 2.0 — see LICENSE. Third-party components: see ATTRIBUTION.md.

Contributing

Issues and PRs welcome at .

Built for AI coding agents · Apache 2.0

排名相邻
同类项目