Agent skill

Pixiu LLM Gateway

by apache in apache/dubbo-go-pixiu

Creates and validates dubbo-go-pixiu LLM gateway conf.yaml. An agent skill from apache/dubbo-go-pixiu.

Apache-2.0Auto-check passedAI & LLM Engineering

Install Pixiu LLM Gateway

skills CLI
$ npx skills add apache/dubbo-go-pixiu --skill pixiu-llm-gateway -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install apache/dubbo-go-pixiu pixiu-llm-gateway --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/apache/dubbo-go-pixiu.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pixiu-llm-gateway .claude/skills/pixiu-llm-gateway && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pixiu-llm-gateway
GitHub stars
568
Token cost
~2.5k tokens
SKILL.md length
559 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Creates and validates dubbo-go-pixiu LLM gateway conf.yaml. An agent skill from apache/dubbo-go-pixiu.

  • Works in 5 steps: Check required Inputs first → Read current source before generating YAML → Choose static or registry path by… → …
  • LLM proxy/tokenizer/kvcache filters
  • SKILL.md covers Purpose, When to use, Inputs and Workflow, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Pixiu LLM Gateway is an agent skill from apache/dubbo-go-pixiu. Creates and validates dubbo-go-pixiu LLM gateway conf.yaml. Use for LLM proxy/tokenizer/kvcache filters, llmmeta, vLLM, LMCache, retry/fallback, or Nacos LLM discovery. Do not use for MCP gateway config.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in AI & LLM Engineering, covering Model routing and gateways and LLM inference and serving. It works with Model Context Protocol, vLLM, Apache Kafka and gRPC. The repository describes itself as: Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and… The licence is Apache-2.0.

When your agent uses it

  • LLM proxy/tokenizer/kvcache filters
  • Nacos LLM discovery
  • MCP gateway config

Example prompts

  • “Use the pixiu-llm-gateway skill to create and validates dubbo-go-pixiu LLM gateway conf.yaml. An agent skill from apache/dubbo-go-pixiu”
  • “/pixiu-llm-gateway”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Check required Inputs first
  2. Read current source before generating YAML
  3. Choose static or registry path by upstream_mode: static uses static_resources.clusters[]; registry uses the LLM registry adapter.
  4. Generate listener, route, and filters: use HCM to carry the LLM route and HTTP filters; add dgp.filter.ai.kvcache, tokenizer, and…
  5. Generate LLM upstream: static endpoints go under socket_address and llm_meta; ensure the LLM cluster does not mix in ordinary HTTP…

What it can do on your machine

Read from SKILL.md and the folder at commit ba01888. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    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

Pixiu LLM Gateway loads about 2.5k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 559 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from apache/dubbo-go-pixiu at commit ba01888, republished under its Apache-2.0 licence (© apache). 559 words, ~2,526 tokens.

