creating a custom group and and field using extension
Here is how I add custom groups and fields:


as a first step, add an upgrader to your extension with civix generate:upgrader
then add the call to your creating function to the install function in the upgrader:



     public function install() {
        // install custom groups and fields
        CRM_Example_CustomData::createGroupsAndFields();




I also think your extends does not have to be an array? I use 



'extends' => 'Individual',