roman-ryzenadvanced/smm-xr/nginx-proxy

Claude Code and agent skill by roman-ryzenadvanced/smm-xr

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Manage Nginx Proxy Manager (NPM) for reverse proxy and SSL termination to internal services like staging/prod apps. Use when creating/updating proxy hosts, requesting or renewing Let's Encrypt certificates, enforcing HTTPS redirects, setting websocket support, or routing domains/subdomains to target servers.

Install

npx vskill@latest install roman-ryzenadvanced/smm-xr/nginx-proxy

SKILL.md

Nginx Proxy Manager Workflow

Use this skill to terminate SSL at NPM and route traffic to backend services (staging/prod).

Required inputs

  • Domain/subdomain (e.g. staging.example.com)
  • Public DNS already pointing to NPM public IP
  • Upstream target host/IP + port (e.g. 10.10.10.227:3000)
  • Whether Cloudflare proxy is enabled (if used)

Authentication (do not hardcode secrets)

Store credentials outside this skill (local secret file or environment variables).

Recommended env vars:

  • NPM_BASE_URL (e.g. http://<npm-host>:81)
  • NPM_IDENTITY
  • NPM_SECRET

Example token request:

bash
curl -sS -X POST "$NPM_BASE_URL/api/tokens" \
-H 'Content-Type: application/json; charset=UTF-8' \
--data "{\"identity\":\"$NPM_IDENTITY\",\"secret\":\"$NPM_SECRET\"}"

Standard setup flow

  1. Confirm DNS resolves to NPM public IP.
  2. Create or update Proxy Host in NPM:
  • Domain Names: requested host(s)
  • Scheme: http (or https if upstream is TLS)
  • Forward Hostname/IP: upstream IP/hostname
  • Forward Port: app port
  • Enable:
  • Block Common Exploits
  • Websockets Support
  1. SSL tab:
  • Request new SSL certificate (Let's Encrypt)
  • Enable Force SSL
  • Enable HTTP/2 Support
  • Enable HSTS only after validation
  1. Save and verify:
  • curl -I https://<domain> returns 200/301
  • Browser check for valid certificate and app reachability

Recommended defaults

  • Keep upstream as private IP where possible.
  • Use separate hostnames per environment:
  • app.example.com → production
  • staging.example.com → staging
  • Avoid wildcard certificates unless explicitly needed.

Troubleshooting

  • Certificate issuance fails:
  • Check DNS A/AAAA records
  • Ensure ports 80/443 reach NPM
  • Disable conflicting CDN TLS mode or set to Full/Strict appropriately
  • 502 Bad Gateway:
  • Verify upstream container/service is running
  • Verify correct target port and local firewall rules
  • Redirect loops:
  • Don’t double-force HTTPS (app + proxy misconfiguration)

Publication hygiene checklist

Before sharing/publishing this skill:

  • Remove all real IPs, domains, emails, and tokens.
  • Keep only placeholders like example.com and <npm-host>.
  • Ensure no local credential file paths or secret values are included.

Safety rules

  • Never remove existing production proxy hosts unless explicitly requested.
  • For changes on production domains, snapshot/export config or document previous values first.
  • Apply changes to staging first when possible.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
5

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/roman-ryzenadvanced/smm-xr/nginx-proxy/badge)](https://verified-skill.com/skills/roman-ryzenadvanced/smm-xr/nginx-proxy)

Something wrong with this skill or its page? Tell us.