What it does
Returns what Claude needs before it writes a strategy. With rule_card it returns the strategy recipe, the full schema of every strategy node type, and one valid example: a 50/200-day golden cross on SPY. With program it returns the Program manual: when to write a Program, a starter source, the authoring rules, worked examples, the host functions a Program may call, and the graph a Program strategy's first save takes.
Claude calls it before create_strategy or build_program. It is not for reading a strategy that already exists; that is get_strategy.
The node types it describes are universe-input, indicator, entry-rule, exit-rules, sizing, session-filter, regime-filter, risk-guard, program and output. Rule cards and Programs explains how they fit together.
It needs the read permission, which every connection has. Every project role may call it, a viewer included. Like every tool, it is refused while the Backtesting app is off in the project you connected.
One caveat: the first rule of the Program manual is to save before you build. A Program graph's first save needs allow_incomplete_config set to true, because only build_program can fill the node's module_ref.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
topic | string | yes | Which guide to return. One of rule_card or program.Example: rule_card |
What comes back
With rule_card:
recipe: the strategy grammar in prose.nodes: one entry per strategy node type:id,name,description,inputs,outputs,config(every field with its type, allowed values and meaning) andrequiredConfig. An entry served under an alias carriesrequestedAsas well: the universe node hasidinputandrequestedAsuniverse-input, and the alias is thetypea graph uses.example: the golden-cross graph asname,nodesandconnections.
With program:
abiVersion: the host interface version the engine speaks.when: when to write a Program instead of rule cards.starter: a whole Rust program the builder accepts as it stands.rules: the authoring rules, with the save-before-you-build rule first.examples: worked programs, each withtitle,when,node,sourceand, where it matters,sizing.functionsandergonomics: one line per host function and per wrapper, with its signature and meaning.graphExample: the Program graph for the first save, withallow_incomplete_configalready true.note: a Program may call only these host functions. Anything else fails at link time.
Try saying
If it fails
Backtesting is not active in this project — turn it on under Settings → Apps in Orbital, then try again- The Backtesting app is off in the project you connected. Every tool checks this before it runs.In Orbital open Settings, then Apps, and turn Backtesting on for the project you connected. Then ask Claude to try again.