Agent skill

Openalgo Chart Plugin

by marketcalls in marketcalls/openalgo-charts

Extend openalgo-charts with a custom primitive, drawing tool, chart type, or indicator descriptor.

Apache-2.0Auto-check: notes

Install Openalgo Chart Plugin

skills CLI
$ npx skills add marketcalls/openalgo-charts --skill openalgo-chart-plugin -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install marketcalls/openalgo-charts openalgo-chart-plugin --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/marketcalls/openalgo-charts.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/openalgo-chart-plugin .claude/skills/openalgo-chart-plugin && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
openalgo-chart-plugin
GitHub stars
144
Token cost
~1.1k tokens
SKILL.md length
467 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
Apache-2.0

At a glance

Extend openalgo-charts with a custom primitive, drawing tool, chart type, or indicator descriptor.

  • Works in 5 steps: pick the extension point → read the contract before writing → the rules that make it correct → …
  • The user wants a custom overlay
  • SKILL.md covers Step 1 - pick the extension…, Step 2 - read the contract…, Step 3 - the rules that make… and Step 4 - minimum viable…, plus 1 more section
  • Calls npx and rg

What it does

Openalgo Chart Plugin is an agent skill from marketcalls/openalgo-charts. Extend openalgo-charts with a custom primitive, drawing tool, chart type, or indicator descriptor. Use when the user wants a custom overlay, annotation, band, zone, marker layer, hand-drawn tool, or a series style the library does not ship.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Production-grade charts built for brokers, exchanges, trading platforms, and financial portals. Bring your own market data, plug it in, and deliver a complete charting experience… The licence is Apache-2.0.

When your agent uses it

  • The user wants a custom overlay
  • Hand-drawn tool
  • A series style the library does not ship

Example prompts

  • “/openalgo-chart-plugin”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash, Glob, Grep

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. pick the extension point
  2. read the contract before writing
  3. the rules that make it correct
  4. minimum viable primitive
  5. test it

What it can do on your machine

Read from SKILL.md and the folder at commit 8b4cffe. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • rg

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Openalgo Chart Plugin loads about 1.1k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 467 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~66
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Bash, Glob, Grep

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from marketcalls/openalgo-charts at commit 8b4cffe, republished under its Apache-2.0 licence (© marketcalls). 467 words, ~1,124 tokens.

