# get_authoring_guide

> Returns the rule-card vocabulary or the Program manual that Claude reads before it writes a strategy.

Source: https://orbitalaip.com/docs/claude-and-chatgpt/tools/get_authoring_guide

Read the authoring guide · strategies · read

> [!IMPORTANT] Disclaimer
> Backtest results are hypothetical and do not predict future performance. Nothing here is investment advice: Orbital computes the rules you supplied and recommends nothing. Orbital is not a registered investment adviser or broker-dealer. Costs are as modelled by the chosen cost profile and may differ from live trading.

## 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](https://orbitalaip.com/docs/claude-and-chatgpt/tools/create_strategy) or [build_program](https://orbitalaip.com/docs/claude-and-chatgpt/tools/build_program). It is not for reading a strategy that already exists; that is [get_strategy](https://orbitalaip.com/docs/claude-and-chatgpt/tools/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](https://orbitalaip.com/docs/claude-and-chatgpt/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 | Example |
| --- | --- | --- | --- | --- |
| topic | string | yes | Which guide to return. One of rule_card or program. | 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) and `requiredConfig`. An entry served under an alias carries `requestedAs` as well: the universe node has `id` `input` and `requestedAs` `universe-input`, and the alias is the `type` a graph uses.

- `example`: the golden-cross graph as `name`, `nodes` and `connections`.

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 with `title`, `when`, `node`, `source` and, where it matters, `sizing`.

- `functions` and `ergonomics`: one line per host function and per wrapper, with its signature and meaning.

- `graphExample`: the Program graph for the first save, with `allow_incomplete_config` already true.

- `note`: a Program may call only these host functions. Anything else fails at link time.

## Try saying

- "Read Orbital's authoring guide for rule cards, then build a golden-cross strategy on SPY."
- "Read the Program manual and write me a 20-day momentum program for AAPL and MSFT."
- "Check the authoring guide and tell me which exits a rule-card strategy can use."

## 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.

## Related

- [Create a strategy](https://orbitalaip.com/docs/claude-and-chatgpt/tools/create_strategy)
- [Build a Program](https://orbitalaip.com/docs/claude-and-chatgpt/tools/build_program)
- [Rule cards and Programs](https://orbitalaip.com/docs/claude-and-chatgpt/rule-cards-and-programs)
