[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P85ST0VBZYKQMAQ83NT4H3":3,"skill-same:01M6P85ST0VBZYKQMAQ83NT4H3":76},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":25,"commitSha":57,"skillDirectory":58,"forksCount":13,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M6P85ST0VBZYKQMAQ83NT4H3","llm-gateway",null,"Deploy an API gateway for LLM traffic with load balancing, rate limiting, key management, semantic caching, fallback routing, and cost tracking.","duc-duy-1612\u002FOnline-Delivery-Systems-Web","duc-duy-1612","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F192231384?v=4","01M6NSDKQQDKVTHZ8DZMZ1VYY6","01M6NSDKW8DDVTQHBT1HBDDJPT",0,"MIT","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fllm-gateway\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"gateway","llm gateway","main","rate","traffic","relevant","key management","scripts","critical","os","platform","caching","security","community","fallback","only","access","api","devops-security","api gateway","2026-11-10 10:12:30",false,"---\nname: llm-gateway\ndescription: Deploy an API gateway for LLM traffic with load balancing, rate limiting,\n  key management, semantic caching, fallback routing, and cost tracking.\ncategory: devops\nrisk: critical\nsource: https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\nsource_repo: BagelHole\u002FDevOps-Security-Agent-Skills\nsource_type: community\ndate_added: '2026-09-20'\nlicense: MIT\nlicense_source: https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\u002Fblob\u002Fmain\u002FLICENSE\ncompatibility: Requires the relevant OS\u002Fplatform tooling and privileged access where\n  noted. Docs-only; helper scripts and templates not bundled.\nmetadata:\n  author: devops-skills\n  version: '1.0'\n---\n\n# LLM Gateway\n\nA unified API gateway that routes LLM requests across providers and self-hosted models — with rate limiting, cost tracking, caching, and failover.\n\n## When to Use This Skill\n\nUse this skill when:\n- Running multiple LLM backends (OpenAI, Anthropic, vLLM, Ollama) behind a single endpoint\n- Enforcing per-team or per-user rate limits and spend budgets\n- Implementing automatic fallback when a provider is down\n- Adding semantic caching to reduce API costs by 20–50%\n- Centralizing API key management instead of distributing keys to every app\n\n## Prerequisites\n\n- Docker and Docker Compose\n- A PostgreSQL or SQLite database (for LiteLLM state)\n- LLM API keys (OpenAI, Anthropic, etc.) or self-hosted vLLM endpoints\n- Optional: Redis for caching and rate limiting\n\n## LiteLLM Proxy — Quick Start\n\nLiteLLM is the de facto open-source LLM gateway with OpenAI-compatible API.\n\n```bash\n# Run with Docker\ndocker run -d \\\n  --name litellm-proxy \\\n  -p 4000:4000 \\\n  -e OPENAI_API_KEY=$OPENAI_API_KEY \\\n  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \\\n  -v $(pwd)\u002Flitellm-config.yaml:\u002Fapp\u002Fconfig.yaml \\\n  ghcr.io\u002Fberriai\u002Flitellm:main-latest \\\n  --config \u002Fapp\u002Fconfig.yaml \\\n  --detailed_debug\n```\n\n## LiteLLM Configuration\n\n```yaml\n# litellm-config.yaml\nmodel_list:\n  # OpenAI models\n  - model_name: gpt-4o\n    litellm_params:\n      model: openai\u002Fgpt-4o\n      api_key: os.environ\u002FOPENAI_API_KEY\n      rpm: 10000\n      tpm: 2000000\n\n  - model_name: gpt-4o-mini\n    litellm_params:\n      model: openai\u002Fgpt-4o-mini\n      api_key: os.environ\u002FOPENAI_API_KEY\n\n  # Anthropic\n  - model_name: claude-sonnet-4-6\n    litellm_params:\n      model: anthropic\u002Fclaude-sonnet-4-6\n      api_key: os.environ\u002FANTHROPIC_API_KEY\n\n  # Self-hosted vLLM instances (load balanced)\n  - model_name: llama-3.1-8b\n    litellm_params:\n      model: openai\u002Fmeta-llama\u002FLlama-3.1-8B-Instruct\n      api_base: http:\u002F\u002Fvllm-1:8000\u002Fv1\n      api_key: fake                    # vLLM key\n  - model_name: llama-3.1-8b\n    litellm_params:\n      model: openai\u002Fmeta-llama\u002FLlama-3.1-8B-Instruct\n      api_base: http:\u002F\u002Fvllm-2:8000\u002Fv1  # second replica — auto load balanced\n      api_key: fake\n\n  # Fallback: cheap model if primary fails\n  - model_name: gpt-4o\n    litellm_params:\n      model: openai\u002Fgpt-4o-mini        # fallback to cheaper model\n      api_key: os.environ\u002FOPENAI_API_KEY\n\nrouter_settings:\n  routing_strategy: least-busy         # or: latency-based, simple-shuffle\n  num_retries: 3\n  retry_after: 5\n  allowed_fails: 2\n  cooldown_time: 60\n\n  # Fallback configuration\n  fallbacks:\n    - gpt-4o: [claude-sonnet-4-6]\n    - claude-sonnet-4-6: [gpt-4o]\n\nlitellm_settings:\n  # Semantic caching\n  cache: true\n  cache_params:\n    type: redis\n    host: redis\n    port: 6379\n    similarity_threshold: 0.90        # cache if >90% semantic similarity\n\n  # Logging\n  success_callback: [\"langfuse\"]\n  failure_callback: [\"langfuse\"]\n  langfuse_public_key: os.environ\u002FLANGFUSE_PUBLIC_KEY\n  langfuse_secret_key: os.environ\u002FLANGFUSE_SECRET_KEY\n\ngeneral_settings:\n  master_key: os.environ\u002FLITELLM_MASTER_KEY\n  database_url: postgresql:\u002F\u002Flitellm:password@postgres:5432\u002Flitellm\n  store_model_in_db: true\n```\n\n## Docker Compose: Full Gateway Stack\n\n```yaml\nservices:\n  litellm:\n    image: ghcr.io\u002Fberriai\u002Flitellm:main-latest\n    command: [\"--config\", \"\u002Fapp\u002Fconfig.yaml\", \"--port\", \"4000\"]\n    volumes:\n      - .\u002Flitellm-config.yaml:\u002Fapp\u002Fconfig.yaml\n    ports:\n      - \"4000:4000\"\n    environment:\n      - OPENAI_API_KEY=${OPENAI_API_KEY}\n      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}\n      - LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY}\n      - DATABASE_URL=postgresql:\u002F\u002Flitellm:password@postgres:5432\u002Flitellm\n    depends_on:\n      postgres:\n        condition: service_healthy\n      redis:\n        condition: service_started\n    restart: unless-stopped\n\n  postgres:\n    image: postgres:16-alpine\n    environment:\n      POSTGRES_DB: litellm\n      POSTGRES_USER: litellm\n      POSTGRES_PASSWORD: password\n    volumes:\n      - postgres-data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U litellm\"]\n      interval: 5s\n      retries: 5\n    restart: unless-stopped\n\n  redis:\n    image: redis:7-alpine\n    command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru\n    volumes:\n      - redis-data:\u002Fdata\n    restart: unless-stopped\n\nvolumes:\n  postgres-data:\n  redis-data:\n```\n\n## Virtual Keys & Rate Limiting\n\n```bash\n# Create a virtual API key for a team (via LiteLLM API)\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Fkey\u002Fgenerate \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"team_id\": \"team-backend\",\n    \"key_alias\": \"backend-team-key\",\n    \"models\": [\"gpt-4o-mini\", \"llama-3.1-8b\"],\n    \"max_budget\": 100,              # USD limit\n    \"budget_duration\": \"monthly\",\n    \"rpm_limit\": 100,               # requests per minute\n    \"tpm_limit\": 500000             # tokens per minute\n  }'\n\n# View spend\ncurl http:\u002F\u002Flocalhost:4000\u002Fspend\u002Fkeys \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\"\n```\n\n## Nginx Load Balancer (Alternative\u002FComplement)\n\n```nginx\n# nginx.conf — round-robin across vLLM replicas\nupstream vllm_backends {\n    least_conn;\n    server vllm-1:8000 max_fails=3 fail_timeout=30s;\n    server vllm-2:8000 max_fails=3 fail_timeout=30s;\n    server vllm-3:8000 max_fails=3 fail_timeout=30s;\n    keepalive 32;\n}\n\nserver {\n    listen 80;\n    server_name llm-api.internal;\n\n    # Rate limiting\n    limit_req_zone $http_authorization zone=per_key:10m rate=100r\u002Fm;\n    limit_req zone=per_key burst=20 nodelay;\n\n    location \u002Fv1\u002F {\n        proxy_pass http:\u002F\u002Fvllm_backends;\n        proxy_http_version 1.1;\n        proxy_set_header Connection \"\";\n        proxy_set_header Host $host;\n        proxy_read_timeout 300s;        # long timeout for streaming\n        proxy_buffering off;            # required for SSE streaming\n        proxy_cache_bypass 1;\n    }\n}\n```\n\n## Monitoring Gateway Health\n\n```bash\n# Check LiteLLM health\ncurl http:\u002F\u002Flocalhost:4000\u002Fhealth\n\n# Model-level health\ncurl http:\u002F\u002Flocalhost:4000\u002Fhealth\u002Fliveliness\n\n# Spend by model\ncurl http:\u002F\u002Flocalhost:4000\u002Fspend\u002Fmodels \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\"\n\n# Active virtual keys\ncurl http:\u002F\u002Flocalhost:4000\u002Fkey\u002Flist \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\"\n```\n\n## Common Issues\n\n| Issue | Cause | Fix |\n|-------|-------|-----|\n| `ConnectionRefusedError` to backend | Backend not reachable | Check `api_base` URL; verify backend is healthy |\n| Rate limit errors (429) | Budget\u002FRPM exceeded | Increase limits or rotate to fallback model |\n| Slow streaming responses | `proxy_buffering` enabled | Set `proxy_buffering off` in Nginx |\n| Cache miss rate high | Threshold too strict | Lower `similarity_threshold` to `0.85` |\n| Postgres connection errors | DB not ready | Add `depends_on` with `condition: service_healthy` |\n\n## Best Practices\n\n- Use virtual keys per team\u002Fapp — never expose raw provider API keys.\n- Enable `cache: true` with Redis for repeated or similar queries; can cut costs 30–50%.\n- Set `num_retries: 3` with fallbacks to handle provider outages gracefully.\n- Log all requests to Langfuse or OpenTelemetry for cost attribution and debugging.\n- Use `least-busy` routing strategy for self-hosted models to avoid GPU saturation.\n\n## Related Skills\n\n- vllm-server (`vllm-server`) - Backend inference server\n- llm-inference-scaling (`llm-inference-scaling`) - Auto-scaling backends\n- llm-caching (`llm-caching`) - Semantic cache patterns\n- llm-cost-optimization (`llm-cost-optimization`) - Cost management\n\n## Limitations\n\n- Infrastructure commands can disrupt services: confirm target host\u002Fscope and have backups\u002Fsnapshots before mutating state.\n- Docs-only import: upstream scripts and templates not bundled.\n\n","# LLM Gateway\n\nA unified API gateway that routes LLM requests across providers and self-hosted models — with rate limiting, cost tracking, caching, and failover.\n\n## When to Use This Skill\n\nUse this skill when:\n- Running multiple LLM backends (OpenAI, Anthropic, vLLM, Ollama) behind a single endpoint\n- Enforcing per-team or per-user rate limits and spend budgets\n- Implementing automatic fallback when a provider is down\n- Adding semantic caching to reduce API costs by 20–50%\n- Centralizing API key management instead of distributing keys to every app\n\n## Prerequisites\n\n- Docker and Docker Compose\n- A PostgreSQL or SQLite database (for LiteLLM state)\n- LLM API keys (OpenAI, Anthropic, etc.) or self-hosted vLLM endpoints\n- Optional: Redis for caching and rate limiting\n\n## LiteLLM Proxy — Quick Start\n\nLiteLLM is the de facto open-source LLM gateway with OpenAI-compatible API.\n\n```bash\n# Run with Docker\ndocker run -d \\\n  --name litellm-proxy \\\n  -p 4000:4000 \\\n  -e OPENAI_API_KEY=$OPENAI_API_KEY \\\n  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \\\n  -v $(pwd)\u002Flitellm-config.yaml:\u002Fapp\u002Fconfig.yaml \\\n  ghcr.io\u002Fberriai\u002Flitellm:main-latest \\\n  --config \u002Fapp\u002Fconfig.yaml \\\n  --detailed_debug\n```\n\n## LiteLLM Configuration\n\n```yaml\n# litellm-config.yaml\nmodel_list:\n  # OpenAI models\n  - model_name: gpt-4o\n    litellm_params:\n      model: openai\u002Fgpt-4o\n      api_key: os.environ\u002FOPENAI_API_KEY\n      rpm: 10000\n      tpm: 2000000\n\n  - model_name: gpt-4o-mini\n    litellm_params:\n      model: openai\u002Fgpt-4o-mini\n      api_key: os.environ\u002FOPENAI_API_KEY\n\n  # Anthropic\n  - model_name: claude-sonnet-4-6\n    litellm_params:\n      model: anthropic\u002Fclaude-sonnet-4-6\n      api_key: os.environ\u002FANTHROPIC_API_KEY\n\n  # Self-hosted vLLM instances (load balanced)\n  - model_name: llama-3.1-8b\n    litellm_params:\n      model: openai\u002Fmeta-llama\u002FLlama-3.1-8B-Instruct\n      api_base: http:\u002F\u002Fvllm-1:8000\u002Fv1\n      api_key: fake                    # vLLM key\n  - model_name: llama-3.1-8b\n    litellm_params:\n      model: openai\u002Fmeta-llama\u002FLlama-3.1-8B-Instruct\n      api_base: http:\u002F\u002Fvllm-2:8000\u002Fv1  # second replica — auto load balanced\n      api_key: fake\n\n  # Fallback: cheap model if primary fails\n  - model_name: gpt-4o\n    litellm_params:\n      model: openai\u002Fgpt-4o-mini        # fallback to cheaper model\n      api_key: os.environ\u002FOPENAI_API_KEY\n\nrouter_settings:\n  routing_strategy: least-busy         # or: latency-based, simple-shuffle\n  num_retries: 3\n  retry_after: 5\n  allowed_fails: 2\n  cooldown_time: 60\n\n  # Fallback configuration\n  fallbacks:\n    - gpt-4o: [claude-sonnet-4-6]\n    - claude-sonnet-4-6: [gpt-4o]\n\nlitellm_settings:\n  # Semantic caching\n  cache: true\n  cache_params:\n    type: redis\n    host: redis\n    port: 6379\n    similarity_threshold: 0.90        # cache if >90% semantic similarity\n\n  # Logging\n  success_callback: [\"langfuse\"]\n  failure_callback: [\"langfuse\"]\n  langfuse_public_key: os.environ\u002FLANGFUSE_PUBLIC_KEY\n  langfuse_secret_key: os.environ\u002FLANGFUSE_SECRET_KEY\n\ngeneral_settings:\n  master_key: os.environ\u002FLITELLM_MASTER_KEY\n  database_url: postgresql:\u002F\u002Flitellm:password@postgres:5432\u002Flitellm\n  store_model_in_db: true\n```\n\n## Docker Compose: Full Gateway Stack\n\n```yaml\nservices:\n  litellm:\n    image: ghcr.io\u002Fberriai\u002Flitellm:main-latest\n    command: [\"--config\", \"\u002Fapp\u002Fconfig.yaml\", \"--port\", \"4000\"]\n    volumes:\n      - .\u002Flitellm-config.yaml:\u002Fapp\u002Fconfig.yaml\n    ports:\n      - \"4000:4000\"\n    environment:\n      - OPENAI_API_KEY=${OPENAI_API_KEY}\n      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}\n      - LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY}\n      - DATABASE_URL=postgresql:\u002F\u002Flitellm:password@postgres:5432\u002Flitellm\n    depends_on:\n      postgres:\n        condition: service_healthy\n      redis:\n        condition: service_started\n    restart: unless-stopped\n\n  postgres:\n    image: postgres:16-alpine\n    environment:\n      POSTGRES_DB: litellm\n      POSTGRES_USER: litellm\n      POSTGRES_PASSWORD: password\n    volumes:\n      - postgres-data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U litellm\"]\n      interval: 5s\n      retries: 5\n    restart: unless-stopped\n\n  redis:\n    image: redis:7-alpine\n    command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru\n    volumes:\n      - redis-data:\u002Fdata\n    restart: unless-stopped\n\nvolumes:\n  postgres-data:\n  redis-data:\n```\n\n## Virtual Keys & Rate Limiting\n\n```bash\n# Create a virtual API key for a team (via LiteLLM API)\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Fkey\u002Fgenerate \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"team_id\": \"team-backend\",\n    \"key_alias\": \"backend-team-key\",\n    \"models\": [\"gpt-4o-mini\", \"llama-3.1-8b\"],\n    \"max_budget\": 100,              # USD limit\n    \"budget_duration\": \"monthly\",\n    \"rpm_limit\": 100,               # requests per minute\n    \"tpm_limit\": 500000             # tokens per minute\n  }'\n\n# View spend\ncurl http:\u002F\u002Flocalhost:4000\u002Fspend\u002Fkeys \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\"\n```\n\n## Nginx Load Balancer (Alternative\u002FComplement)\n\n```nginx\n# nginx.conf — round-robin across vLLM replicas\nupstream vllm_backends {\n    least_conn;\n    server vllm-1:8000 max_fails=3 fail_timeout=30s;\n    server vllm-2:8000 max_fails=3 fail_timeout=30s;\n    server vllm-3:8000 max_fails=3 fail_timeout=30s;\n    keepalive 32;\n}\n\nserver {\n    listen 80;\n    server_name llm-api.internal;\n\n    # Rate limiting\n    limit_req_zone $http_authorization zone=per_key:10m rate=100r\u002Fm;\n    limit_req zone=per_key burst=20 nodelay;\n\n    location \u002Fv1\u002F {\n        proxy_pass http:\u002F\u002Fvllm_backends;\n        proxy_http_version 1.1;\n        proxy_set_header Connection \"\";\n        proxy_set_header Host $host;\n        proxy_read_timeout 300s;        # long timeout for streaming\n        proxy_buffering off;            # required for SSE streaming\n        proxy_cache_bypass 1;\n    }\n}\n```\n\n## Monitoring Gateway Health\n\n```bash\n# Check LiteLLM health\ncurl http:\u002F\u002Flocalhost:4000\u002Fhealth\n\n# Model-level health\ncurl http:\u002F\u002Flocalhost:4000\u002Fhealth\u002Fliveliness\n\n# Spend by model\ncurl http:\u002F\u002Flocalhost:4000\u002Fspend\u002Fmodels \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\"\n\n# Active virtual keys\ncurl http:\u002F\u002Flocalhost:4000\u002Fkey\u002Flist \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\"\n```\n\n## Common Issues\n\n| Issue | Cause | Fix |\n|-------|-------|-----|\n| `ConnectionRefusedError` to backend | Backend not reachable | Check `api_base` URL; verify backend is healthy |\n| Rate limit errors (429) | Budget\u002FRPM exceeded | Increase limits or rotate to fallback model |\n| Slow streaming responses | `proxy_buffering` enabled | Set `proxy_buffering off` in Nginx |\n| Cache miss rate high | Threshold too strict | Lower `similarity_threshold` to `0.85` |\n| Postgres connection errors | DB not ready | Add `depends_on` with `condition: service_healthy` |\n\n## Best Practices\n\n- Use virtual keys per team\u002Fapp — never expose raw provider API keys.\n- Enable `cache: true` with Redis for repeated or similar queries; can cut costs 30–50%.\n- Set `num_retries: 3` with fallbacks to handle provider outages gracefully.\n- Log all requests to Langfuse or OpenTelemetry for cost attribution and debugging.\n- Use `least-busy` routing strategy for self-hosted models to avoid GPU saturation.\n\n## Related Skills\n\n- vllm-server (`vllm-server`) - Backend inference server\n- llm-inference-scaling (`llm-inference-scaling`) - Auto-scaling backends\n- llm-caching (`llm-caching`) - Semantic cache patterns\n- llm-cost-optimization (`llm-cost-optimization`) - Cost management\n\n## Limitations\n\n- Infrastructure commands can disrupt services: confirm target host\u002Fscope and have backups\u002Fsnapshots before mutating state.\n- Docs-only import: upstream scripts and templates not bundled.\n\n",{"name":5,"risk":31,"source":48,"license":14,"category":49,"metadata":50,"date_added":53,"description":7,"source_repo":54,"source_type":36,"compatibility":55,"license_source":56},"https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills","devops",{"author":51,"version":52},"devops-skills","1.0","2026-09-20","BagelHole\u002FDevOps-Security-Agent-Skills","Requires the relevant OS\u002Fplatform tooling and privileged access where noted. Docs-only; helper scripts and templates not bundled.","https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\u002Fblob\u002Fmain\u002FLICENSE","f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Fllm-gateway","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612","2026-10-25 23:50:58",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill llm-gateway",{"tool":68,"command":69},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill llm-gateway",{"tool":71,"command":72},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill llm-gateway","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fllm-gateway\u002FSKILL.md",true,[],[77,96,120,145,172,196],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":84,"publishedAt":43},"01M6Q0FA5FZ410Z33Z3TFQ4DBA","zero-trust","Implement zero-trust network architecture. Configure identity-based access, micro-segmentation, and continuous verification. Use when implementing modern security architectures.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzero-trust\u002FSKILL.md",[83],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[85,86,87,88,89,90,79,91,41,39,92,38,36,25,93,31,94,30,28,95],"ZeRO","trust","zero trust","architecture","assessment","verification","segmentation","configure","active","scope","implementing",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":43},"01M6Q0F1YZJW3KX5FBKEVZ8CV4","zcode-delegate","Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzcode-delegate\u002FSKILL.md",[],[103,104,105,106,107,108,109,110,111,112,113,114,115,38,116,36,117,118,31,119],"delegate","zcode","zcode delegate","review","cli","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":43},"01M6Q0ETK41VGNMYEXW0T00AJN","youtube-transcript","Fetch YouTube transcripts through DeepAPI or local fallback tooling and save clean text output.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript\u002FSKILL.md",[],[127,128,129,130,131,132,133,134,135,136,137,138,139,36,25,140,141,142,143,144],"transcript","youtube transcript","youtube","safe","github","codex","research","license","https","text","fetch","tooling","clean","local","output","deepapi","youtube transcripts","blob",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":162,"publishedAt":43},"01M6Q0EPPH2PVMDW40017F8WX0","youtube-transcript-skills","Fetch YouTube video transcripts, search videos\u002Fchannels, browse channels, and extract playlists via the getyoutubetranscript.com API - free tier, no card required.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript-skills\u002FSKILL.md",[151,154,157],{"categoryNo":152,"categoryName":153,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":155,"categoryName":156,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":158,"categoryName":159,"taxonomyType":160,"taxonomyTypeDesc":161},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[127,128,129,163,130,164,131,132,134,165,40,166,167,137,168,36,25,169,170,171],"youtube transcript skills","gemini","search","Video","browse","api-integration","free","card","channels",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":182,"publishedAt":43},"01M6Q0EAB96PX83W5PTE8A0R8D","youtube-notetaker","Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-notetaker\u002FSKILL.md",[178,181],{"categoryNo":179,"categoryName":180,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":155,"categoryName":156,"taxonomyType":20,"taxonomyTypeDesc":21},[129,183,184,107,130,185,186,187,188,134,166,189,190,191,192,25,193,140,194,195],"youtube notetaker","notetaker","workflow","official","notes","code","markdown","slides","annotations","README","study","dair-academy","viewer",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":203,"publishedAt":43},"01M6Q0E55F0GW5MX48V8HXS8B5","youtube-full","Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-full\u002FSKILL.md",[202],{"categoryNo":152,"categoryName":153,"taxonomyType":20,"taxonomyTypeDesc":21},[204,129,205,206,130,164,165,207,208,40,166,167,137,209,168,36,25,169,210,143],"youtube full","full","google","server","dlp","credits","automatic"]