{"id":"b0f32ef8-11c6-4f8c-ab44-9dc0496b58bb","shortId":"jcCGbY","kind":"skill","title":"Shuffle Json Data","tagline":"Awesome Copilot skill by Github","description":"# Shuffle JSON Data\n\n## Overview\n\nShuffle repetitive JSON objects without corrupting the data or breaking JSON\nsyntax. Always validate the input file first. If a request arrives without a\ndata file, pause and ask for one. Only proceed after confirming the JSON can be\nshuffled safely.\n\n## Role\n\nYou are a data engineer who understands how to randomise or reorder JSON data\nwithout sacrificing integrity. Combine data-engineering best practices with\nmathematical knowledge of randomizing data to protect data quality.\n\n- Confirm that every object shares the same property names when the default\n  behavior targets each object.\n- Reject or escalate when the structure prevents a safe shuffle (for example,\n  nested objects while operating in the default state).\n- Shuffle data only after validation succeeds or after reading explicit\n  variable overrides.\n\n## Objectives\n\n1. Validate that the provided JSON is structurally consistent and can be\n   shuffled without producing invalid output.\n2. Apply the default behavior—shuffle at the object level—when no variables\n   appear under the `Variables` header.\n3. Honour variable overrides that adjust which collections are shuffled, which\n   properties are required, or which properties must be ignored.\n\n## Data Validation Checklist\n\nBefore shuffling:\n\n- Ensure every object shares an identical set of property names when the\n  default state is in effect.\n- Confirm there are no nested objects in the default state.\n- Verify that the JSON file itself is syntactically valid and well formed.\n- If any check fails, stop and report the inconsistency instead of modifying\n  the data.\n\n## Acceptable JSON\n\nWhen the default behavior is active, acceptable JSON resembles the following\npattern:\n\n```json\n[\n  {\n    \"VALID_PROPERTY_NAME-a\": \"value\",\n    \"VALID_PROPERTY_NAME-b\": \"value\"\n  },\n  {\n    \"VALID_PROPERTY_NAME-a\": \"value\",\n    \"VALID_PROPERTY_NAME-b\": \"value\"\n  }\n]\n```\n\n## Unacceptable JSON (Default State)\n\nIf the default behavior is active, reject files that contain nested objects or\ninconsistent property names. For example:\n\n```json\n[\n  {\n    \"VALID_PROPERTY_NAME-a\": {\n      \"VALID_PROPERTY_NAME-a\": \"value\",\n      \"VALID_PROPERTY_NAME-b\": \"value\"\n    },\n    \"VALID_PROPERTY_NAME-b\": \"value\"\n  },\n  {\n    \"VALID_PROPERTY_NAME-a\": \"value\",\n    \"VALID_PROPERTY_NAME-b\": \"value\",\n    \"VALID_PROPERTY_NAME-c\": \"value\"\n  }\n]\n```\n\nIf variable overrides clearly explain how to handle nesting or differing\nproperties, follow those instructions; otherwise do not attempt to shuffle the\ndata.\n\n## Workflow\n\n1. **Gather Input** – Confirm that a JSON file or JSON-like structure is\n   attached. If not, pause and request the data file.\n2. **Review Configuration** – Merge defaults with any supplied variables under\n   the `Variables` header or prompt-level overrides.\n3. **Validate Structure** – Apply the Data Validation Checklist to confirm that\n   shuffling is safe in the selected mode.\n4. **Shuffle Data** – Randomize the collection(s) described by the variables or\n   the default behavior while maintaining JSON validity.\n5. **Return Results** – Output the shuffled data, preserving the original\n   encoding and formatting conventions.\n\n## Requirements for Shuffling Data\n\n- Each request must provide a JSON file or a compatible JSON structure.\n- If the data cannot remain valid after a shuffle, stop and report the\n  inconsistency.\n- Observe the default state when no overrides are supplied.\n\n## Examples\n\nBelow are two sample interactions demonstrating an error case and a successful\nconfiguration.\n\n### Missing File\n\n```text\n[user]\n> /shuffle-json-data\n[agent]\n> Please provide a JSON file to shuffle. Preferably as chat variable or attached context.\n```\n\n### Custom Configuration\n\n```text\n[user]\n> /shuffle-json-data #file:funFacts.json ignoreProperties = \"year\", \"category\"; requiredProperties = \"fact\"\n```\n\n## Default State\n\nUnless variables in this prompt or in a request override the defaults, treat the\ninput as follows:\n\n- fileName = **REQUIRED**\n- ignoreProperties = none\n- requiredProperties = first set of properties from the first object\n- nesting = false\n\n## Variables\n\nWhen provided, the following variables override the default state. Interpret\nclosely related names sensibly so that the task can still succeed.\n\n- ignoreProperties\n- requiredProperties\n- nesting","tags":["shuffle","json","data","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/shuffle-json-data","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T08:40:12.490Z","embedding":null,"createdAt":"2026-04-18T20:26:11.452Z","updatedAt":"2026-04-22T08:40:12.490Z","lastSeenAt":"2026-04-22T08:40:12.490Z","tsv":"'/shuffle-json-data':526,546 '1':137,377 '2':154,400 '3':172,418 '4':436 '5':455 'accept':250,258 'activ':257,298 'adjust':177 'agent':527 'alway':25 'appear':167 'appli':155,421 'arriv':34 'ask':41 'attach':391,540 'attempt':371 'awesom':4 'b':275,287,327,333,345 'behavior':100,158,255,296,450 'best':76 'break':22 'c':351 'cannot':488 'case':517 'categori':551 'category-awesome-copilot' 'chat':537 'check':238 'checklist':194,425 'clear':356 'close':599 'collect':179,441 'combin':72 'compat':482 'configur':402,521,543 'confirm':47,88,214,380,427 'consist':145 'contain':302 'context':541 'convent':468 'copilot':5 'corrupt':18 'custom':542 'data':3,11,20,37,58,68,74,83,86,125,192,249,375,398,423,438,461,472,487 'data-engin':73 'default':99,122,157,209,222,254,291,295,404,449,501,554,567,596 'demonstr':514 'describ':443 'differ':363 'effect':213 'encod':465 'engin':59,75 'ensur':197 'error':516 'escal':106 'everi':90,198 'exampl':115,310,508 'explain':357 'explicit':133 'fact':553 'fail':239 'fals':587 'file':29,38,228,300,384,399,479,523,532,547 'filenam':573 'first':30,578,584 'follow':262,365,572,592 'form':235 'format':467 'funfacts.json':548 'gather':378 'github':8 'handl':360 'header':171,412 'honour':173 'ident':202 'ignor':191 'ignoreproperti':549,575,610 'inconsist':244,306,498 'input':28,379,570 'instead':245 'instruct':367 'integr':71 'interact':513 'interpret':598 'invalid':152 'json':2,10,15,23,49,67,142,227,251,259,264,290,311,383,387,453,478,483,531 'json-lik':386 'knowledg':80 'level':163,416 'like':388 'maintain':452 'mathemat':79 'merg':403 'miss':522 'mode':435 'modifi':247 'must':189,475 'name':96,206,268,274,280,286,308,315,320,326,332,338,344,350,601 'name-a':267,279,314,319,337 'name-b':273,285,325,331,343 'name-c':349 'nest':116,218,303,361,586,612 'none':576 'object':16,91,103,117,136,162,199,219,304,585 'observ':499 'one':43 'oper':119 'origin':464 'otherwis':368 'output':153,458 'overrid':135,175,355,417,505,565,594 'overview':12 'pattern':263 'paus':39,394 'pleas':528 'practic':77 'prefer':535 'preserv':462 'prevent':110 'proceed':45 'produc':151 'prompt':415,560 'prompt-level':414 'properti':95,183,188,205,266,272,278,284,307,313,318,324,330,336,342,348,364,581 'protect':85 'provid':141,476,529,590 'qualiti':87 'random':82,439 'randomis':64 'read':132 'reject':104,299 'relat':600 'remain':489 'reorder':66 'repetit':14 'report':242,496 'request':33,396,474,564 'requir':185,469,574 'requiredproperti':552,577,611 'resembl':260 'result':457 'return':456 'review':401 'role':54 'sacrif':70 'safe':53,112,431 'sampl':512 'select':434 'sensibl':602 'set':203,579 'share':92,200 'shuffl':1,9,13,52,113,124,149,159,181,196,373,429,437,460,471,493,534 'skill':6 'source-github' 'state':123,210,223,292,502,555,597 'still':608 'stop':240,494 'structur':109,144,389,420,484 'succeed':129,609 'success':520 'suppli':407,507 'syntact':231 'syntax':24 'target':101 'task':606 'text':524,544 'treat':568 'two':511 'unaccept':289 'understand':61 'unless':556 'user':525,545 'valid':26,128,138,193,232,265,271,277,283,312,317,323,329,335,341,347,419,424,454,490 'valu':270,276,282,288,322,328,334,340,346,352 'variabl':134,166,170,174,354,408,411,446,538,557,588,593 'verifi':224 'well':234 'without':17,35,69,150 'workflow':376 'year':550","prices":[{"id":"3af0ecff-7c18-4588-918b-ce658aa73605","listingId":"b0f32ef8-11c6-4f8c-ab44-9dc0496b58bb","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:26:11.452Z"}],"sources":[{"listingId":"b0f32ef8-11c6-4f8c-ab44-9dc0496b58bb","source":"github","sourceId":"github/awesome-copilot/shuffle-json-data","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/shuffle-json-data","isPrimary":false,"firstSeenAt":"2026-04-18T21:51:16.326Z","lastSeenAt":"2026-04-22T06:52:31.822Z"},{"listingId":"b0f32ef8-11c6-4f8c-ab44-9dc0496b58bb","source":"skills_sh","sourceId":"github/awesome-copilot/shuffle-json-data","sourceUrl":"https://skills.sh/github/awesome-copilot/shuffle-json-data","isPrimary":true,"firstSeenAt":"2026-04-18T20:26:11.452Z","lastSeenAt":"2026-04-22T08:40:12.490Z"}],"details":{"listingId":"b0f32ef8-11c6-4f8c-ab44-9dc0496b58bb","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"shuffle-json-data","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/shuffle-json-data"},"updatedAt":"2026-04-22T08:40:12.490Z"}}