Signals
alsk1992/CloddsBot
Signal trading - RSS, Twitter, Telegram triggers to trades. An agent skill from alsk1992/CloddsBot.
Build, edit or debug an OpenAlgo Flow workflow - the no-code node graph at /flow.
$ npx skills add marketcalls/openalgo --skill flow-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install marketcalls/openalgo flow-builder --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/marketcalls/openalgo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/flow-builder .claude/skills/flow-builder && 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 "flow-builder" agent skill from https://github.com/marketcalls/openalgo/tree/main/.claude/skills/flow-builder into .claude/skills/flow-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-builder", 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/marketcalls/openalgo/tree/main/.claude/skills/flow-builderType 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 marketcalls/openalgo --skill flow-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install marketcalls/openalgo flow-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/marketcalls/openalgo.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/flow-builder .agents/skills/flow-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "flow-builder" agent skill from https://github.com/marketcalls/openalgo/tree/main/.claude/skills/flow-builder into .agents/skills/flow-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-builder", 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 marketcalls/openalgo --skill flow-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install marketcalls/openalgo flow-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/marketcalls/openalgo.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/flow-builder .cursor/skills/flow-builder && 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 "flow-builder" agent skill from https://github.com/marketcalls/openalgo/tree/main/.claude/skills/flow-builder into .cursor/skills/flow-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-builder", 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/marketcalls/openalgo.git --path .claude/skills/flow-builder--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 marketcalls/openalgo --skill flow-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install marketcalls/openalgo flow-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/marketcalls/openalgo.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/flow-builder .gemini/skills/flow-builder && 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 "flow-builder" agent skill from https://github.com/marketcalls/openalgo/tree/main/.claude/skills/flow-builder into .gemini/skills/flow-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-builder", 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 marketcalls/openalgo flow-builderInstalls 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 marketcalls/openalgo --skill flow-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/marketcalls/openalgo.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/flow-builder .github/skills/flow-builder && 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 "flow-builder" agent skill from https://github.com/marketcalls/openalgo/tree/main/.claude/skills/flow-builder into .github/skills/flow-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-builder", 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 marketcalls/openalgo --skill flow-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install marketcalls/openalgo flow-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/marketcalls/openalgo.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/flow-builder .opencode/skills/flow-builder && 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 "flow-builder" agent skill from https://github.com/marketcalls/openalgo/tree/main/.claude/skills/flow-builder into .opencode/skills/flow-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-builder", 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.
flow-builderBuild, edit or debug an OpenAlgo Flow workflow - the no-code node graph at /flow.
Flow Builder is an agent skill from marketcalls/openalgo. Build, edit or debug an OpenAlgo Flow workflow - the no-code node graph at /flow. Use when asked to create a workflow, wire a webhook or TradingView alert to an order, add a node, port a strategy into Flow, or work out why a workflow imported but did nothing. Produces a workflow JSON that is validated against the real importer before it is handed over.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `coverage.py`, `generate_reference.py` and `reference/nodes.md`).
It sits in Backend & APIs, covering Webhooks and Trading and backtesting. The repository describes itself as: Open Source Algo Trading Platform for Everyone. The licence is AGPL-3.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1dcfff5. 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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
uvcurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv and curl, which can reach the network depending on how they are called.
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.
Flow Builder loads about 2.1k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 1,040 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 marketcalls/openalgo at commit 1dcfff5, republished under its AGPL-3.0 licence (© marketcalls). 1,040 words, ~2,111 tokens.
.claude/skills/flow-builder/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.A workflow is a JSON graph: nodes (what happens) plus edges (in what order).
It is imported at /flow, or written straight into flow_workflows.
Validate before you hand anything over.
uv run python .claude/skills/flow-builder/validate.py <workflow.json>It calls the importer's own validate_workflow, so it cannot disagree with what
the server accepts, and then adds the checks the importer deliberately skips.
Those matter more than they sound: Flow ignores a data key nothing reads.
Write strikeOffset when the field is offset and the workflow imports
cleanly, runs successfully, and silently uses ATM. Nothing in the run says so.
Exit 0 means it imports. Warnings mean it imports and then misbehaves - treat them as errors unless you know why.
reference/nodes.md. All 61 node types, their required fields, and
every data key each one actually reads. Generated from the validator and
the executor, so it cannot drift.start (schedule), webhookTrigger (external POST), priceAlert,
orderUpdateTrigger. A second trigger is rejected at import.source and target node ids. An edge
leaving a condition node must also set sourceHandle to pick the TRUE or
FALSE branch./flow, or POST /flow/api/workflows/import.For the full field-by-field contract, docs/prompt/flow-import-format.md is the
long form. This skill is the short path plus the check.
{
"name": "Webhook long entry",
"nodes": [
{ "id": "node_1", "type": "webhookTrigger",
"position": { "x": 0, "y": 0 }, "data": { "label": "TV alert" } },
{ "id": "node_2", "type": "placeOrder",
"position": { "x": 0, "y": 120 },
"data": { "symbol": "{{webhook.symbol}}", "exchange": "NSE",
"action": "{{webhook.action}}", "quantity": "{{webhook.quantity}}",
"product": "MIS", "priceType": "MARKET",
"outputVariable": "orderResult" } }
],
"edges": [
{ "id": "e1", "source": "node_1", "target": "node_2", "type": "default" }
]
}{{webhook.*}}The webhook body is exposed as {{webhook.<key>}}. Nested paths and array
indexing both work: {{webhook.legs[0].qty}}.
Every field on an order node takes a reference - not only symbol. The
editor shows a dropdown for exchange and a BUY/SELL pair for action, but the
stored value is a string either way, so "exchange": "{{webhook.exchange}}" is
valid. The same is true of quantity, product, priceType, price,
triggerPrice, offset, optionType and expiryType.
A field holding exactly one whole token keeps its type, so
"quantity": "{{webhook.quantity}}" against {"quantity": 10} arrives as the
number 10.
Enumerated fields are case-insensitive, which matters because TradingView sends
whatever the chart carries: "action": "buy" is accepted. symbol is
upper-cased on order nodes for the same reason.
An unresolved reference on an order field fails the node. It does not fall
back to a default. That is deliberate: a webhook omitting quantity used to
place a real order for 1 unit. If a value is genuinely optional, use a literal or
branch on a condition node first.
A key nothing reads is ignored, not rejected. The single most common way a
workflow "works" and does the wrong thing. validate.py catches it.
source is not the price field. On indicator, barOffset and
priorPeriodOhlc, source selects the data source (api or db). The price
field is sourceField. Passing close to source fails with a history error
naming neither.
Options expiry has two forms. expiryType takes a relative type
(current_week, next_week, current_month, next_month) or a DDMMMYY
date such as 28OCT25, used as given. expiryDate is the same explicit date
under its own key and wins when both are set.
The webhookTrigger carries no instrument. It has only a label. Symbol and
exchange come from the request.
A failed read is not a False. priceCondition, positionCheck and
fundCheck error rather than answering when the broker call fails, so they take
neither branch. Do not write a graph that relies on the FALSE branch firing when
data is unavailable - it will not.
A gate waits for inputCount, not for the wires. Configure three inputs and
wire two and the gate errors rather than evaluating on part of the condition.
timeWindow may cross midnight. 22:00 to 02:00 spans midnight rather
than being empty, so an overnight MCX or crypto guard works as written.
unsubscribe needs a symbol unless streamType is all, because the
underlying call clears every subscription on the instance - including the ones
the Sandbox engine uses to trigger pending SL and LIMIT orders.
Subscriptions end with the workflow. Deactivating or deleting it releases everything its subscribe nodes opened, so no cleanup node is needed for that.
A condition evaluates once per run, like a gate. A diamond that reaches one condition by two paths fires its branch once, not twice.
waitUntil is capped at 30 minutes. It sleeps inside the triggering request,
so anything longer belongs on a start schedule trigger.
A schedule is clock-aligned and market-hours gated. interval fires on the
clock (HH:MM:02, not activation time + 60s), and the start node carries
marketHoursOnly (the editor writes true, but an imported JSON that omits
the key defaults to false and runs around the clock, so set it explicitly),
marketHoursStart (09:15), marketHoursEnd
(15:15) and marketHoursExchange (NSE). The window narrows the exchange's
session; it never reopens a holiday.
A 1-minute strategy needs a shorter history cache. The indicator node
reuses a fetch for FLOW_HISTORY_CACHE_TTL seconds, 30 by default, which is
half a one-minute candle. Set it to 2-3 for 1m work.
Read a closed bar, not a forming one. {{ind.latest.*}} is the bar still
being built and repaints within the period. {{ind.previous.*}} is the last
closed bar. With offsetBars: 2, {{ind.at_offset.*}} is the bar before that,
so one node gives both bars a flip test needs.
A tuple indicator returns out0, out1, ... not value. Supertrend gives
out0 (the line) and out1 (direction), and its direction is inverted from the
usual convention: -1 is the uptrend, +1 the downtrend. Verify an
indicator's encoding before trading it.
Conditions need sourceHandle. An edge leaving priceCondition,
timeCondition, timeWindow, positionCheck, fundCheck or varCondition
must say which branch it is.
Gates wait for every input. andGate and orGate fire once, after all wired
inputs have been evaluated.
Trigger it over HTTP, exactly as an alert would, and read the run back:
curl -X POST http://127.0.0.1:5000/flow/webhook/<token> \
-H "Content-Type: application/json" \
-d '{"secret":"<secret>","symbol":"RELIANCE","action":"BUY","quantity":1}'SELECT id, status, logs FROM flow_workflow_executions ORDER BY id DESC LIMIT 1;The log lines are the evidence: they name the values each node actually used, so
a field that silently kept its default shows up as a mismatch against the
payload you sent. Check settings.analyze_mode first - 1 routes orders to
the Sandbox engine, 0 sends them to a live broker.
| Path | |
|---|---|
validate.py | the gate; wraps the importer's own validator |
reference/nodes.md | all 61 node types, generated |
generate_reference.py | regenerate it after a node's fields change |
coverage.py | fails if a node type is undocumented |
docs/prompt/flow-import-format.md | the long-form contract |
© marketcalls, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files in .claude/skills/flow-builder of marketcalls/openalgo.
Open the folder on GitHubat commit 1dcfff5
Flow Builder 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 |
|---|---|---|---|---|---|---|
| Flow Builder this skillmarketcalls/openalgo | 2.8k | — | ~2.1k | Automated safety check: Pass | AGPL-3.0 | |
| Signalsalsk1992/CloddsBot | 2.9k | — | ~720 | Automated safety check: Pass | MIT | |
| Novu Design Workflownovuhq/novu | 40k | — | ~2.6k | Automated safety check: Pass | Custom licence | |
| Golivemikehasa/golive-skill | 1.2k | — | ~13k | Automated safety check: Notes | MIT | |
| Stripe Appsfossasia/eventyay | 1.7k | 1 repos | ~3.6k | Automated safety check: Pass | Apache-2.0 | |
| Agentic Walletcoinbase/agentic-wallet-skills | 127 | 2 repos | ~1k | Automated safety check: Pass | MIT |
alsk1992/CloddsBot
Signal trading - RSS, Twitter, Telegram triggers to trades. An agent skill from alsk1992/CloddsBot.
novuhq/novu
Design notification workflows the Novu way — choose channels, set severity, decide when a workflow is critical, configure digests, and route based on subscriber state.
mikehasa/golive-skill
Take an agent-written app from repo to live production on the user's OWN accounts, with providers they choose (hosting, database, auth, payments, email, domain/DNS).
fossasia/eventyay
A skill your agent uses when building, modifying, or reviewing a Stripe App — or when the user describes something that implies one (e.g.
coinbase/agentic-wallet-skills
Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API…
agentscope-ai/ReMe
钉钉消息发送技能。支持企业内部机器人(批量单聊/群聊)和 Webhook 自定义机器人两种接入方式,支持多机器人管理,支持文本、Markdown、链接、ActionCard、FeedCard等多种消息类型。
marketcalls/openalgo
Integrate a new Indian broker into OpenAlgo, or modify an existing broker plugin.
marketcalls/openalgo
Audit a change for resource leaks in OpenAlgo — file descriptors AND unbounded memory growth.
marketcalls/openalgo
Write an OpenScript study or strategy for OpenAlgo, and install it into strategies/openscript/ only after it compiles.
marketcalls/openalgo
Run OpenAlgo's periodic security audit across backend, frontend, database, cache, routes and dependencies, producing a dated xlsx report.
marketcalls/openalgo
Verify a claim before stating it, and verify a test before trusting it.
marketcalls/openalgo
Bump a version in the OpenAlgo repo. An agent skill from marketcalls/openalgo.
Categories
Build, edit or debug an OpenAlgo Flow workflow - the no-code node graph at /flow. Flow Builder is an agent skill from marketcalls/openalgo. Build, edit or debug an OpenAlgo Flow workflow - the no-code node graph at /flow.
Flow Builder fits situations like: asked to create a workflow; tradingView alert to an order; port a strategy into Flow; work out why a workflow imported but did nothing.
Run `npx skills add marketcalls/openalgo --skill flow-builder -a claude-code`. Or copy the skill folder (.claude/skills/flow-builder in marketcalls/openalgo) into .claude/skills/flow-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add marketcalls/openalgo --skill flow-builder -a codex`. Or copy the skill folder (.claude/skills/flow-builder in marketcalls/openalgo) into .agents/skills/flow-builder 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 marketcalls/openalgo --skill flow-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flow-builder, .gemini/skills/flow-builder, .github/skills/flow-builder and .opencode/skills/flow-builder in your project.
Going by SKILL.md and its folder, Flow Builder needs Python for the scripts in its folder and the command-line tools its instructions call (uv and curl). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv and curl, which can reach the network depending on how they are called. 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.
Flow Builder is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k 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 Flow Builder: Signals (alsk1992/CloddsBot, 2.9k stars), Novu Design Workflow (novuhq/novu, 40k stars), Golive (mikehasa/golive-skill, 1.2k stars) and Stripe Apps (fossasia/eventyay, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
marketcalls (a GitHub user) maintains it in marketcalls/openalgo, which has 2,808 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 9, 2026.
Source: marketcalls/openalgo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.