##### SUMMARY

When I run `ansible-galaxy [type] init`, I would like to be able to use my own configured 'skeleton' to init that content.

For Ansible roles, when running `ansible-galaxy role init myrole`, I can configure a [`GALAXY_ROLE_SKELETON`](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#galaxy-role-skeleton) in my `ansible.cfg`, and the init command will use that skeleton as the source for the new role.

For Ansible collections, currently there's a bug (https://github.com/ansible/ansible/issues/66255) that causes collections to use that skeleton if its set (which can lead to some confusion)—but once that bug's fixed, there's no way to specify a skeleton for a collection.

So this feature request is to add a new configuration option `GALAXY_COLLECTION_SKELETON` (environment variable `ANSIBLE_GALAXY_COLLECTION_SKELETON`) which allows a collection skeleton to be specified.

Note: the docs for `GALAXY_ROLE_SKELETON` currently state:

> Role or collection skeleton directory to use as a template for the `init` action in `ansible-galaxy`, same as `--role-skeleton`.

Therefore that would need adjusting too, if the previously mentioned bug doesn't fix that.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME

ansible-galaxy init

##### ADDITIONAL INFORMATION

N/A
"""Inject an artifacts manager if not passed explicitly.
    This decorator constructs a ConcreteArtifactsManager and maintains
    the related temporary directory auto-cleanup around the target
    method invocation.
    """
    def method_wrapper(*args, **kwargs):
        if 'artifacts_manager' in kwargs:
            return wrapped_method(*args, **kwargs)
        with ConcreteArtifactsManager.under_tmpdir(
                C.DEFAULT_LOCAL_TMP,
                validate_certs=not context.CLIARGS['ignore_certs'],
        ) as concrete_artifact_cm:
            kwargs['artifacts_manager'] = concrete_artifact_cm
            return wrapped_method(*args, **kwargs)
    return method_wrapper
def _display_header(path, h1, h2, w1=10, w2=7):
    display.display('\n# {0}\n{1:{cwidth}} {2:{vwidth}}\n{3} {4}\n'.format(
        path,
        h1,
        h2,
        '-' * max([len(h1), w1]),  
        '-' * max([len(h2), w2]),
        cwidth=w1,
        vwidth=w2,
    ))
def _display_role(gr):