{"id":"c1228de4-f570-467c-9fee-a3d585080a47","shortId":"CDxrwz","kind":"skill","title":"shared-system-init-shape-parity","tagline":"Centralize system init or capability payload construction in one builder so multiple transports emit identical schemas and only vary inputs or delivery.","description":"# SKILL: Shared System Init Shape Parity\n**Domain:** transport-architecture\n**Trigger:** Use when the same system init or capability-announcement payload is emitted from multiple entrypoints or transports and downstream clients depend on one stable schema.\n**Source Pattern:** Distilled from reviewed remote-control, bridge transport, and capability-advertising implementations.\n\n## Core Method\nDefine one canonical builder for the init payload and make every entrypoint call it. Put field names, defaults, derived state, feature-gated fields, and final key shaping inside that builder, not in the callers. Each transport path should do only path-local work: gather inputs, prefilter or redact collections when policy requires it, and choose when to send the message. This keeps the wire schema identical across stream, bridge, headless, or future transports so clients and tests do not drift between supposedly equivalent init events.\n\n## Key Rules\n- Make the shared builder own the full schema contract, including optional and feature-gated fields plus derived values such as session identifiers or fast-mode state.\n- Let callers vary only inputs and delivery mechanics. They may filter commands, redact sensitive inventories, or load metadata asynchronously, but they should not hand-assemble sibling init objects.\n- If two paths describe the same conceptual event, route both through the same builder even when one yields into a stream and another pushes via a bridge writer.\n- Add new init fields once in the builder, then update callers only enough to supply the new inputs; never patch a field into one transport and plan to mirror it later.\n- Keep transport-specific policy outside the builder when it truly differs by caller. The builder should serialize the canonical shape from supplied inputs, not decide privacy, bridge safety, or connection timing on its own.\n- Review and test parity at the schema level, not just field-by-field intent, because drift usually appears as omitted, renamed, or differently defaulted keys.\n\n## Example Application\nA CLI has a normal query stream and a reconnecting remote bridge. The query engine emits the first init event by calling the shared init-payload builder. On bridge connect, the bridge path filters unsafe commands, redacts local integration inventories, and calls that same builder before sending its own init event. Both consumers receive the same key set and layout even though the collection contents differ.\n\n## Anti-Patterns (What NOT to do)\n- Do not duplicate system init object literals in separate transports; new fields will land in one path and silently disappear from another.\n- Do not hide caller-specific policy inside the canonical builder if some transports need full metadata while others need filtered subsets.\n- Do not justify a near-copy serializer just because one path is \"only for bridge\" or \"only for headless\"; once clients depend on it, it is part of the public wire contract.","tags":["shared","system","init","shape","parity","cskill","agents","ychampion","agent-skills","ai-agents","cli","coding-agents"],"capabilities":["skill","source-ychampion","skill-shared-system-init-shape-parity","topic-agent-skills","topic-ai-agents","topic-cli","topic-coding-agents","topic-context-engineering","topic-developer-tools","topic-mcp","topic-multi-agent","topic-terminal-ui"],"categories":["cskill-agents"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ychampion/cskill-agents/shared-system-init-shape-parity","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ychampion/cskill-agents","source_repo":"https://github.com/ychampion/cskill-agents","install_from":"skills.sh"}},"qualityScore":"0.467","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 34 github stars · SKILL.md body (2,958 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-04-22T00:56:56.328Z","embedding":null,"createdAt":"2026-04-18T22:21:17.145Z","updatedAt":"2026-04-22T00:56:56.328Z","lastSeenAt":"2026-04-22T00:56:56.328Z","tsv":"'across':151 'add':257 'advertis':79 'announc':49 'anoth':251,446 'anti':419 'anti-pattern':418 'appear':341 'applic':350 'architectur':38 'assembl':225 'asynchron':218 'bridg':74,153,255,315,362,380,383,484 'builder':16,86,113,175,242,264,295,303,378,396,457 'call':95,372,393 'caller':117,201,267,301,451 'caller-specif':450 'canon':85,307,456 'capability-advertis':77 'capability-announc':47 'capabl':11,48,78 'central':7 'choos':139 'cli':352 'client':60,159,490 'collect':133,415 'command':211,387 'conceptu':235 'connect':318,381 'construct':13 'consum':404 'content':416 'contract':180,501 'control':73 'copi':475 'core':81 'decid':313 'default':100,347 'defin':83 'deliveri':28,206 'depend':61,491 'deriv':101,189 'describ':232 'differ':299,346,417 'disappear':444 'distil':68 'domain':35 'downstream':59 'drift':164,339 'duplic':427 'emit':20,52,366 'engin':365 'enough':269 'entrypoint':55,94 'equival':167 'even':243,412 'event':169,236,370,402 'everi':93 'exampl':349 'fast':197 'fast-mod':196 'featur':104,185 'feature-g':103,184 'field':98,106,187,260,278,334,336,436 'field-by-field':333 'filter':210,385,467 'final':108 'first':368 'full':178,462 'futur':156 'gate':105,186 'gather':128 'hand':224 'hand-assembl':223 'headless':154,488 'hide':449 'ident':21,150 'identifi':194 'implement':80 'includ':181 'init':4,9,32,45,89,168,227,259,369,376,401,429 'init-payload':375 'input':26,129,204,274,311 'insid':111,454 'integr':390 'intent':337 'inventori':214,391 'justifi':471 'keep':146,288 'key':109,170,348,408 'land':438 'later':287 'layout':411 'let':200 'level':330 'liter':431 'load':216 'local':126,389 'make':92,172 'may':209 'mechan':207 'messag':144 'metadata':217,463 'method':82 'mirror':285 'mode':198 'multipl':18,54 'name':99 'near':474 'near-copi':473 'need':461,466 'never':275 'new':258,273,435 'normal':355 'object':228,430 'omit':343 'one':15,63,84,245,280,440,479 'option':182 'other':465 'outsid':293 'pariti':6,34,326 'part':496 'patch':276 'path':120,125,231,384,441,480 'path-loc':124 'pattern':67,420 'payload':12,50,90,377 'plan':283 'plus':188 'polici':135,292,453 'prefilt':130 'privaci':314 'public':499 'push':252 'put':97 'queri':356,364 'receiv':405 'reconnect':360 'redact':132,212,388 'remot':72,361 'remote-control':71 'renam':344 'requir':136 'review':70,323 'rout':237 'rule':171 'safeti':316 'schema':22,65,149,179,329 'send':142,398 'sensit':213 'separ':433 'serial':305,476 'session':193 'set':409 'shape':5,33,110,308 'share':2,30,174,374 'shared-system-init-shape-par':1 'sibl':226 'silent':443 'skill':29 'skill-shared-system-init-shape-parity' 'sourc':66 'source-ychampion' 'specif':291,452 'stabl':64 'state':102,199 'stream':152,249,357 'subset':468 'suppli':271,310 'suppos':166 'system':3,8,31,44,428 'test':161,325 'though':413 'time':319 'topic-agent-skills' 'topic-ai-agents' 'topic-cli' 'topic-coding-agents' 'topic-context-engineering' 'topic-developer-tools' 'topic-mcp' 'topic-multi-agent' 'topic-terminal-ui' 'transport':19,37,57,75,119,157,281,290,434,460 'transport-architectur':36 'transport-specif':289 'trigger':39 'truli':298 'two':230 'unsaf':386 'updat':266 'use':40 'usual':340 'valu':190 'vari':25,202 'via':253 'wire':148,500 'work':127 'writer':256 'yield':246","prices":[{"id":"e2263199-d760-4f3a-a228-456443543c27","listingId":"c1228de4-f570-467c-9fee-a3d585080a47","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ychampion","category":"cskill-agents","install_from":"skills.sh"},"createdAt":"2026-04-18T22:21:17.145Z"}],"sources":[{"listingId":"c1228de4-f570-467c-9fee-a3d585080a47","source":"github","sourceId":"ychampion/cskill-agents/shared-system-init-shape-parity","sourceUrl":"https://github.com/ychampion/cskill-agents/tree/main/skills/shared-system-init-shape-parity","isPrimary":false,"firstSeenAt":"2026-04-18T22:21:17.145Z","lastSeenAt":"2026-04-22T00:56:56.328Z"}],"details":{"listingId":"c1228de4-f570-467c-9fee-a3d585080a47","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ychampion","slug":"shared-system-init-shape-parity","github":{"repo":"ychampion/cskill-agents","stars":34,"topics":["agent-skills","ai-agents","cli","coding-agents","context-engineering","developer-tools","mcp","multi-agent","terminal-ui"],"license":"mit","html_url":"https://github.com/ychampion/cskill-agents","pushed_at":"2026-04-04T14:13:23Z","description":"Agent skills for coding CLIs, multi-agent runtimes, context engines, MCP extensions, and terminal tooling. Instead of using claude code's source code, give your agent skills to create your own!","skill_md_sha":"4c5ff4349f94e287baacaee14cffd388134beb3c","skill_md_path":"skills/shared-system-init-shape-parity/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ychampion/cskill-agents/tree/main/skills/shared-system-init-shape-parity"},"layout":"multi","source":"github","category":"cskill-agents","frontmatter":{"name":"shared-system-init-shape-parity","description":"Centralize system init or capability payload construction in one builder so multiple transports emit identical schemas and only vary inputs or delivery."},"skills_sh_url":"https://skills.sh/ychampion/cskill-agents/shared-system-init-shape-parity"},"updatedAt":"2026-04-22T00:56:56.328Z"}}