private/Convert-WpcScalarKeyToSequence.ps1

function Convert-WpcScalarKeyToSequence {
    param(
        [Parameter(Mandatory = $true)]
        [string] $YamlText,
        [Parameter(Mandatory = $true)]
        [string] $KeyName
    )

    $pattern = "(?m)^([ ]*)$([regex]::Escape($KeyName)):\s+(.+)$"
    return [regex]::Replace(
        $YamlText,
        $pattern,
        {
            param($match)
            $indent = $match.Groups[1].Value
            $value = $match.Groups[2].Value
            $trimmedValue = $value.TrimStart()
            if ($trimmedValue.StartsWith('- ')) {
                return "${indent}${KeyName}:`n${indent} $trimmedValue"
            }

            return "${indent}${KeyName}:`n${indent} - $value"
        }
    )
}