Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Operate FrontendIntegration resources and the frontend-forge extension. Use when Codex needs to create a FrontendIntegration from FrontendIntegration YAML, update or patch FI lifecycle state, inspect or troubleshoot FI build output, or create, enable, disable, uninstall, and inspect the frontend-forge extension through its InstallPlan and extension resources.
.claude/skills/kubesphere-frontend-forge-fi-operations/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 953% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 28% | 0% |
Operate FrontendIntegration resources and the frontend-forge extension with kubectl.
FrontendIntegration from complete FrontendIntegration YAMLJSBundle, ConfigMap, manifest, or source-spec annotationsfrontend-forge extensionFrontendIntegration YAML from natural languagefrontend-forgekubectl must be configured for the target cluster.frontend-forge extension installation and enabled state are prerequisites for all FI functionality.frontend-forge-controller exists only after the frontend-forge extension is installed.FrontendIntegration is cluster-scoped. Do not add -n when operating on FI resources.Always run these checks before any FI create, update, enable, disable, delete, inspect, or troubleshoot flow:
bashkubectl get extension frontend-forge kubectl get installplan frontend-forge -o yaml
Only continue to FI operations when:
frontend-forge extension existsfrontend-forge InstallPlan existsspec.enabled=true on the InstallPlanIf the extension is missing or disabled, switch to the extension management workflow first.
Only create FI from complete FrontendIntegration YAML content or a YAML file path.
kubectl apply -f.See references/lifecycle.md for the exact create and post-apply inspection commands.
See references/lifecycle.md for the exact update, enable, disable, and delete commands.
Disable an existing FI by patching spec.enabled=false.
See references/lifecycle.md for the exact disable command and post-check flow.
Enable an existing FI by patching spec.enabled=true.
See references/lifecycle.md for the exact enable command and post-check flow.
Delete the FI resource only after the preflight checks pass.
See references/lifecycle.md for the exact delete command.
Use fixed resource names for frontend-forge:
frontend-forgefrontend-forgeAsk the user for the frontend-forge extension version. If it is not provided, resolve the latest version first.
See references/extension-management.md for the exact version lookup command and InstallPlan YAML.
Patch installplan/frontend-forge so spec.enabled=false.
Patch installplan/frontend-forge so spec.enabled=true.
Delete installplan/frontend-forge.
Inspect extension/frontend-forge and installplan/frontend-forge.
See references/extension-management.md for the exact create, enable, disable, uninstall, and inspect commands.
FrontendIntegration YAML.kubectl apply -f for FI creation.SKILL.md focused on routing and decision logic.extension and installplan resources as the source of truth for extension state.frontend-forge-controller existence as a runtime signal, not the primary source of truth.frontend-forge.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 2,732 | 3,100 | +13% | 1 | 1 | 0% | 519 | 1,443 | +178% | 0 | 0 | — |
case-02 | fail→pass | 10,249 | 12,430 | +21% | 1 | 1 | 0% | 303 | 3,190 | +953% | 0 | 0 | — |
case-03 | fail→fail | 4,309 | 5,161 | +20% | 1 | 1 | 0% | 444 | 1,362 | +207% | 0 | 0 | — |
case-04 | fail→pass | 11,301 | 4,352 | -61% | 1 | 1 | 0% | 2,198 | 1,873 | -15% | 0 | 0 | — |
case-05 | fail→pass | 11,399 | 3,391 | -70% | 1 | 1 | 0% | 1,734 | 1,659 | -4% | 0 | 0 | — |
case-06 | fail→pass | 4,760 | 3,224 | -32% | 1 | 1 | 0% | 951 | 1,610 | +69% | 0 | 0 | — |
case-07 | pass→pass | 11,963 | 4,676 | -61% | 1 | 1 | 0% | 1,823 | 1,916 | +5% | 0 | 0 | — |
case-08 | pass→pass | 9,361 | 4,373 | -53% | 1 | 1 | 0% | 1,641 | 1,803 | +10% | 0 | 0 | — |
case-09 | fail→pass | 9,846 | 5,351 | -46% | 1 | 1 | 0% | 1,608 | 2,056 | +28% | 0 | 0 | — |
case-10 | fail→pass | 5,084 | 3,756 | -26% | 1 | 1 | 0% | 966 | 1,759 | +82% | 0 | 0 | — |
case-11 | fail→pass | 9,457 | 4,115 | -56% | 1 | 1 | 0% | 1,551 | 1,747 | +13% | 0 | 0 | — |
case-12 | fail→pass | 13,441 | 8,942 | -33% | 1 | 1 | 0% | 1,890 | 1,651 | -13% | 0 | 0 | — |
case-13 | fail→pass | 11,859 | 22,657 | +91% | 1 | 1 | 0% | 1,770 | 1,369 | -23% | 0 | 0 | — |
case-14 | pass→pass | 9,289 | 4,275 | -54% | 1 | 1 | 0% | 1,457 | 1,831 | +26% | 0 | 0 | — |
case-15 | fail→pass | 12,845 | 4,520 | -65% | 1 | 1 | 0% | 2,087 | 1,761 | -16% | 0 | 0 | — |
case-16 | fail→pass | 11,276 | 4,343 | -61% | 1 | 1 | 0% | 1,812 | 1,832 | +1% | 0 | 0 | — |
case-17 | fail→pass | 13,801 | 11,845 | -14% | 1 | 1 | 0% | 2,447 | 2,708 | +11% | 0 | 0 | — |
case-18 | pass→pass | 9,560 | 5,411 | -43% | 1 | 1 | 0% | 1,437 | 1,875 | +30% | 0 | 0 | — |
case-19 | fail→pass | 16,046 | 10,303 | -36% | 1 | 1 | 0% | 2,580 | 2,832 | +10% | 0 | 0 | — |
case-20 | fail→pass | 10,693 | 2,707 | -75% | 1 | 1 | 0% | 1,563 | 1,503 | -4% | 0 | 0 | — |
case-21 | fail→fail | 5,347 | 6,694 | +25% | 1 | 1 | 0% | 969 | 2,208 | +128% | 0 | 0 | — |
case-22 | pass→pass | 17,774 | 5,511 | -69% | 1 | 1 | 0% | 1,720 | 1,979 | +15% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +64 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.