Skip to content

autonomy scaffold

Tools for scaffolding agent components.

This command group consists of a number of functionalities that generate boilerplate code that acts as a template to speed up the development of agent components. See the appropriate subcommands for more information.


This command group extends the Open AEA command scaffold with the subcommand fsm to generate boilerplate code for FSM App skills. We refer to the Open AEA documentation for more information related the subcommands connection, contract, decision-maker-handler, error-handler, protocol and skill.


autonomy scaffold [OPTIONS] COMMAND [ARGS]


-tlr, --to-local-registry
Scaffold skill inside a local registry.
Add symlinks from vendor to non-vendor and packages to vendor folders.
Show the help message and exit.

autonomy scaffold fsm

Scaffold FSM App skills based on an FSM App specification file (YAML).

This command produces the necessary boilerplate code to create an empty, but functional, FSM App skill. The command needs an initialized local registry to work, and it must be called in the folder containing the registry, or one of its direct subfolders.

The command will produce the following files under <local_repository>/<vendor>/skills/<fsm_app_skill_name>:

  • Python package definition file.
  • Boilerplate for behaviours and the RoundBehaviour class.
  • Boilerplate for dialogues.
  • fsm_specification.yaml: FSM App specification file.
  • Boilerplate for handlers.
  • Boilerplate for models.
  • Boilerplate for payloads.
  • Boilerplate for rounds and the AbciApp class.
  • skill.yaml: Skill configuration file.
  • tests/: Directory containing boilerplate for tests.


autonomy scaffold fsm [OPTIONS] SKILL_NAME


To use a remote registry.
To use a local registry.
--spec FILE
FSM App specification file (YAML).
Show the help message and exit.


scaffold -tlr fsm --spec fsm_specification.yaml my_fsm_app_skill

Generates an FSM App skill named "my_fsm_app_skill" according to the specification described in the file fsm_specification.yaml, and stores it to the local registry.