CtrlK
BlogDocsLog inGet started
Tessl Logo

frontend-integration-yaml

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

55

Quality

61%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/frontend-integration-yaml/SKILL.md
SKILL.md
Quality
Evals
Security

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

  • Return the generated YAML first, unless explanation is requested.
  • Prefer a single yaml code block.
  • After the YAML, always output this exact guidance line: FrontendIntegration YAML has been generated. Reply 'apply' to deploy it directly.
Repository
kubesphere/kubesphere
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.