【Help】Convert a layer group to an artboard

I have a batch of PSD files, some of which contain multiple layer groups as shown in the above image. The number of layer groups in each file is uncertain. I've written a script using ChatGPT and Claude to place each layer group on a canvas, with the canvas size being the same as the original file. However, I can't seem to get it to run successfully. The desired outcome is as shown in the image.

// Check if there are any Post layer groups
function hasPostGroups() {
var doc = app.activeDocument;
for (var i = 1; i <= doc.layerSets.length; i++) {
var layerSet = doc.layerSets[i - 1];
if (layerSet.name.indexOf("Post") === 0) {
return true;
}
}
return false;
}
// Create artboards
function createArtboards(num) {
var doc = app.activeDocument;
for (var i = 0; i < num; i++) {
var artboard = doc.artboards.add(doc.artboards[0].artboardRect);
artboard.name = "Artboard " + (i + 1);
}
}
// Move Post layer groups to corresponding artboards
function movePostGroupsToArtboards() {
var doc = app.activeDocument;
var artboardIndex = 0;
for (var i = 1; i <= doc.layerSets.length; i++) {
var layerSet = doc.layerSets[i - 1];
if (layerSet.name.indexOf("Post") === 0) {
var artboard = doc.artboards[artboardIndex];
var artboardRect = artboard.artboardRect;
var bounds = layerSet.bounds;
var offsetX = artboardRect[0] - bounds[0].value;
var offsetY = artboardRect[1] - bounds[1].value;
layerSet.translate(offsetX, offsetY);
artboardIndex++;
}
}
}
// Main function
function main() {
if (!hasPostGroups()) {
alert("There are no Post layer groups in the current document, no further action will be taken.");
return;
}
var numPostGroups = app.activeDocument.layerSets.length;
createArtboards(numPostGroups);
movePostGroupsToArtboards();
alert("Operation completed!");
}
// Execute the main function
main();
