private function moveSkeletonDir($name)
    {
        $root = $this->resolver->resolve('root');
        $target = $this->resolver->resolve($name);
        $target = Path::makeRelative($target, $root);

        $origin = $this->defaults->resolve($name);
        $origin = Path::makeRelative($origin, $root);

        // No need to move if the same.
        if ($origin === $target) {
            return;
        }
        // Don't move the root directory.
        // This could happen if "site" path is moved to a subdir.
        // The subdir will be created later for dependent paths.
        if ($origin === '') {
            return;
        }

        $this->verbose(
            sprintf('Moving <info>%s</info> directory from <info>%s</info> to <info>%s</info>', $name, $origin, $target)
        );

        // ensure parent directory exists
        $this->filesystem->mkdir(dirname($target), $this->options->getDirMode());
        if ($this->filesystem->exists($origin)) {
            $this->filesystem->rename($origin, $target);
        } else {
            $this->filesystem->mkdir($target, $this->options->getDirMode());
        }

        // Update defaults with the change, so when moving sub-directories the origin has the updated parent path.
        $this->defaults->define($name, $this->resolver->raw($name));
    }