Skills

Frontend Integration Yaml

Generate canonical FrontendIntegration YAML from a simplified single-menu authoring...

Install

npx skills add kubesphere/kubesphere --skill frontend-integration-yaml -g -a claude-code -y
Repository
kubesphere/kubesphere17.1k
Category
Design
Updated
4mo ago
License
See repository
Context cost
Lightabout 529 tokens
Runs scripts
Yes, review before use

What it does

Generate canonical FrontendIntegration YAML from a simplified single-menu authoring model for frontend-forge.

Frontend Integration YAML

Generate submit-ready FrontendIntegration YAML from a simplified authoring model with one menu and one or more pages.

When to Use

  • generate FrontendIntegration YAML
  • create a quick integration YAML from a CRD
  • create an iframe based FrontendIntegration YAML
  • convert simplified single-menu config into canonical YAML

Do Not Use

  • troubleshooting existing FrontendIntegration resources
  • managing enable/disable/delete lifecycle
  • inspecting JSBundle, Job, controller, or status flows
  • editing manifest generation rules
  • handling multi-menu authoring models

Required Inputs

Ask the user instead of guessing when any of these are missing:

  • metadata.name
  • menu.displayName
  • menu.placements[]
  • at least one page in pages[]
  • for crdTable: group, version, scope, names.plural
  • for iframe: key and iframe.src

Authoring Model

Use the simplified single-menu model as input to the generator:

  • top-level metadata
  • top-level spec for optional passthrough fields
  • top-level menu
  • top-level pages

Do not author canonical spec.menus[] by hand.

Workflow

  1. Extract the simplified authoring model.
  2. Fill only safe defaults.
  3. Keep the model in single-menu form.
  4. Run scripts/generate_frontend_integration.py.
  5. Return the generated canonical YAML.

Rules

  • Treat the generator script as the source of truth.
  • Do not manually reconstruct canonical YAML when the generator is available.
  • Always output canonical kind: FrontendIntegration.
  • Always expand menu.placements[] into spec.menus[].
  • Always derive children from pages[].
  • If any placement is workspace, force all crdTable.scope values to Namespaced.
  • Default menu.icon to GridDuotone when it is omitted.
  • Do not add runtime-managed metadata unless explicitly requested.

Output

Read the whole SKILL.md on GitHub

More in Design