{"id":"b0f32ef8-11c6-4f8c-ab44-9dc0496b58bb","shortId":"jcCGbY","kind":"skill","title":"shuffle-json-data","tagline":"Shuffle repetitive JSON objects safely by validating schema consistency before randomising entries.","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","agent-skills","agents","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"capabilities":["skill","source-github","skill-shuffle-json-data","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/shuffle-json-data","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (4,327 chars)","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-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:25.397Z","embedding":null,"createdAt":"2026-04-18T20:26:11.452Z","updatedAt":"2026-05-18T18:52:25.397Z","lastSeenAt":"2026-05-18T18:52:25.397Z","tsv":"'/shuffle-json-data':534,554 '1':145,385 '2':162,408 '3':180,426 '4':444 '5':463 'accept':258,266 'activ':265,306 'adjust':185 'agent':535 'alway':33 'appear':175 'appli':163,429 'arriv':42 'ask':49 'attach':399,548 'attempt':379 'b':283,295,335,341,353 'behavior':108,166,263,304,458 'best':84 'break':30 'c':359 'cannot':496 'case':525 'categori':559 'chat':545 'check':246 'checklist':202,433 'clear':364 'close':607 'collect':187,449 'combin':80 'compat':490 'configur':410,529,551 'confirm':55,96,222,388,435 'consist':13,153 'contain':310 'context':549 'convent':476 'corrupt':26 'custom':550 'data':4,19,28,45,66,76,82,91,94,133,200,257,383,406,431,446,469,480,495 'data-engin':81 'default':107,130,165,217,230,262,299,303,412,457,509,562,575,604 'demonstr':522 'describ':451 'differ':371 'effect':221 'encod':473 'engin':67,83 'ensur':205 'entri':16 'error':524 'escal':114 'everi':98,206 'exampl':123,318,516 'explain':365 'explicit':141 'fact':561 'fail':247 'fals':595 'file':37,46,236,308,392,407,487,531,540,555 'filenam':581 'first':38,586,592 'follow':270,373,580,600 'form':243 'format':475 'funfacts.json':556 'gather':386 'handl':368 'header':179,420 'honour':181 'ident':210 'ignor':199 'ignoreproperti':557,583,618 'inconsist':252,314,506 'input':36,387,578 'instead':253 'instruct':375 'integr':79 'interact':521 'interpret':606 'invalid':160 'json':3,7,18,23,31,57,75,150,235,259,267,272,298,319,391,395,461,486,491,539 'json-lik':394 'knowledg':88 'level':171,424 'like':396 'maintain':460 'mathemat':87 'merg':411 'miss':530 'mode':443 'modifi':255 'must':197,483 'name':104,214,276,282,288,294,316,323,328,334,340,346,352,358,609 'name-a':275,287,322,327,345 'name-b':281,293,333,339,351 'name-c':357 'nest':124,226,311,369,594,620 'none':584 'object':8,24,99,111,125,144,170,207,227,312,593 'observ':507 'one':51 'oper':127 'origin':472 'otherwis':376 'output':161,466 'overrid':143,183,363,425,513,573,602 'overview':20 'pattern':271 'paus':47,402 'pleas':536 'practic':85 'prefer':543 'preserv':470 'prevent':118 'proceed':53 'produc':159 'prompt':423,568 'prompt-level':422 'properti':103,191,196,213,274,280,286,292,315,321,326,332,338,344,350,356,372,589 'protect':93 'provid':149,484,537,598 'qualiti':95 'random':90,447 'randomis':15,72 'read':140 'reject':112,307 'relat':608 'remain':497 'reorder':74 'repetit':6,22 'report':250,504 'request':41,404,482,572 'requir':193,477,582 'requiredproperti':560,585,619 'resembl':268 'result':465 'return':464 'review':409 'role':62 'sacrif':78 'safe':9,61,120,439 'sampl':520 'schema':12 'select':442 'sensibl':610 'set':211,587 'share':100,208 'shuffl':2,5,17,21,60,121,132,157,167,189,204,381,437,445,468,479,501,542 'shuffle-json-data':1 'skill' 'skill-shuffle-json-data' 'source-github' 'state':131,218,231,300,510,563,605 'still':616 'stop':248,502 'structur':117,152,397,428,492 'succeed':137,617 'success':528 'suppli':415,515 'syntact':239 'syntax':32 'target':109 'task':614 'text':532,552 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'treat':576 'two':519 'unaccept':297 'understand':69 'unless':564 'user':533,553 'valid':11,34,136,146,201,240,273,279,285,291,320,325,331,337,343,349,355,427,432,462,498 'valu':278,284,290,296,330,336,342,348,354,360 'variabl':142,174,178,182,362,416,419,454,546,565,596,601 'verifi':232 'well':242 'without':25,43,77,158 'workflow':384 'year':558","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-05-18T18:52:25.397Z"},{"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-05-07T22:40:18.962Z"}],"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","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"777e2126e665ee9128ab070f028e36f91f31009c","skill_md_path":"skills/shuffle-json-data/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/shuffle-json-data"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"shuffle-json-data","description":"Shuffle repetitive JSON objects safely by validating schema consistency before randomising entries."},"skills_sh_url":"https://skills.sh/github/awesome-copilot/shuffle-json-data"},"updatedAt":"2026-05-18T18:52:25.397Z"}}