openmobius-skill is a Claude Code plugin with 1 hand-picked skill, indexed on Flowy in the Finance category.
$ npx -y skills add MobiusQuant/OpenMobius-skill --agent claude-code
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.
🤖 AI agents — when a user asks you to install this skill, follow
README_AGENT.mdfor the step-by-step procedure (pre-flight checks, install command, verification, error handling).
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 |
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:
.venv/ and installs dependenciesnomic-embed-text-v1.5 weights (~547 MB / 522 MiB, into your HuggingFace cache)SKILL.mdEach 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.
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 |
| 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 |
| 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:
ICT, SMC (one ict_smc analyzer).缠论, Price Action, Order Flow,
Volume Analysis, Elliott Wave, Wyckoff, The Strat.Indicator Based,
Risk Management, General, On-chain, Market Structure.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.
python3 install.py --platform <name>
| 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 | <OPENCLAW_STATE_DIR or ~/.openclaw>/skills/openmobius-skill/ |
| Hermes (Linux/macOS) | --platform hermes | <HERMES_HOME or ~/.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
openmobius-skill is a Claude Code plugin with 1 hand-picked skill, indexed on Flowy in the Finance category. Install it with the command on its page. It includes OpenMobius-skill. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it