marketcalls/openalgo-charts/openalgo-chart-debug

Claude Code and agent skill by marketcalls/openalgo-charts

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Diagnose an openalgo-charts problem - blank or invisible chart, bars in the wrong place, unknown series type or indicator errors, misaligned indicators, drawings that drift, a chart that will not repaint or resize, live ticks not appearing, linked charts out of step, stale cached prices, an unknown interval code, or a broken bundle import. Use when a chart is not behaving as expected.

Install

npx vskill@latest install marketcalls/openalgo-charts/openalgo-chart-debug

SKILL.md

Diagnose before changing anything. Most openalgo-charts bugs are one of a small set of known causes, and guessing at a fix usually adds a second bug on top of the first.

Step 1 - ground yourself in the actual install

sh
node -p "require('./node_modules/openalgo-charts/package.json').version" 2>/dev/null || echo "not a consumer app"
rg -n "from 'openalgo-charts" src app --glob '!node_modules'

You need the version and the exact set of tier imports before you can reason about anything. Never diagnose from memory of the API.

Step 2 - match the symptom

SymptomFirst suspectConfirm
Nothing renders, no errorcontainer has zero heightinspect the element's computed height
Nothing renders after setDatadata is empty, or times are not numberslog series.getData().length and the first item
Bars bunched at the far left or righttime is in millisecondsa value above 1e12 is milliseconds
Bars overlap or a candle draws twicetwo bars share a timetimes must be unique and ascending per series
Axis and crosshair show the wrong hoursthe chart is on its default zone, Asia/Kolkatachart.timezone(); set timezone or call setTimezone
VWAP restarts mid-afternoon, or a pivot frame spans two sessionsthe chart's zone is not the instrument'schart.timezone(); a timeFormatter relabels but does not move the calendar
unknown series type "kagi"transform tier not importedrg "openalgo-charts/transform"
addIndicator throwsindicators tier not importedrg "openalgo-charts/indicators"
A tier is imported but its feature is missingdeep import created a second registrycheck for any path containing /dist/ or /src/ in an import
Indicator plots misaligned with priceindicator on a different data set, or bar times differcompare the first and last bar times
Series fills or is squashed into part of the paneprice-scale marginsmargins are fractions of pane height, not data span
A volume overlay swallows the price seriesoverlay scale marginspriceScaleId: '' plus marginTop
Drawings drift after zoom or a session gapanchors stored in pixelsanchors must be { time, price }
A drawing shortcut does nothingthe library installs no key listenerthe host must call matchDrawingShortcut
Chart does not resizeno ResizeObserver, or container is not measurablecall chart.applySize(w, h) manually
Custom primitive is blurry or offsetmedia px not multiplied by dprinspect the draw implementation
Live ticks never appearsubscription filter, or the builder was never seededlog inside the tick handler before the builder
Live candle duplicates the last history barbuilder started unseededpass seedFrom: lastHistoryBar
Hidden-tab chart opens at the wrong zoomold initial-size handling or an explicit host fit2.1.3 defers its first fit; inspect applySize, navigation.defaultVisibleBars and later host writes
Drawing preview disappears past the last candle, or a future freehand stroke is discardedno hovered bar time in empty chart space2.1.5 maps the pointer through coordinateToTime; custom drawing hosts must provide it. Keep candle/tooltip time null where no bar exists
Plot drags stop vertical movementexplicit or saved horizontal preference, including a 2.1.3 layout2.1.4 defaults to 'both'; select Axes > Mouse drag > Time and price or set navigation.mousePan: 'both', preserving other preferences
Time-axis drag behaves differently on one pagestale copied or bundled runtimeleft expands, right compresses; compare deployed bundle hashes and run the website navigation check
Replay suddenly reveals future barsa host history/polling/reconnect writer bypasses replayinspect every setData, update and prependData; see host integration
Old symbol data or resources return after closingstale async continuationverify generation, chart identity and disposed state after every await
Custom indicator intermittently missing on a split paneregistration marked ready before imports finishawait one shared pending registration promise
Chart snaps to the right edge on every updatesetData called per tickuse series.update(bar)
Viewport jumps when older history loadsre-fitting after prependprependData preserves the window; do not fitContent
A linked crosshair marks the wrong bara logical index was copied between chartsit lines up only while both charts hold identical bars; the sync must convert index to time and back
Linked charts show different periods after a panthe same index copy, on the viewportuse the group, or followerRange, never setVisibleLogicalRange(other.getVisibleLogicalRange())
A linked chart shows no crosshair at allthe instant is outside its coverage, or whenMissing: 'hide'group.crosshairIndex(chart) returns null; an instant past its first/last bar is refused by design
Symbol sync changes nothingno onSymbol on the member, or the host never reports the changethe engine has no instrument concept; check both halves
The last price is stale after switching symbols and backa cache serving the forming barwithBarCache never stores it; a hand-rolled cache usually does
Every load is cold out of hoursto is "now", past the entry's coveragecap to at the newest bar the session table says can exist
UnknownIntervalError at subscribe timethe interval code is not built in and was never registeredit is the intended behaviour, not a regression; registerInterval or fix the code
A monthly chart buckets into minutesintervalToSeconds on a calendar codeit throws now; use resolveInterval + bucketStartOf
A cut deleted nothing, or copied "into the void"the async result was not awaitedawait draw.cut() and check the boolean; read draw.clipboard().lastError()
Orders do not reach the brokerwrong layerchart.trading is visualization only
Blank page in Next.js or SSRchart created during server renderclient-only component, create in an effect
Bare specifier fails in the browserno bundler resolutiona path into dist/, an import map, or the script-tag files
openalgo-charts.<tier>.standalone.js needs ... loaded before ita script-tag tier loaded before the base, or the widget before the draw tierload the files in the order the message names, each once
ERR_REQUIRE_ESM from require('openalgo-charts')a Node older than 20.19 or 22.12 cannot require ESMawait import('openalgo-charts'), or a newer Node

pitfalls has the full verified list with the reason behind each. Host integration covers request ownership, replay and lifecycle checks.

Step 3 - read the console

The library throws named errors that identify the cause precisely rather than failing silently. Quote the exact message back to the user; it usually names the missing tier or the unknown id. Do not paraphrase it.

Step 4 - narrow with the smallest possible repro

Strip to a chart, one series, and static bars. If that renders, add back one thing at a time. This resolves ambiguous cases faster than reading more of the host's code.

ts
import { createChart, generateBars } from 'openalgo-charts';
const chart = createChart(el);
chart.addSeries('candlestick').setData(generateBars(1700000000, 200, 3600));
chart.fitContent();

If generateBars renders and the user's data does not, the bug is in the data, not the chart.

Step 5 - report

State the cause, the evidence you have for it, and the one-line fix. If you could not reproduce or could not confirm the cause, say so rather than offering a speculative fix - a wrong fix to a charting bug is expensive to unwind.

Do not apply changes unless the user asked you to fix it, not just diagnose it.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
5

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/marketcalls/openalgo-charts/openalgo-chart-debug/badge)](https://verified-skill.com/skills/marketcalls/openalgo-charts/openalgo-chart-debug)

Something wrong with this skill or its page? Tell us.