Install the "nginx-to-higress-migration" agent skill from https://github.com/higress-group/higress/tree/main/.agents/skills/nginx-to-higress-migration into .claude/skills/nginx-to-higress-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nginx-to-higress-migration", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add higress-group/higress --skill nginx-to-higress-migration -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "nginx-to-higress-migration" agent skill from https://github.com/higress-group/higress/tree/main/.agents/skills/nginx-to-higress-migration into .agents/skills/nginx-to-higress-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nginx-to-higress-migration", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add higress-group/higress --skill nginx-to-higress-migration -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "nginx-to-higress-migration" agent skill from https://github.com/higress-group/higress/tree/main/.agents/skills/nginx-to-higress-migration into .cursor/skills/nginx-to-higress-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nginx-to-higress-migration", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add higress-group/higress --skill nginx-to-higress-migration -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "nginx-to-higress-migration" agent skill from https://github.com/higress-group/higress/tree/main/.agents/skills/nginx-to-higress-migration into .gemini/skills/nginx-to-higress-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nginx-to-higress-migration", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add higress-group/higress --skill nginx-to-higress-migration -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "nginx-to-higress-migration" agent skill from https://github.com/higress-group/higress/tree/main/.agents/skills/nginx-to-higress-migration into .github/skills/nginx-to-higress-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nginx-to-higress-migration", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add higress-group/higress --skill nginx-to-higress-migration -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "nginx-to-higress-migration" agent skill from https://github.com/higress-group/higress/tree/main/.agents/skills/nginx-to-higress-migration into .opencode/skills/nginx-to-higress-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nginx-to-higress-migration", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
nginx-to-higress-migration
GitHub stars
9.5k
Token cost
~3.9k tokens
SKILL.md length
892 words
Files
11 (incl. scripts, references)
Skills in repo
11
Repo updated
First seen
Licence
Apache-2.0
At a glance
Migrate from ingress-nginx to Higress in Kubernetes environments.
Works in 6 steps: Discovery → Compatibility Analysis → Higress Installation (Parallel with nginx) → …
Analyzing existing ingress-nginx setup
SKILL.md covers ⚠️ Critical Limitation:…, Prerequisites, Pre-Migration Checklist and Migration Workflow, plus 5 more sections
Runs Shell scripts from its folder; calls kubectl, curl and helm; reaches higress.io
What it does
Nginx To Higress Migration is an agent skill from higress-group/higress. Migrate from ingress-nginx to Higress in Kubernetes environments. Use when (1) analyzing existing ingress-nginx setup (2) reading nginx Ingress resources and ConfigMaps (3) installing Higress via helm with proper ingressClass (4) identifying unsupported nginx annotations (5) generating WASM plugins for nginx snippets/advanced features (6) building and deploying custom plugins to image registry. Supports full migration workflow with compatibility analysis and plugin generation.
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts and reference files (for example `README.md`, `README_CN.md` and `references/annotation-mapping.md`).
It sits in DevOps & Cloud, covering Cloud networking and Container orchestration. It works with NGINX, Kubernetes and WebAssembly. The repository describes itself as: 🤖 AI Gateway | AI Native API Gateway. The licence is Apache-2.0.
When your agent uses it
Analyzing existing ingress-nginx setup
Reading nginx Ingress resources and ConfigMaps
Installing Higress via helm with proper ingressClass
Identifying unsupported nginx annotations
Example prompts
“/nginx-to-higress-migration”
Requirements
A Bash shell
Docker
Workflow steps
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c74d7e2. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships 4 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
kubectl
curl
helm
jq
go
docker
From the folder's file list and the shell code blocks in SKILL.md.
Network
Hosts in commands or code, which the agent is likely to contact:
higress.io
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Nginx To Higress Migration loads about 3.9k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 127 tokens; SKILL.md has 892 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~127
When it runs· the whole SKILL.md, loaded when a task matches
~3.9k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~10k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
Download SKILL.mdSave it as .claude/skills/nginx-to-higress-migration/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
nginx-to-higress-migration
description
Migrate from ingress-nginx to Higress in Kubernetes environments. Use when (1) analyzing existing ingress-nginx setup (2) reading nginx Ingress resources and ConfigMaps (3) installing Higress via helm with proper ingressClass (4) identifying unsupported nginx annotations (5) generating WASM plugins for nginx snippets/advanced features (6) building and deploying custom plugins to image registry. Supports full migration workflow with compatibility analysis and plugin generation.
Nginx to Higress Migration
Automate migration from ingress-nginx to Higress in Kubernetes environments.
⚠️ Critical Limitation: Snippet Annotations NOT Supported
Before you begin: Higress does NOT support the following nginx annotations:
nginx.ingress.kubernetes.io/server-snippet
nginx.ingress.kubernetes.io/configuration-snippet
nginx.ingress.kubernetes.io/http-snippet
These annotations will be silently ignored, causing functionality loss!
Pre-migration check (REQUIRED):
bash
kubectl get ingress -A -o yaml | grep -E "snippet" | wc -l
If count > 0, you MUST plan WASM plugin replacements before migration.
See Phase 6 for alternatives.
Prerequisites
kubectl configured with cluster access
helm 3.x installed
Go 1.24+ (for WASM plugin compilation)
Docker (for plugin image push)
Pre-Migration Checklist
Before Starting
Backup all Ingress resourcesbash
kubectl get ingress -A -o yaml > ingress-backup.yaml
Identify snippet usage (see warning above)
List all nginx annotations in usebash
kubectl get ingress -A -o yaml | grep "nginx.ingress.kubernetes.io" | sort | uniq -c
# Check for ingress-nginx installation
kubectl get pods -A | grep ingress-nginx
kubectl get ingressclass
# List all Ingress resources using nginx class
kubectl get ingress -A -o json | jq '.items[] | select(.spec.ingressClassName=="nginx" or .metadata.annotations["kubernetes.io/ingress.class"]=="nginx")'
# Get nginx ConfigMap
kubectl get configmap -n ingress-nginx ingress-nginx-controller -o yaml
Phase 2: Compatibility Analysis
Run the analysis script to identify unsupported features:
bash
./scripts/analyze-ingress.sh [namespace]
Key point: No Ingress modification needed!
Higress natively supports nginx.ingress.kubernetes.io/* annotations - your existing Ingress resources work as-is.
In Kind or local Kubernetes clusters, the LoadBalancer service will stay in PENDING state. Use one of these methods:
Option 1: Port Forward (Recommended for testing)
bash
# Forward Higress gateway to local port
kubectl port-forward -n higress-system svc/higress-gateway 8080:80 8443:443 &
# Test with Host header
curl -H "Host: example.com" http://localhost:8080/
Option 2: NodePort
bash
# Patch service to NodePort
kubectl patch svc -n higress-system higress-gateway \
-p '{"spec":{"type":"NodePort"}}'
# Get assigned port
NODE_PORT=$(kubectl get svc -n higress-system higress-gateway \
-o jsonpath='{.spec.ports[?(@.port==80)].nodePort}')
# Test (use docker container IP for Kind)
curl -H "Host: example.com" http://localhost:${NODE_PORT}/
Option 3: Kind with Port Mapping (Requires cluster recreation)
Before traffic switch, use the generated test script:
bash
# Generate test script
./scripts/generate-migration-test.sh > migration-test.sh
chmod +x migration-test.sh
# Get Higress gateway IP
HIGRESS_IP=$(kubectl get svc -n higress-system higress-gateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
# Run all tests
./migration-test.sh ${HIGRESS_IP}
The test script will:
Test every host/path combination from all Ingress resources
Report pass/fail for each route
Provide a summary and next steps
Only proceed with traffic cutover after all tests pass!
Troubleshooting
Common Issues
Q1: Ingress created but routes return 404
Symptoms: Ingress shows Ready, but curl returns 404
Check:
Verify IngressClass matches Higress configbash
kubectl get ingress <name> -o yaml | grep ingressClassName
Since nginx keeps running during migration, rollback is simply switching traffic back:
bash
# If traffic was switched via DNS:
# - Revert DNS records to nginx gateway IP
# If traffic was switched via L4 proxy:
# - Revert upstream to nginx service IP
# Nginx is still running, no action needed on k8s side
Post-Migration Cleanup
Only after traffic has been fully migrated and stable:
bash
# 1. Monitor Higress for a period (recommended: 24-48h)
# 2. Backup nginx resources
kubectl get all -n ingress-nginx -o yaml > ingress-nginx-backup.yaml
# 3. Scale down nginx (keep for emergency rollback)
kubectl scale deployment -n ingress-nginx ingress-nginx-controller --replicas=0
# 4. (Optional) After extended stable period, remove nginx
kubectl delete namespace ingress-nginx
Nginx To Higress Migration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Nginx To Higress Migration compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Nginx To Higress Migration this skillhigress-group/higress
Gives step-by-step checklists for adding Ingress annotations, VirtualServer fields and Helm values to the NGINX Kubernetes Ingress Controller, with common gotchas.
Step-by-step checklist for adding a new Policy CRD type to the NGINX Ingress Controller, from the Go types and validation to config generation and templates.
Installs, uninstalls, checks and troubleshoots the KubeSphere Gateway extension built on ingress-nginx, including gateways stuck in bad states and Helm or pod failures.
Syntax reference for KFL2, the CEL-based display filter language used to search Kubernetes network traffic captured by Kubeshark, loaded before any filter is written.
Help users create and manage mirrord preview environments — running a modified service as an isolated pod in a shared Kubernetes cluster, scoped by an environment key and HTTP/queue traffic…
Migrate from ingress-nginx to Higress in Kubernetes environments. Nginx To Higress Migration is an agent skill from higress-group/higress. Migrate from ingress-nginx to Higress in Kubernetes environments.
When should I use Nginx To Higress Migration?
Nginx To Higress Migration fits situations like: analyzing existing ingress-nginx setup; reading nginx Ingress resources and ConfigMaps; installing Higress via helm with proper ingressClass; identifying unsupported nginx annotations.
How do I install Nginx To Higress Migration in Claude Code?
Run `npx skills add higress-group/higress --skill nginx-to-higress-migration -a claude-code`. Or copy the skill folder (.agents/skills/nginx-to-higress-migration in higress-group/higress) into .claude/skills/nginx-to-higress-migration in your project. Claude Code loads it when a task matches its description.
How do I install Nginx To Higress Migration in Codex?
Run `npx skills add higress-group/higress --skill nginx-to-higress-migration -a codex`. Or copy the skill folder (.agents/skills/nginx-to-higress-migration in higress-group/higress) into .agents/skills/nginx-to-higress-migration in your project. Codex loads it when a task matches its description.
Can I use Nginx To Higress Migration in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add higress-group/higress --skill nginx-to-higress-migration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nginx-to-higress-migration, .gemini/skills/nginx-to-higress-migration, .github/skills/nginx-to-higress-migration and .opencode/skills/nginx-to-higress-migration in your project.
What does Nginx To Higress Migration need to run?
Going by SKILL.md and its folder, Nginx To Higress Migration needs a shell for the scripts in its folder and the command-line tools its instructions call (kubectl, curl, helm, jq, go and docker). Our summary lists: A Bash shell; Docker.
Does Nginx To Higress Migration access the network?
SKILL.md names 1 domain. In commands or code: higress.io; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Is Nginx To Higress Migration safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
What licence does Nginx To Higress Migration use?
Nginx To Higress Migration is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Nginx To Higress Migration use?
About 3.9k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.4k tokens, read only when the agent opens those files.
What are the alternatives to Nginx To Higress Migration?
Skills that share tags, products or a category with Nginx To Higress Migration: NGINX Ingress Controller Feature Checklists (nginx/kubernetes-ingress, 5.1k stars), NGINX Ingress Policy CRD Guide (nginx/kubernetes-ingress, 5.1k stars), KubeSphere Gateway Management (kubesphere/kubesphere, 17k stars) and Kubeshark KFL2 Filter Reference (kubeshark/kubeshark, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Nginx To Higress Migration?
higress-group (a GitHub organization) maintains it in higress-group/higress, which has 9,516 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 8, 2026.
Source: higress-group/higress on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.