market-pattern — Claude Code skill: candlestick pattern detection
Scans ingested OHLCV data for candlestick patterns, classifies each by type and reliability, and stores the result in memory.
npx skills add ruvnet/ruflo --skill market-pattern -a claude-codeWhat market-pattern does
The skill walks candle sequences looking for familiar shapes: doji, hammer, inverted hammer, bullish and bearish engulfing, morning and evening star, three white soldiers, three black crows, plus head & shoulders, double top and bottom, and cup & handle. Every hit gets a name, a type (reversal or continuation), a direction, and a reliability score from 0.0 to 1.0. Results come back sorted by that score.
It does not collect data. Candles have to be ingested first through market-ingest, otherwise there is nothing to scan. Reads go through mcp__plugin_ruflo-core_ruflo__memory_search or memory_list on the market-data namespace: the memory_* family routes by namespace, while agentdb_hierarchical-* routes by tier, so namespaced reads need memory_*.
Storage has two paths. The typed one uses mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store with type: 'market-pattern' and no namespace argument, since ReasoningBank handles routing; if the bridge is unavailable the fallback writes to the reserved pattern namespace with controller: 'memory-store-fallback'. The plain path is memory_store --namespace market-patterns, which does respect the namespace. The call takes a symbol and an optional period: <symbol> [--period 1D].
What it helps with
- spot doji and hammer shapes in ingested candles
- tell a reversal pattern from a continuation one
- rank detected patterns by reliability score
- store a pattern annotation under a key
- review pattern history for one symbol and period
Example prompts for the agent
- Find candlestick patterns for
AAPLon the1Dperiod - Run
market-patternonBTC-USDand sort by reliability - Store the detected pattern in the
market-patternsnamespace
How to install market-pattern
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill market-pattern -a claude-code2Manually: put the files in place
~/.claude/skills/market-pattern/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/market-pattern/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill market-pattern -a codex2Manually: put the files in place
.agents/skills/market-pattern/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill market-pattern -a cursor2Manually: put the files in place
.cursor/skills/market-pattern/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo market-pattern2Manually: put the files in place
.github/skills/market-pattern/SKILL.md1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill market-pattern -a gemini-cli2Platform CLI
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-market-data/skills/market-patternManually: put the files in place
.devin/skills/market-pattern/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill market-pattern -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about market-pattern
How do I install market-pattern in Claude Code?
Run npx skills add ruvnet/ruflo --skill market-pattern -a claude-code. The skill file lands at ~/.claude/skills/market-pattern/SKILL.md.
What does market-pattern do?
It scans ingested OHLCV data for candlestick patterns, assigns each one a type, direction and reliability score, sorts by reliability, and stores the result in memory.
Why does the skill find nothing?
Data must be ingested first via market-ingest. Without that, the market-data namespace holds no candles for the symbol and period.
Source text
SKILL.md · MIT
---
name: market-pattern
description: Detect and classify candlestick patterns from ingested OHLCV data
argument-hint: "<symbol> [--period 1D]"
allowed-tools: mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__memory_list mcp__plugin_ruflo-core_ruflo__memory_store mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search mcp__plugin_ruflo-core_ruflo__ruvllm_hnsw_route Bash
---
# Market Pattern
Scan ingested OHLCV data for known candlestick patterns, classify them by type and reliability, and store for future reference.
## When to use
When you need to identify candlestick patterns (doji, hammer, engulfing, head-shoulders, etc.) in market data. Requires data to be ingested first via `market-ingest`.
## Steps
1. **Load candles** -- call `mcp__plugin_ruflo-core_ruflo__memory_search` (or `memory_list`) on the `market-data` namespace to retrieve normalized OHLCV data for the symbol and period. The `memory_*` tool family routes by namespace; the `agentdb_hierarchical-*` family does NOT (it routes by tier), so use `memory_*` for namespaced reads.
2. **Scan for patterns** -- iterate through candle sequences looking for:
- Single-candle: doji (open ~= close), hammer (long lower wick), inverted hammer
- Two-candle: bullish/bearish engulfing
- Three-candle: morning star, evening star, three white soldiers, three black crows
- Multi-candle: head & shoulders, double top/bottom, cup & handle
3. **Classify** -- for each detection, assign: pattern name, type (reversal/continuation), direction (bullish/bearish), reliability score (0.0-1.0)
4. **Rank** -- sort by reliability score descending
5. **Store** -- two paths (per ruflo-cost-tracker ADR-0001 dual-path pattern):
- **Pattern-store (typed, recommended)**: `mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store` with `type: 'market-pattern'`. Don't pass a `namespace` arg — ReasoningBank routes it; on bridge unavailability the fallback writes to the reserved `pattern` namespace with `controller: 'memory-store-fallback'` (see ruflo-agentdb ADR-0001).
- **Plain store (namespace-routable)**: `mcp__plugin_ruflo-core_ruflo__memory_store --namespace market-patterns` — this DOES respect the `market-patterns` namespace because `memory_*` is namespace-routed.
6. **Report** -- display: pattern name, date range, direction, reliability, suggested action
## CLI alternative
```bash
npx @claude-flow/cli@latest memory search --query "bullish reversal patterns" --namespace market-patterns
npx @claude-flow/cli@latest memory store --key "pattern-AAPL-2026-05-04-doji" --value '{...}' --namespace market-patterns
```
© ruvnet · MIT · ruvnet/ruflo