MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Extra guidance for drawchartannotation, which works without loading this.
$ npx skills add ginlix-ai/LangAlpha --skill chart-annotation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ginlix-ai/LangAlpha chart-annotation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/langalpha_deliverables/skills/chart-annotation .claude/skills/chart-annotation && rm -rf skills-srcUse ~/.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/
Install the "chart-annotation" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_deliverables/skills/chart-annotation into .claude/skills/chart-annotation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chart-annotation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_deliverables/skills/chart-annotationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ginlix-ai/LangAlpha --skill chart-annotation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ginlix-ai/LangAlpha chart-annotation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/langalpha_deliverables/skills/chart-annotation .agents/skills/chart-annotation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "chart-annotation" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_deliverables/skills/chart-annotation into .agents/skills/chart-annotation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chart-annotation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ginlix-ai/LangAlpha --skill chart-annotation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ginlix-ai/LangAlpha chart-annotation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/langalpha_deliverables/skills/chart-annotation .cursor/skills/chart-annotation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "chart-annotation" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_deliverables/skills/chart-annotation into .cursor/skills/chart-annotation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chart-annotation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ginlix-ai/LangAlpha.git --path plugins/langalpha_deliverables/skills/chart-annotation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ginlix-ai/LangAlpha --skill chart-annotation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ginlix-ai/LangAlpha chart-annotation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/langalpha_deliverables/skills/chart-annotation .gemini/skills/chart-annotation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "chart-annotation" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_deliverables/skills/chart-annotation into .gemini/skills/chart-annotation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chart-annotation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ginlix-ai/LangAlpha chart-annotationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ginlix-ai/LangAlpha --skill chart-annotation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/langalpha_deliverables/skills/chart-annotation .github/skills/chart-annotation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "chart-annotation" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_deliverables/skills/chart-annotation into .github/skills/chart-annotation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chart-annotation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ginlix-ai/LangAlpha --skill chart-annotation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ginlix-ai/LangAlpha chart-annotation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/langalpha_deliverables/skills/chart-annotation .opencode/skills/chart-annotation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "chart-annotation" agent skill from https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_deliverables/skills/chart-annotation into .opencode/skills/chart-annotation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chart-annotation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
chart-annotationExtra guidance for drawchartannotation, which works without loading this.
Chart Annotation is an agent skill from ginlix-ai/LangAlpha. Extra guidance for drawchartannotation, which works without loading this. Covers choosing between similar variants, aligning times to bars, several charts in one turn, and answering a chart selection the user sends.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Python. The repository describes itself as: Claude Code for Financial Market. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 111a0f6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json and python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Chart Annotation loads about 2.2k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,067 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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.
The full file from ginlix-ai/LangAlpha at commit 111a0f6, republished under its Apache-2.0 licence (© ginlix-ai). 1,067 words, ~2,211 tokens.
.claude/skills/chart-annotation/SKILL.md (or your agent's skills folder).You want to call out a technical level, a pattern, or an event on a stock's
price chart. Drawing directly on the chart is almost always clearer than
describing it in prose. Reach for draw_chart_annotation whenever you would
otherwise say "look at the level around 205" or "notice the downtrend from
October to December".
MarketView is the app's live, trading-chart style price chart page (pan, zoom, switch timeframes). You do not need the user to be on it to annotate. If they are, the drawing appears on their live chart immediately. Anywhere else in the app, the same drawing renders as a chart card in the chat that opens the live chart beside the conversation, so annotate freely whenever it helps, then mention the user can click the card to see it.
Both tools are always available; this guide is how to use them well:
draw_chart_annotation — add a single annotation to a chart.manage_chart_annotations — list, remove, or clear annotations.There are two ways to show price information visually — pick by what the user needs:
The two aren't exclusive: draw on the live chart for a quick look, render a Python chart when it belongs in a written artifact, or do both.
SYMBOL:timeframeEvery annotation belongs to a chart identified by its ticker + timeframe
(e.g. NVDA:1day) — that pair is the chart's id:
symbol + timeframe again to add to / edit that same
chart (annotations accumulate on it).AAPL:1day and AAPL:1hour,
or AAPL:1day and MSFT:1day), each rendered as its own card.Always pass the ticker the user is discussing. timeframe defaults to
1day; set it to match the interval the user is viewing (one of 1min,
5min, 15min, 30min, 1hour, 4hour, 1day). Annotations are scoped to
that one chart instance — a line drawn on NVDA:1day does not appear on
NVDA:1hour.
Time format (any annotation with a time field). Pass ISO 8601 datetimes
(e.g. 2024-11-14T00:00:00Z) aligned to a bar on the chart — for daily bars,
midnight UTC of that day is safest. A time that doesn't land on a bar still
renders but may look offset. Applies to trendline, marker, vertical_line,
text, event, and fib_retracement.
A <chart-selection> block in the user's turn means they selected something on
the chart and sent it to you. Its selection_type is one of:
region — a time×price box. Bounds come as a time range + price range, with
the OHLCV bars inside it.price_level — a single horizontal price they tapped.The user may send several blocks in one turn — treat each independently.
A block may carry a User note: line: that is the user's own comment about
that selection (separate from their message text) — let it steer what you
look for there.
Analyze each bounded area (lean on the supplied bars and/or your market-data
path), then, when it helps, draw your read back onto the same symbol +
timeframe with draw_chart_annotation — a rectangle over a region, or a
price_line at a price_level. Each block already spells out the matching
draw_chart_annotation(...) call; adjust it to the level or zone your analysis
actually lands on.
draw_chart_annotation takes an annotation object discriminated by its
type field.
price_line — horizontal levelUse for anything flat on the y-axis: support, resistance, a target, a stop, an analyst price target, a 52-week high.
{
"type": "price_line",
"price": 205.0,
"label": "Resistance 205",
"style": "dashed"
}trendline — two anchor pointsUse to connect two (time, price) points on the chart: channel tops,
pattern boundaries, connecting highs/lows across dates.
{
"type": "trendline",
"point1": {"time": "2024-10-16T00:00:00Z", "price": 145.2},
"point2": {"time": "2024-12-20T00:00:00Z", "price": 138.7},
"label": "Descending trend"
}marker — single-bar eventUse for a callout at one specific date: earnings beat, entry signal, news event, grade change.
{
"type": "marker",
"time": "2024-11-14T00:00:00Z",
"shape": "arrowUp",
"position": "belowBar",
"text": "Earnings beat"
}shape options: arrowUp, arrowDown, circle, square.
position options: aboveBar, belowBar, inBar.
vertical_line — a moment in timeUse to mark a single date across the whole chart: an earnings date, a split, an FOMC meeting, the start of a move.
{
"type": "vertical_line",
"time": "2024-11-14T00:00:00Z",
"label": "Earnings",
"style": "dashed"
}rectangle — a zoneUse for supply/demand zones, consolidation ranges, or any box over a
region of the chart. point1 and point2 are two opposite corners (the
fill is translucent so candles stay visible).
{
"type": "rectangle",
"point1": {"time": "2024-10-16T00:00:00Z", "price": 150.0},
"point2": {"time": "2024-11-20T00:00:00Z", "price": 140.0},
"label": "Demand zone"
}text — a free-floating labelUse for a callout that isn't tied to a marker or level. Anchored at a
(time, price) point.
{
"type": "text",
"time": "2024-11-14T00:00:00Z",
"price": 205.0,
"text": "Breakout"
}event — news/event badge with detailUse when a callout needs more than a one-line label: an earnings report, an
acquisition, an analyst upgrade, a product launch. Anchored at a (time, price) point, it shows a short title badge on the chart; the detail (a
few sentences) is revealed on hover (desktop) or tap (mobile). Prefer this
over marker/text when you want to explain why the event matters.
{
"type": "event",
"time": "2024-11-14T00:00:00Z",
"price": 205.0,
"title": "Q3 earnings beat",
"detail": "Reported EPS of $1.40 vs $1.25 consensus and raised full-year guidance ~5%. Shares gapped up the next session on the print and the brighter outlook."
}fib_retracement — Fibonacci levelsUse to map retracement targets of a move. Pass the two ends of the swing (e.g. swing low → swing high); standard levels (0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0) are drawn between them automatically.
{
"type": "fib_retracement",
"point1": {"time": "2024-10-16T00:00:00Z", "price": 100.0},
"point2": {"time": "2024-12-20T00:00:00Z", "price": 200.0},
"label": "Oct–Dec move"
}manage_chart_annotations covers list / remove / clear_all:
# See what's there
manage_chart_annotations(symbol="NVDA", action="list")
# Remove specific ones (get ids from `list`)
manage_chart_annotations(symbol="NVDA", action="remove", ids=["ann_ab12..."])
# Wipe everything for the symbol
manage_chart_annotations(symbol="NVDA", action="clear_all")remove requires a non-empty ids list. The tool will reject an empty
call.clear_all must not be given ids. Use remove for partial deletion.draw_chart_annotation three times.clear_all before drawing a fresh set.© ginlix-ai, 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
Just SKILL.md in plugins/langalpha_deliverables/skills/chart-annotation of ginlix-ai/LangAlpha.
Open the folder on GitHubat commit 111a0f6
Chart Annotation 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Chart Annotation this skillginlix-ai/LangAlpha | 1.8k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server Builderanthropics/skills | 180k | 64 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| PDF Processinganthropics/skills | 180k | 48 repos | ~2k | Automated safety check: Pass | Proprietary | |
| NotebookLM Research AssistantPleasePrompto/notebooklm-skill | 7.8k | 14 repos | ~2.4k | Automated safety check: Notes | MIT | |
| Manim Video Productionbrowser-use/video-use | 28k | 6 repos | ~3k | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/skills
Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.
PleasePrompto/notebooklm-skill
Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.
browser-use/video-use
Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
hugohe3/ppt-master
Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.
ginlix-ai/LangAlpha
Quality-checks an investment deck in .pptx form before it goes out: number consistency, chart and narrative alignment, source coverage, language and a circulation verdict.
ginlix-ai/LangAlpha
Produces a first-time equity research initiation report in five tasks: company research, financial model, valuation, charts and a DOCX report.
ginlix-ai/LangAlpha
Builds or repairs an integrated income statement, balance sheet and cash flow model in Excel with live formulas, supporting schedules, scenarios and a Checks sheet.
ginlix-ai/LangAlpha
Audits an existing Excel financial model without editing it, checking structure, formulas, integrity identities and source tie-out, and ends in a prioritized issue log.
ginlix-ai/LangAlpha
Builds a live Excel DCF valuation workbook with free cash flow projections, WACC, terminal value, three scenarios, sensitivity grids and a reverse DCF.
ginlix-ai/LangAlpha
Builds Word files with python-docx, edits existing ones in place with tracked changes and comments, then renders and validates the result.
Works with
Extra guidance for drawchartannotation, which works without loading this. Chart Annotation is an agent skill from ginlix-ai/LangAlpha. Extra guidance for drawchartannotation, which works without loading this.
Run `npx skills add ginlix-ai/LangAlpha --skill chart-annotation -a claude-code`. Or copy the skill folder (plugins/langalpha_deliverables/skills/chart-annotation in ginlix-ai/LangAlpha) into .claude/skills/chart-annotation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ginlix-ai/LangAlpha --skill chart-annotation -a codex`. Or copy the skill folder (plugins/langalpha_deliverables/skills/chart-annotation in ginlix-ai/LangAlpha) into .agents/skills/chart-annotation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ginlix-ai/LangAlpha --skill chart-annotation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chart-annotation, .gemini/skills/chart-annotation, .github/skills/chart-annotation and .opencode/skills/chart-annotation in your project.
SKILL.md names no scripts, command-line tools or credentials: Chart Annotation is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Chart Annotation 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.
About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Chart Annotation: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ginlix-ai (a GitHub organization) maintains it in ginlix-ai/LangAlpha, which has 1,806 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on October 8, 2026.
Source: ginlix-ai/LangAlpha on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.