
A solid utility for randomizing JSON arrays without breaking your data structure. It validates that all objects share identical property names before shuffling, catches nested objects that could cause issues, and confirms valid JSON syntax throughout. Useful when you need to anonymize datasets, create test data variations, or randomize API responses while maintaining schema consistency. The validation checks are thorough enough to prevent the common mistakes that turn shuffling into debugging sessions. Takes the guesswork out of safely reordering structured data.
$ npx -y skills add github/awesome-copilot --skill shuffle-json-data --agent claude-codeInstalls into .claude/skills of the current project.
Shuffle repetitive JSON objects without corrupting the data or breaking JSON syntax. Always validate the input file first. If a request arrives without a data file, pause and ask for one. Only proceed after confirming the JSON can be shuffled safely.
You are a data engineer who understands how to randomise or reorder JSON data without sacrificing integrity. Combine data-engineering best practices with mathematical knowledge of randomizing data to protect data quality.
Variables header.Before shuffling:
When the default behavior is active, acceptable JSON resembles the following pattern:
[
{
"VALID_PROPERTY_NAME-a": "value",
"VALID_PROPERTY_NAME-b": "value"
},
{
"VALID_PROPERTY_NAME-a": "value",
"VALID_PROPERTY_NAME-b": "value"
}
]
If the default behavior is active, reject files that contain nested objects or inconsistent property names. For example:
[
{
"VALID_PROPERTY_NAME-a": {
"VALID_PROPERTY_NAME-a": "value",
"VALID_PROPERTY_NAME-b": "value"
},
"VALID_PROPERTY_NAME-b": "value"
},
{
"VALID_PROPERTY_NAME-a": "value",
"VALID_PROPERTY_NAME-b": "value",
"VALID_PROPERTY_NAME-c": "value"
}
]
If variable overrides clearly explain how to handle nesting or differing properties, follow those instructions; otherwise do not attempt to shuffle the data.
Variables header or prompt-level overrides.Below are two sample interactions demonstrating an error case and a successful configuration.
[user]
> /shuffle-json-data
[agent]
> Please provide a JSON file to shuffle. Preferably as chat variable or attached context.
[user]
> /shuffle-json-data #file:funFacts.json ignoreProperties = "year", "category"; requiredProperties = "fact"
Unless variables in this prompt or in a request override the defaults, treat the input as follows:
When provided, the following variables override the default state. Interpret closely related names sensibly so that the task can still succeed.
Sponsors