Module
Short description of what this module does and when to use it in Marvin flows.
Optional callout:
Important
Only functions decorated with @decorators.robotaction are documented here. Return keys become robot state variables (use $variable_name in the flow).
Optional tutorial or setup
Use this region for authentication, prerequisites, screenshots, or step-by-step guides before the action catalogue. Keep headings at ## level so the catalogue stays predictable.
The table of contents on the right is generated automatically from your headings — do not add a manual ## Index or link list in the page body.
Actions
module.example_action
One short paragraph describing behaviour and side effects.
Parameters:
param_required - description; link to related actions when useful, e.g. module.other_action.
param_optional (optional) - default value and semantics.
You may keep rich bullet lists instead of **name -** lines when they carry more information:
param_a— details.param_b— details.
Return:
Describe return keys and types. If there is no return, say so explicitly.
Exceptions:
List exceptions or state “This action gives no exceptions.” when true.
Usage example
module.other_action
Another action with the same structural blocks.
Parameters:
input - description.
Return:
output_key - mapped to $output_key in the flow.
Exceptions:
ValueError - when validation fails.
Troubleshooting
Optional ## sections after ## Actions are allowed for FAQs, performance notes, or migration guides.
Conventions (checklist)
- Use
## Actionsthen one### **module.action** {#anchor}per action so the right-hand TOC lists every action (no manual## Indexin the body). - Headings use
### **qualified.name** {#qualifiedname}where{#qualifiedname}matches internal links (dots removed from the qualified name, lowercase). - Blocks use
##### Parameters:,##### Return:,##### Exceptions:(exact labels). - Examples (
??? example), images, tables, and fenced code stay wherever they add clarity. - Keep heading hierarchy consistent (
##for sections,###for each action) so navigation stays predictable.