step agent skeleton