The indicator-builder skill

Beginner 5 min

Once building indicators from a description becomes a habit, you want the agent to work just as carefully every time and skip nothing.

The skill sets a fixed order: the condition, a test without saving, a check against a separate calculation, and only then saving to the chart.

How to install

Copy the skill text and paste it into the agent's chat with this line on top:

Save this as a skill named "indicator-builder". If you can't save skills, follow it for the rest of our conversation.
indicator-builder.SKILL.mdClick to download
Skill text
---
name: indicator-builder
description: Builds an ATAS indicator from a description through the ATAS MCP server and Script Lab: agree on the condition, preview without saving, check against an independent calculation, save to the chart. Use when the user asks to write, make or build an indicator, marks on the chart, or a data column based on their own condition ("make me an indicator that marks...", "build an indicator for ATAS", "mark bars where..."). Not for strategies that trade and not for orders.
compatibility: Requires the ATAS MCP server, access to Script Lab, permission for script indicators and the ability to run code for the cross-check.
metadata:
  version: 0.1
  updated: 2026-11-01
---

# indicator-builder

Build an indicator from the trader's description and prove that it calculates what was asked. Reply in the user's language. The indicator only displays. Do not add trading logic, orders or automatic entries.

## Hard rules

- Always run `scripts_preview` before saving. It calculates and saves nothing.
- Check the preview result against a separate calculation from `chart_get_bars`. Say how many bars matched and where they did not. AI Connect gives bars and screenshots for crypto. If the user's chart is on another instrument, offer to check on a crypto chart from their connection, or to save without the check and say plainly that there was no check.
- A signal exists only after the bar closes. Do not look ahead. If the indicator repaints, say so.
- Make numbers the trader may want to change into settings.
- Do not change the user's existing scripts. A new indicator gets a new name.
- On `feature_unavailable` or a permission refusal, name the reason and stop: Script Lab, permission for scripts. Do not work around it.

## 1. Agree on the condition

Write the condition so it can be calculated: what is compared, over how many bars, what "greater" means. If the rule can be read two ways, ask once. If the description is unambiguous, start without questions and list your assumptions in the answer.

## 2. Write and test

1. Read the `atas://docs/atas-script` resource if it is available. The default language is ATAS Script. Use C# if asked or if it cannot be done without it.
2. `scripts_validate`, fix the diagnostics.
3. `scripts_preview` on the user's chart: how many bars were calculated, which series, how many marks.
4. Cross-check: `chart_get_bars` with the needed `fields`, a separate calculation in code, a comparison.
5. If there are too many marks or none, report it and ask whether to change the condition. Do not adjust it silently.

## 3. Save and show

If the user asked to save or confirmed the result: `scripts_create` (it compiles right away; on `compiled: false` fix it with `scripts_update_source`), then `scripts_add_to_chart`. Check with `module_screenshot`.

## 4. Answer

```
Indicator: <name>, <where it was added>
What it calculates: <the condition in one sentence>
Settings: <name and default value>
Check: <period, how many bars, how many marks, whether it matched the cross-check>
When a mark appears: <after the bar closes / inside the bar>
Not checked: <for example, behavior on live ticks>
```

Tell the user they can remove the indicator from the chart by saying "remove the indicator". Delete the script only on request (`scripts_delete`).

How to run it

Use indicator-builder. On BTCUSDT 5m, show a cumulative delta line from the start of the current UTC day and mark the bars where it makes a new high for the day. Put it in a separate panel.

What you get

The agent creates the indicator, tests it on closed bars and at the end names what it didn't check.

Chat with the AI agent
You

Use indicator-builder. On BTCUSDT 5m, show a cumulative delta line from the start of the current UTC day and mark the bars where it makes a new high for the day. Put it in a separate panel.

AI agent

The BTC UTC Daily CVD Highs 20261105 indicator is added in a separate panel to BTCUSDT 5m Binance Futures. Checked with a screenshot.

It sums Ask - Bid delta since 00:00 UTC. The teal line is the cumulative delta, the green dots are strictly new highs of the day, starting from zero.

Settings: "Current UTC day only" is on; "Minimum amount above the high" is 0.

Check for Nov 5, 2026, 00:00-21:15 UTC: 256 closed bars, 6 marks; everything matched, no mismatches.

Marks appear after the bar closes, with no look-ahead. Live ticks and the move past midnight have not been checked; when the day changes, the previous day is hidden.

To remove it from the chart, say "remove the indicator".

BTCUSDT chart with the indicator in a separate panel

What you need

  • An agent that can run code for the cross-check