protected function copySkeleton(
        $packagePath,
        $vendor,
        $package,
        $vendorFolderName,
        $packageFolderName
    ) {
        $this->info('Copy skeleton.');

        $skeletonDirPath = $this->getPathFromConfig(
            'skeleton_dir_path', $this->packageBaseDir.'/skeleton'
        );

        foreach (File::allFiles($skeletonDirPath, true) as $filePath) {
            $filePath = realpath($filePath);

            $destFilePath = Str::replaceFirst(
                $skeletonDirPath, $packagePath, $filePath
            );

            $this->copyFileWithDirsCreating($filePath, $destFilePath);
        }

        $this->copyStubs($packagePath, $package, $packageFolderName);

        $variables = $this->getVariables(
            $vendor, $package, $vendorFolderName, $packageFolderName
        );
        $this->replaceTemplates($packagePath, $variables);

        $this->info('Skeleton was successfully copied.');
    }