{"id":"44524588-afef-4c08-9ab6-14f44e2a1b13","shortId":"MZKY7b","kind":"skill","title":"frontend-integration-yaml","tagline":"Generate canonical FrontendIntegration YAML from a simplified single-menu authoring model for frontend-forge.","description":"# Frontend Integration YAML\n\nGenerate submit-ready `FrontendIntegration` YAML from a simplified authoring model with one menu and one or more pages.\n\n## When to Use\n\n- generate FrontendIntegration YAML\n- create a quick integration YAML from a CRD\n- create an iframe based FrontendIntegration YAML\n- convert simplified single-menu config into canonical YAML\n\n## Do Not Use\n\n- troubleshooting existing FrontendIntegration resources\n- managing enable/disable/delete lifecycle\n- inspecting JSBundle, Job, controller, or status flows\n- editing manifest generation rules\n- handling multi-menu authoring models\n\n## Required Inputs\n\nAsk the user instead of guessing when any of these are missing:\n- `metadata.name`\n- `menu.displayName`\n- `menu.placements[]`\n- at least one page in `pages[]`\n- for `crdTable`: `group`, `version`, `scope`, `names.plural`\n- for `iframe`: `key` and `iframe.src`\n\n## Authoring Model\n\nUse the simplified single-menu model as input to the generator:\n- top-level `metadata`\n- top-level `spec` for optional passthrough fields\n- top-level `menu`\n- top-level `pages`\n\nDo not author canonical `spec.menus[]` by hand.\n\n## Workflow\n\n1. Extract the simplified authoring model.\n2. Fill only safe defaults.\n3. Keep the model in single-menu form.\n4. Run `scripts/generate_frontend_integration.py`.\n5. Return the generated canonical YAML.\n\n## Rules\n\n- Treat the generator script as the source of truth.\n- Do not manually reconstruct canonical YAML when the generator is available.\n- Always output canonical `kind: FrontendIntegration`.\n- Always expand `menu.placements[]` into `spec.menus[]`.\n- Always derive `children` from `pages[]`.\n- If any placement is `workspace`, force all `crdTable.scope` values to `Namespaced`.\n- Default `menu.icon` to `GridDuotone` when it is omitted.\n- Do not add runtime-managed metadata unless explicitly requested.\n\n## Output\n\n- Return the generated YAML first, unless explanation is requested.\n- Prefer a single `yaml` code block.\n- After the YAML, always output this exact guidance line:\n  `FrontendIntegration YAML has been generated. Reply 'apply' to deploy it directly.`","tags":["frontend","integration","yaml","kubesphere","agent-skills","cloud-native","cncf","devops","ebpf","hacktoberfest","kubernetes","llm"],"capabilities":["skill","source-kubesphere","skill-frontend-integration-yaml","topic-agent-skills","topic-cloud-native","topic-cncf","topic-devops","topic-ebpf","topic-hacktoberfest","topic-kubernetes","topic-kubesphere","topic-llm","topic-multi-cluster","topic-multi-tenancy","topic-observability"],"categories":["kubesphere"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/kubesphere/kubesphere/frontend-integration-yaml","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add kubesphere/kubesphere","source_repo":"https://github.com/kubesphere/kubesphere","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 16920 github stars · SKILL.md body (2,115 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-03T00:52:28.884Z","embedding":null,"createdAt":"2026-04-18T21:53:09.834Z","updatedAt":"2026-05-03T00:52:28.884Z","lastSeenAt":"2026-05-03T00:52:28.884Z","tsv":"'1':175 '2':181 '3':186 '4':195 '5':198 'add':261 'alway':225,230,235,288 'appli':300 'ask':101 'author':15,33,97,133,169,179 'avail':224 'base':60 'block':284 'canon':6,70,170,202,218,227 'children':237 'code':283 'config':68 'control':85 'convert':63 'crd':56 'crdtabl':123 'crdtable.scope':247 'creat':49,57 'default':185,251 'deploy':302 'deriv':236 'direct':304 'edit':89 'enable/disable/delete':80 'exact':291 'exist':76 'expand':231 'explan':276 'explicit':267 'extract':176 'field':158 'fill':182 'first':274 'flow':88 'forc':245 'forg':20 'form':194 'frontend':2,19,21 'frontend-forg':18 'frontend-integration-yaml':1 'frontendintegr':7,28,47,61,77,229,294 'generat':5,24,46,91,146,201,207,222,272,298 'gridduoton':254 'group':124 'guess':106 'guidanc':292 'hand':173 'handl':93 'ifram':59,129 'iframe.src':132 'input':100,143 'inspect':82 'instead':104 'integr':3,22,52 'job':84 'jsbundl':83 'keep':187 'key':130 'kind':228 'least':117 'level':149,153,161,165 'lifecycl':81 'line':293 'manag':79,264 'manifest':90 'manual':216 'menu':14,37,67,96,140,162,193 'menu.displayname':114 'menu.icon':252 'menu.placements':115,232 'metadata':150,265 'metadata.name':113 'miss':112 'model':16,34,98,134,141,180,189 'multi':95 'multi-menu':94 'names.plural':127 'namespac':250 'omit':258 'one':36,39,118 'option':156 'output':226,269,289 'page':42,119,121,166,239 'passthrough':157 'placement':242 'prefer':279 'quick':51 'readi':27 'reconstruct':217 'repli':299 'request':268,278 'requir':99 'resourc':78 'return':199,270 'rule':92,204 'run':196 'runtim':263 'runtime-manag':262 'safe':184 'scope':126 'script':208 'scripts/generate_frontend_integration.py':197 'simplifi':11,32,64,137,178 'singl':13,66,139,192,281 'single-menu':12,65,138,191 'skill' 'skill-frontend-integration-yaml' 'sourc':211 'source-kubesphere' 'spec':154 'spec.menus':171,234 'status':87 'submit':26 'submit-readi':25 'top':148,152,160,164 'top-level':147,151,159,163 'topic-agent-skills' 'topic-cloud-native' 'topic-cncf' 'topic-devops' 'topic-ebpf' 'topic-hacktoberfest' 'topic-kubernetes' 'topic-kubesphere' 'topic-llm' 'topic-multi-cluster' 'topic-multi-tenancy' 'topic-observability' 'treat':205 'troubleshoot':75 'truth':213 'unless':266,275 'use':45,74,135 'user':103 'valu':248 'version':125 'workflow':174 'workspac':244 'yaml':4,8,23,29,48,53,62,71,203,219,273,282,287,295","prices":[{"id":"282c0dbc-6ada-4700-8586-52e3abe28141","listingId":"44524588-afef-4c08-9ab6-14f44e2a1b13","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"kubesphere","category":"kubesphere","install_from":"skills.sh"},"createdAt":"2026-04-18T21:53:09.834Z"}],"sources":[{"listingId":"44524588-afef-4c08-9ab6-14f44e2a1b13","source":"github","sourceId":"kubesphere/kubesphere/frontend-integration-yaml","sourceUrl":"https://github.com/kubesphere/kubesphere/tree/master/skills/frontend-integration-yaml","isPrimary":false,"firstSeenAt":"2026-04-18T21:53:09.834Z","lastSeenAt":"2026-05-03T00:52:28.884Z"}],"details":{"listingId":"44524588-afef-4c08-9ab6-14f44e2a1b13","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"kubesphere","slug":"frontend-integration-yaml","github":{"repo":"kubesphere/kubesphere","stars":16920,"topics":["agent-skills","ai","cloud-native","cncf","devops","ebpf","hacktoberfest","kubernetes","kubesphere","llm","multi-cluster","multi-tenancy","observability","servicemesh","skills","skills-sh","skillsmp"],"license":"other","html_url":"https://github.com/kubesphere/kubesphere","pushed_at":"2026-04-27T06:10:27Z","description":"The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️","skill_md_sha":"dde2c7f5ed8862454d1cdc722defc49f2079f24e","skill_md_path":"skills/frontend-integration-yaml/SKILL.md","default_branch":"master","skill_tree_url":"https://github.com/kubesphere/kubesphere/tree/master/skills/frontend-integration-yaml"},"layout":"multi","source":"github","category":"kubesphere","frontmatter":{"name":"frontend-integration-yaml","description":"Generate canonical FrontendIntegration YAML from a simplified single-menu authoring model for frontend-forge."},"skills_sh_url":"https://skills.sh/kubesphere/kubesphere/frontend-integration-yaml"},"updatedAt":"2026-05-03T00:52:28.884Z"}}