Download SKILL.mdSave it as .claude/skills/openalgo-chart-plugin/SKILL.md (or your agent's skills folder).
name
openalgo-chart-plugin
description
Extend openalgo-charts with a custom primitive, drawing tool, chart type, or indicator descriptor. Use when the user wants a custom overlay, annotation, band, zone, marker layer, hand-drawn tool, or a series style the library does not ship.
allowed-tools
Read, Write, Edit, Bash, Glob, Grep
argument-hint
[what-to-build]

Extend the engine. Everything extensible in this library is a registry entry or a primitive - there is no plugin loader and no core file to edit.

Step 1 - pick the extension point

Answer these in order and stop at the first yes.

QuestionBuild
Does it need its own data, autoscale and price-scale identity?a chart type via registerChartType
Is it a shape the user places with clicks and drags later?a drawing tool via registerDrawingTool
Is it a number computed per bar that should get a pane, legend row and settings?an indicator via registerIndicator
Anything else that draws - band, zone, label, watermark, custom axis markera primitive via IPrimitive

Default to a primitive. It is the cheapest and most flexible. Reach past it only when the table above says to.

Step 2 - read the contract before writing

Confirm the interface shape against local typings before writing an implementation:

sh
rg -n "interface IPrimitive|interface RendererEntry|interface DrawingTool|interface IndicatorDescriptor" \
  node_modules/openalgo-charts/dist/index.d.ts node_modules/openalgo-charts/dist/draw/index.d.ts

Step 3 - the rules that make it correct

  1. Draw in bitmap pixels. The canvas context is scaled to the device. Multiply every media-px value by ctx.dpr before you draw, or the result blurs and drifts on HiDPI displays. This is the single most common mistake.
  2. Anchor in data space, not pixels. Store { time, price } and convert at draw time. The time axis is gapless, so a pixel anchor slides the moment a session gap collapses or the user zooms.
  3. Pick the right z-order. 'bottom' draws behind the series, 'normal' over it on the base canvas, 'top' on the overlay canvas which repaints on cursor moves. Anything that follows the pointer belongs on 'top'; anything static does not, or you will repaint it on every mouse move.
  4. autoscaleInfo runs every layout pass. Return a cheap precomputed extent; do not scan your data there.
  5. Give hit-testable primitives a stable externalId. Clicks and drags route back to you through it.
  6. Clean up in detached. Timers, subscriptions, cached bitmaps.
  7. Register into the package entry, never a deep path. A deep import creates a second registry Map and your registration becomes invisible to createChart. See bundling-and-tiers.
  8. Register before use. For a chart type, before the addSeries call that names it.
  9. No emojis or icons in drawn text or logs.
Show full SKILL.md (82 more words)Show less

Step 4 - minimum viable primitive

ts
import type { IPrimitive, PrimitiveRenderContext } from 'openalgo-charts';

class Band implements IPrimitive {
  constructor(private lo: number, private hi: number) {}
  zOrder() { return 'bottom' as const; }
  draw(g: CanvasRenderingContext2D, ctx: PrimitiveRenderContext) {
    const dpr = ctx.dpr;
    const y1 = ctx.priceScale.priceToY(this.hi) * dpr;
    const y2 = ctx.priceScale.priceToY(this.lo) * dpr;
    g.fillStyle = 'rgba(80,140,255,0.12)';
    g.fillRect(0, y1, ctx.plotWidth * dpr, y2 - y1);
  }
  autoscaleInfo() { return { min: this.lo, max: this.hi }; }
}

chart.addPrimitive(new Band(99, 101), 0);

Confirm every member name against the typings before shipping this shape - the reference file documents the interface, but dist/index.d.ts is authoritative.

Step 5 - test it

The repo's own tests are the pattern to copy. Look at tests/primitives.test.ts, tests/draw-tier.test.ts and tests/chart-types.test.ts for how a canvas-free unit test asserts draw calls and hit-testing. A plugin with no test is not done.

sh
npx vitest run
npx tsc --noEmit

Report the extension point you chose and why, the file you created, and the test that covers it.

© marketcalls, 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

Files

Just SKILL.md in .github/skills/openalgo-chart-plugin of marketcalls/openalgo-charts.

Open the folder on GitHubat commit 8b4cffe

Compare with similar skills

Openalgo Chart Plugin 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.

Openalgo Chart Plugin compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Openalgo Chart Plugin this skillmarketcalls/openalgo-charts144—~1.1kAutomated safety check: NotesApache-2.0
Chart Visualizationbytedance/deer-flow84k2 repos~840Automated safety check: PassMIT
Working With ChartsPostHog/posthog40k—~948Automated safety check: PassCustom licence
Chart Indicatormarketcalls/openalgo2.8k—~8.7kAutomated safety check: NotesAGPL-3.0
Helm Chartssickn33/agentic-awesome-skills47k1 repos~2.6kAutomated safety check: PassMIT
Draw Iodavila7/claude-code-templates32k1 repos~1.9kAutomated safety check: PassMIT

Similar skills

  • Chart Visualization

    bytedance/deer-flow

    Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.

    84k GitHub starsUsed in 2 repos~840 tokens
    Data & AnalyticsAuto-check passed
  • Working With Charts

    PostHog/posthog

    Official

    Guides consumers of @posthog/quill-charts through chart selection, data, themes, sizing, and composition.

    40k GitHub stars~948 tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Chart Indicator

    marketcalls/openalgo

    Build a custom indicator for the OpenAlgo /trading charting terminal (openalgo-charts).

    2.8k GitHub stars~8.7k tokensUpdated today
    Business, Finance & HRAuto-check: notes
  • Helm Charts

    sickn33/agentic-awesome-skills

    Create, manage, and deploy Helm charts for Kubernetes package management.

    47k GitHub starsUsed in 1 repo~2.6k tokens
    DevOps & CloudAuto-check passed
  • Draw Io

    davila7/claude-code-templates

    draw.io diagram creation, editing, and review. An agent skill from davila7/claude-code-templates.

    32k GitHub starsUsed in 1 repo~1.9k tokens
    DevelopmentAuto-check passed
  • Claim Chart

    anthropics/claude-for-legal

    Official

    Build or review an element chart — a patent claim chart (infringement, invalidity, or review) or a civil element chart for any cause of action or defense — with every cell pin-cited and gap…

    9.6k GitHub starsUsed in 2 repos~10k tokens
    Legal & ComplianceAuto-check passed

More from marketcalls/openalgo-charts

  • Openalgo Chart Debug

    marketcalls/openalgo-charts

    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…

    144 GitHub stars~2.1k tokensUpdated 8 days ago
    Auto-check: notes
  • Openalgo Chart Indicator

    marketcalls/openalgo-charts

    Add a built-in openalgo-charts indicator, restyle it, build a settings UI from its descriptor, or author a custom indicator with registerIndicator or the Tier-2 external-data contract.

    144 GitHub stars~3.4k tokensUpdated 8 days ago
    Auto-check: notes
  • Openalgo Chart Setup

    marketcalls/openalgo-charts

    Scaffold a working openalgo-charts chart in an existing project - detects the host (React, Next.js, Vue, vanilla bundler, or plain script tag), installs the right tiers, and writes a chart that…

    144 GitHub stars~1.4k tokensUpdated 8 days ago
    Auto-check: notes
  • Openalgo Chart Terminal

    marketcalls/openalgo-charts

    Build a full trading terminal on openalgo-charts - symbol search, interval switcher, chart-type picker, indicator menu, drawing rail with clipboard, live OpenAlgo REST plus WebSocket data behind a…

    144 GitHub stars~3.8k tokensUpdated 8 days ago
    Auto-check: notes
  • Openalgo Charts

    marketcalls/openalgo-charts

    A skill your agent uses when building, configuring, extending or debugging openalgo-charts in a consumer app or the source repository, including chart navigation, drawing tools, indicators…

    144 GitHub stars~7.6k tokensUpdated 8 days ago
    Auto-check passed

Questions about Openalgo Chart Plugin

What does Openalgo Chart Plugin do?

Extend openalgo-charts with a custom primitive, drawing tool, chart type, or indicator descriptor. Openalgo Chart Plugin is an agent skill from marketcalls/openalgo-charts. Extend openalgo-charts with a custom primitive, drawing tool, chart type, or indicator descriptor.

When should I use Openalgo Chart Plugin?

Openalgo Chart Plugin fits situations like: the user wants a custom overlay; hand-drawn tool; A series style the library does not ship.

How do I install Openalgo Chart Plugin in Claude Code?

Run `npx skills add marketcalls/openalgo-charts --skill openalgo-chart-plugin -a claude-code`. Or copy the skill folder (.github/skills/openalgo-chart-plugin in marketcalls/openalgo-charts) into .claude/skills/openalgo-chart-plugin in your project. Claude Code loads it when a task matches its description.

How do I install Openalgo Chart Plugin in Codex?

Run `npx skills add marketcalls/openalgo-charts --skill openalgo-chart-plugin -a codex`. Or copy the skill folder (.github/skills/openalgo-chart-plugin in marketcalls/openalgo-charts) into .agents/skills/openalgo-chart-plugin in your project. Codex loads it when a task matches its description.

Can I use Openalgo Chart Plugin in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add marketcalls/openalgo-charts --skill openalgo-chart-plugin -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openalgo-chart-plugin, .gemini/skills/openalgo-chart-plugin, .github/skills/openalgo-chart-plugin and .opencode/skills/openalgo-chart-plugin in your project.

What does Openalgo Chart Plugin need to run?

Going by SKILL.md and its folder, Openalgo Chart Plugin needs the command-line tools its instructions call (npx and rg). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep.

Does Openalgo Chart Plugin access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Openalgo Chart Plugin safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Openalgo Chart Plugin use?

Openalgo Chart Plugin is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Openalgo Chart Plugin use?

About 1.1k tokens (SKILL.md is roughly 4.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Openalgo Chart Plugin?

Skills that share tags, products or a category with Openalgo Chart Plugin: Chart Visualization (bytedance/deer-flow, 84k stars), Working With Charts (PostHog/posthog, 40k stars), Chart Indicator (marketcalls/openalgo, 2.8k stars) and Helm Charts (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Openalgo Chart Plugin?

marketcalls (a GitHub user) maintains it in marketcalls/openalgo-charts, which has 144 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 1, 2026.

Source: marketcalls/openalgo-charts on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.