Download SKILL.mdSave it as .claude/skills/pixiu-llm-gateway/SKILL.md (or your agent's skills folder).
name
pixiu-llm-gateway
description
Creates and validates dubbo-go-pixiu LLM gateway conf.yaml. Use for LLM proxy/tokenizer/kvcache filters, llm_meta, vLLM, LMCache, retry/fallback, or Nacos LLM discovery. Do not use for MCP gateway config.

pixiu-llm-gateway

Purpose

Generate a complete or embeddable LLM gateway conf.yaml that configures Pixiu as a multi-provider HTTP proxy.

When to use

  • Use when:

    • Generating or fixing Pixiu LLM gateway conf.yaml, including LLM proxy/tokenizer/kvcache, llm_meta, retry/fallback, vLLM/LMCache, or Nacos LLM discovery.
  • Do not use for:

    • MCP gateway, HTTP-to-Dubbo routes, or implementing new LLM-related filters.

Inputs

<HARD-GATE>
Do not generate YAML, write code, create files, or take any implementation action until the user has provided all required inputs. This is a first principle.

If any required input is missing, this turn must only ask for the missing fields in the current input group; do not generate examples, defaults, YAML, code, or final output.

Even if configuration information seems inferable, obvious, or implied by context, you must still ask the user to confirm it. Do not proceed until the user confirms it. </HARD-GATE>

  • Choose upstream mode (required):

    • Required:
      • upstream_mode: static or registry
  • listener (required):

    • Defaults:
      • address.socket_address.address: 0.0.0.0
      • address.socket_address.port: 8888
  • route_config (required):

    • Defaults:
      • routes[].match.prefix: /v1
      • routes[].route.cluster: llm
  • dgp.filter.llm.proxy (required):

    • Defaults:
      • config.scheme: http (use https when the upstream is an HTTPS endpoint)
      • config.timeout: 60s
      • config.maxIdleConns: 100
      • config.maxIdleConnsPerHost: 100
      • config.maxConnsPerHost: 100
  • Static upstream (required when upstream_mode: static):

    • Required:
      • endpoints[].ID
      • endpoints[].socket_address.address or endpoints[].socket_address.domains
      • endpoints[].socket_address.port
    • Optional:
      • endpoints[].llm_meta.provider
      • endpoints[].llm_meta.api_key
      • endpoints[].llm_meta.retry_policy.config
    • Defaults:
      • clusters[].name: llm
      • clusters[].lb_policy: RoundRobin
      • endpoints[].llm_meta.retry_policy.name: NoRetry
      • endpoints[].llm_meta.fallback: false
      • endpoints[].llm_meta.health_check_interval: 5000
  • Registry upstream (required when upstream_mode: registry):

    • Required:
      • registries.nacos.address
    • Optional:
      • registries.nacos.group
      • registries.nacos.namespace
      • registries.nacos.username
      • registries.nacos.password
    • Defaults:
      • adapters[].id: llm-registry
      • adapters[].name: dgp.adapter.llmregistrycenter
      • registries.nacos.protocol: nacos
      • registries.nacos.timeout: 5s
      • registries.nacos.group: DEFAULT_GROUP
  • dgp.filter.llm.tokenizer (optional):

    • Defaults:
      • config.log_to_console: false
  • dgp.filter.ai.kvcache (optional):

    • Required:
      • config.enabled: true (must be set explicitly when enabling kvcache)
      • config.vllm_endpoint
      • config.lmcache_endpoint
    • Optional:
      • config.default_model
      • config.token_cache
      • config.cache_strategy
    • Defaults:
      • config.request_timeout: 2s
      • config.lookup_routing_timeout: 50ms
      • config.hot_window: 5m
      • config.hot_max_records: 300
      • config.max_idle_conns: 100
      • config.max_idle_conns_per_host: 100
      • config.max_conns_per_host: 100
      • config.retry.max_attempts: 3
      • config.retry.base_backoff: 100ms
      • config.retry.max_backoff: 2s
      • config.circuit_breaker.failure_threshold: 5
      • config.circuit_breaker.recovery_timeout: 10s
      • config.circuit_breaker.half_open_max_calls: 2
Show full SKILL.md (273 more words)Show less

Workflow

  1. Check required Inputs first:
    1. Read existing config and already provided user information first; do not ask again for information already present or stated.
    2. Ask one Inputs group at a time. Each time, output only that group's required fields, with a short explanation after each field.
    3. If the current group's required fields are incomplete, ask only for the missing fields and do not move to the next group.
    4. After the current group's required fields are complete, ask whether to fill that group's optional fields; if yes, list those optional fields with short explanations.
    5. After optional fields are skipped or completed, apply that group's defaults and output default-value information; defaults must not override existing config or user input.
  2. Read current source before generating YAML:
    • pkg/common/constant/key.go.
    • pkg/filter/llm/proxy/filter.go.
    • pkg/filter/llm/tokenizer/tokenizer.go.
    • pkg/filter/ai/kvcache/config.go and pkg/filter/ai/kvcache/handlers.go.
    • pkg/model/llm.go, pkg/model/cluster.go, and pkg/model/base.go.
  3. Choose static or registry path by upstream_mode: static uses static_resources.clusters[]; registry uses the LLM registry adapter.
  4. Generate listener, route, and filters: use HCM to carry the LLM route and HTTP filters; add dgp.filter.ai.kvcache, tokenizer, and dgp.filter.llm.proxy as needed.
  5. Generate LLM upstream: static endpoints go under socket_address and llm_meta; ensure the LLM cluster does not mix in ordinary HTTP endpoints.

Output format

  • Show the relevant YAML fragments.

Validation

  • Verify LLM filter-chain order: dgp.filter.ai.kvcache -> dgp.filter.llm.tokenizer -> dgp.filter.llm.proxy; ignore missing filters within this order chain.
  • Verify scheme is under dgp.filter.llm.proxy.config, not under an endpoint; socket_address.domains contains host names only, such as api.openai.com, not full URLs or paths.
  • When KV cache is enabled, verify the LMCache-side instance_id exactly matches the Pixiu endpoint ID.

Examples

Complete LLM route example (conf.yaml):

yaml
static_resources:
  listeners:
    - name: net/http
      protocol_type: HTTP
      address:
        socket_address:
          address: 0.0.0.0
          port: 8888
      filter_chains:
        filters:
          - name: dgp.filter.httpconnectionmanager
            config:
              route_config:
                routes:
                  - match:
                      prefix: /v1
                    route:
                      cluster: llm
              http_filters:
                - name: dgp.filter.ai.kvcache
                  config:
                    enabled: true
                    vllm_endpoint: "http://127.0.0.1:8000"
                    lmcache_endpoint: "http://127.0.0.1:9000"
                    default_model: "Qwen2.5-3B-Instruct"
                    request_timeout: "2s"
                    lookup_routing_timeout: "50ms"
                    hot_window: "5m"
                    hot_max_records: 300
                    hot_max_keys: 1000
                    max_idle_conns: 100
                    max_idle_conns_per_host: 100
                    max_conns_per_host: 100
                    token_cache:
                      enabled: true
                      max_size: 1024
                      ttl: "10m"
                    cache_strategy:
                      enable_compression: true
                      enable_pinning: true
                      enable_eviction: true
                      memory_threshold: 0.85
                      hot_content_threshold: 10
                      load_threshold: 0.7
                      pin_instance_id: "vllm-instance-1"
                      pin_location: "LocalCPUBackend"
                      compress_instance_id: "vllm-instance-1"
                      compress_location: "LocalCPUBackend"
                      compress_method: "zstd"
                      evict_instance_id: "vllm-instance-1"
                    circuit_breaker:
                      failure_threshold: 5
                      recovery_timeout: "10s"
                      half_open_max_calls: 2
                    retry:
                      max_attempts: 3
                      base_backoff: "100ms"
                      max_backoff: "2s"
                - name: dgp.filter.llm.tokenizer
                  config:
                    log_to_console: false
                - name: dgp.filter.llm.proxy
                  config:
                    scheme: http
                    timeout: "60s"
                    maxIdleConns: 100
                    maxIdleConnsPerHost: 100
                    maxConnsPerHost: 100
  clusters:
    - name: llm
      lb_policy: RoundRobin
      endpoints:
        - ID: vllm-instance-1
          socket_address:
            address: 127.0.0.1
            port: 8000
          llm_meta:
            provider: vllm
            api_key: "<api-key>"
            fallback: false
            health_check_interval: 5000
            retry_policy:
              name: ExponentialBackoff
              config:
                times: 3
                initialInterval: "200ms"
                maxInterval: "5s"
                multiplier: 2.0

Nacos LLM registry mode example (conf.yaml):

yaml
static_resources:
  listeners:
    - name: net/http
      protocol_type: HTTP
      address:
        socket_address:
          address: 0.0.0.0
          port: 8888
      filter_chains:
        filters:
          - name: dgp.filter.httpconnectionmanager
            config:
              route_config:
                routes:
                  - match:
                      prefix: /v1
                    route:
                      cluster: llm
              http_filters:
                - name: dgp.filter.llm.proxy
                  config:
                    scheme: http
                    timeout: "60s"
  adapters:
    - id: llm-nacos
      name: dgp.adapter.llmregistrycenter
      config:
        registries:
          nacos:
            protocol: nacos
            address: "127.0.0.1:8848"
            timeout: "5s"
            group: DEFAULT_GROUP
            namespace: public

© apache, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/pixiu-llm-gateway of apache/dubbo-go-pixiu.

Open the folder on GitHubat commit ba01888

Compare with similar skills

Pixiu LLM Gateway 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.

Pixiu LLM Gateway compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pixiu LLM Gateway this skillapache/dubbo-go-pixiu568—~2.5kAutomated safety check: PassApache-2.0
Deepstream SopNVIDIA/skills3.5k—~4.7kAutomated safety check: NotesApache-2.0
Litellmmagnus919/agent-skills113—~4.2kAutomated safety check: NotesMIT
Local LLM Routerhoodini/ai-agents-skills281—~20kAutomated safety check: PassNone
Eks Best Practicesaws-samples/appmod-blueprints113—~5kAutomated safety check: PassMIT-0
Aqua Model Lifecycleoracle/accelerated-data-science125—~1.4kAutomated safety check: PassUPL-1.0

Similar skills

  • Deepstream Sop

    NVIDIA/skills

    Official

    A skill your agent uses when building, deploying, evaluating, debugging, or measuring latency for the DeepStream SOP Inference Microservice — a GPU-accelerated FastAPI service that detects whether…

    3.5k GitHub stars~4.7k tokensUpdated yesterday
    Backend & APIsAuto-check: notes
  • Litellm

    magnus919/agent-skills

    Operate, configure, secure, and troubleshoot the LiteLLM AI gateway (proxy) and Python SDK: run the proxy (litellm --config), route to 100+ providers through one OpenAI-compatible API, configure…

    113 GitHub stars~4.2k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check: notes
  • Local LLM Router

    hoodini/ai-agents-skills

    Route AI coding queries to local LLMs in air-gapped networks.

    281 GitHub stars~20k tokensUpdated 2 mo ago
    AI & LLM EngineeringAuto-check passed
  • Eks Best Practices

    aws-samples/appmod-blueprints

    Official

    Advisory guidance for Amazon EKS architecture and configuration decisions — compute strategy, networking, security, reliability, cost, autoscaling, observability, multi-tenancy, and upgrade planning.

    113 GitHub stars~5k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Aqua Model Lifecycle

    oracle/accelerated-data-science

    Official

    Register, list, get, and manage LLM models in OCI AI Quick Actions (AQUA) using the ADS SDK.

    125 GitHub stars~1.4k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed
  • Backend Architecture

    overmind-core/overmind

    Deeper backend map of overbae — module layout, celery queue topology, the span-only tracing model and its API surface, capabilities and toml sync, behaviour-keyed scoring, auth and guests, model…

    597 GitHub stars~10k tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from apache/dubbo-go-pixiu

  • Pixiu HTTP To Dubbo

    apache/dubbo-go-pixiu

    Creates and debugs dubbo-go-pixiu HTTP-to-Dubbo route YAML. An agent skill from apache/dubbo-go-pixiu.

    568 GitHub stars~2.4k tokensUpdated 5 days ago
    Auto-check passed
  • Pixiu MCP Gateway

    apache/dubbo-go-pixiu

    Creates and validates dubbo-go-pixiu MCP gateway conf.yaml. An agent skill from apache/dubbo-go-pixiu.

    568 GitHub stars~3.1k tokensUpdated 5 days ago
    Auto-check passed
  • Pixiu Filter Author

    apache/dubbo-go-pixiu

    Creates and debugs dubbo-go-pixiu HTTP/Network filters. An agent skill from apache/dubbo-go-pixiu.

    568 GitHub stars~1.1k tokensUpdated 5 days ago
    Auto-check passed

Questions about Pixiu LLM Gateway

What does Pixiu LLM Gateway do?

Creates and validates dubbo-go-pixiu LLM gateway conf.yaml. An agent skill from apache/dubbo-go-pixiu. Pixiu LLM Gateway is an agent skill from apache/dubbo-go-pixiu.yaml.

When should I use Pixiu LLM Gateway?

Pixiu LLM Gateway fits situations like: LLM proxy/tokenizer/kvcache filters; nacos LLM discovery; MCP gateway config.

How do I install Pixiu LLM Gateway in Claude Code?

Run `npx skills add apache/dubbo-go-pixiu --skill pixiu-llm-gateway -a claude-code`. Or copy the skill folder (.agents/skills/pixiu-llm-gateway in apache/dubbo-go-pixiu) into .claude/skills/pixiu-llm-gateway in your project. Claude Code loads it when a task matches its description.

How do I install Pixiu LLM Gateway in Codex?

Run `npx skills add apache/dubbo-go-pixiu --skill pixiu-llm-gateway -a codex`. Or copy the skill folder (.agents/skills/pixiu-llm-gateway in apache/dubbo-go-pixiu) into .agents/skills/pixiu-llm-gateway in your project. Codex loads it when a task matches its description.

Can I use Pixiu LLM Gateway 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 apache/dubbo-go-pixiu --skill pixiu-llm-gateway -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pixiu-llm-gateway, .gemini/skills/pixiu-llm-gateway, .github/skills/pixiu-llm-gateway and .opencode/skills/pixiu-llm-gateway in your project.

What does Pixiu LLM Gateway need to run?

SKILL.md names no scripts, command-line tools or credentials: Pixiu LLM Gateway is instructions for the agent only.

Does Pixiu LLM Gateway access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Pixiu LLM Gateway 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. Review the folder before installing.

What licence does Pixiu LLM Gateway use?

Pixiu LLM Gateway 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 Pixiu LLM Gateway use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pixiu LLM Gateway?

Skills that share tags, products or a category with Pixiu LLM Gateway: Deepstream Sop (NVIDIA/skills, 3.5k stars), Litellm (magnus919/agent-skills, 113 stars), Local LLM Router (hoodini/ai-agents-skills, 281 stars) and Eks Best Practices (aws-samples/appmod-blueprints, 113 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pixiu LLM Gateway?

apache (a GitHub organization) maintains it in apache/dubbo-go-pixiu, which has 568 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 3, 2026.

Source: apache/dubbo-go-pixiu on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.