portal-expose
Expose, preview, protect with x402 payments, or keep a local web app, static site, HTTP route set, or explicitly requested TCP/UDP service reachable through Portal, then verify the public endpoint and report its lifecycle. Use when the user asks to deploy, publish, share, tunnel,
Supply asset profile
Coding and developer agents
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
Coding agents
I need a coding agent that can understand a repository, edit code, and review pull requests.
Agent fit
Claude Code + Browser agents + CLI
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add gosuda/portal-tunnel --skill portal-expose
Maintenance
fresh
Pushed today
Risk
Risky
Dependency or permission surface needs review
GitHub quality
263
71/100 Quality · 75/100 Trust
Coverage tags
Review notes
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent adoption scorecard
Trust, audit, and install readiness at a glance
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
RiskyA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Sandbox only
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
263 GitHub stars
Repo activity
263 stars, 29 forks
Maintenance
Pushed today
License
MIT
Install
npx skills add gosuda/portal-tunnel --skill portal-expose
Install safety
standard package or runtime install path
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Review before production
- Financial research output is not financial advice; require human review before any live investment decision.
- This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval.
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
Install readiness
Install path available
- Install path is available
- Repository evidence is available
- License is declared
- No Agent Proven outcome evidence yet
Agent-readable metadata
Machine-readable decision data for this skill.
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
- Local desktop workflows
- Claude Code teams
- builders willing to evaluate younger projects
- Navigate local resources
Suited agents
Install decision
- Command
- npx skills add gosuda/portal-tunnel --skill portal-expose
- Policy
- block
- Human review
- yes
Trust and risk
- Trust
- 67/100
- Audit
- 80/100
- Risk level
- Risky
Outcome loop
- Endpoint
- /api/agent/outcome
- Event ID
- resolve
- Outcomes
- 5
Install command
npx skills add gosuda/portal-tunnel --skill portal-exposeDo not use when
- teams that need a vendor-supported SLA
- high-compliance environments without internal security review
- No OpenAgentSkill engagement data yet
- Audit risk risky exceeds max_risk=medium
- High-risk permission hints: Shell or command execution
Agent safety v2
48/100 · Avoid automatic install
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Shell or command execution
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Browser automation
Skill may drive a browser or interact with web pages.
medium
Network access
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Filesystem access
Skill may read or write project files, documents, generated artifacts, or local workspace state.
- Audit risk risky exceeds max_risk=medium
- High-risk permission hints: Shell or command execution
- Dependency or permission surface needs review
Install targets
Install this skill in your agent workflow
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
OpenAgentSkill CLI
Resolve policy, run the source installer safely, and report a verified install receipt.
$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install gosuda-portal-exposeAgent resolve plan
Let an agent verify fit before installing.
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20portal-expose%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20portal-expose%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/gosuda-portal-expose/install
Agent should check
- Task fit and alternatives from Resolve API.
- Audit score, trust score, and safety policy warnings.
- Install target compatibility for Codex, Claude Code, Cursor, or CLI.
Copy prompt
Task: Use portal-expose in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20portal-expose%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/gosuda-portal-expose/install
Install command: npx skills add gosuda/portal-tunnel --skill portal-expose
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Give an agent the install path, not another directory page.
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/gosuda-portal-expose/install
LLM text format
/api/skills/gosuda-portal-expose/install?format=text
Find alternatives
/api/skills/search?q=portal-expose&limit=3
Agent prompt
Use portal-expose for this task. Review https://www.openagentskill.com/api/skills/gosuda-portal-expose/install, then install with: npx skills add gosuda/portal-tunnel --skill portal-exposeRegistry metadata
Agent-readable profile for automatic skill selection.
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/gosuda-portal-expose
LLM text
/api/registry/manifest/gosuda-portal-expose?format=text
Install alias
/api/registry/install/gosuda-portal-expose
Recommend
/api/registry/recommend?task=Use%20portal-expose%20in%20an%20agent%20workflow&limit=3
Agent fit
Local desktop
Use-case tags
Platforms
Claude Code, Browser agents
Audit report
Risky · 80/100
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Fallback candidate for Local desktop
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Local desktop
Trust label
Prototype first
Install path
Command ready
Use when
- Local desktop workflows
- Claude Code teams
- builders willing to evaluate younger projects
Evidence
- recent repository activity
- install command or GitHub repo available
- 71/100 quality profile
review first
- No OpenAgentSkill engagement data yet
Implementation path
- 1Install it in a sandbox agent and run one Local desktop task end to end.
- 2Compare output quality, latency, and failure behavior against at least one alternative.
- 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.
Trust profile
Sandbox only
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO263 GitHub stars
Stars/forks activity
CHECK263 stars, 29 forks; issue activity unavailable in current metadata
Recent maintenance
PASSPushed today
License clarity
PASSMIT
Good signals
- AI review approved
- Install path is available
- Repository evidence is available
- Recently maintained repository
- Install command has no obvious high-risk pattern
- Outcome loop is ready but needs first real agent run
Review before install
- Financial research output is not financial advice; require human review before any live investment decision.
- This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval.
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
- Stars/forks activity: 263 stars, 29 forks; issue activity unavailable in current metadata
- Dependency/runtime risk: command execution surface, external package install surface
- Permission surface: shell or command execution, filesystem or document access
- No real agent outcome reports yet
- Human review required before unattended installation
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Strong candidate for agent workflows
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Use this skill in these scenarios
Operate local tools
Local desktop
I need my agent to operate local files and desktop apps in a repeatable workflow.
Build and ship code
Coding agents
I need a coding agent that can understand a repository, edit code, and review pull requests.
Operate web apps
Browser automation
I need my agent to control a browser, fill forms, and verify web app workflows.
Workflow fit
Add it to a complete workflow
Inspect, patch, and verify code
Coding review agent
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Operate and verify web apps
Browser QA agent
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Scrape, clean, and reuse web data
Web data pipeline
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Alternative shortlist
Compare before you install
Similar skills that may fit this task.
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
MoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Cua
Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and benchmarks to train and evaluate AI agents that can control full desktops (macOS, Linux, Windows).
Overview
--- name: portal-expose description: Expose, preview, protect with x402 payments, or keep a local web app, static site, HTTP route set, or explicitly requested TCP/UDP service reachable through Portal, then verify the public endpoint and report its lifecycle. Use when the user asks to deploy, publish, share, tunnel, expose, create a public preview, add a paid route, or configure x402 for a local app with Portal. Do not use for deploying a Portal relay, generic cloud hosting, or publishing this plugin. license: MIT ---
# Expose an App with Portal
Portal publishes a service that is already running on the user's machine. It does not build the app or move it to a cloud host. Treat a successful tunnel as dependent on both the local app and the Portal process or agent remaining available.
Read `references/portal-cli.md` when choosing commands or persistent-agent configuration. Read `references/x402.md` whenever the user requests x402 or a paid route. Read `references/safety-and-verification.md` before exposing a nontrivial project, a service with authentication, or any non-HTTP port. Read `references/game-hosting.md` whenever the user asks to host, publish, or share a game server — it covers game-specific ports, protocol identification, relay raw-transport prerequisites, and raw-endpoint verification.
## Choose the Mode
Use the smallest mode that satisfies the request:
- Temporary web preview: `portal expose <target>`. - Trusted static directory or HTML entry: `portal expose --serve <path>`. - Multiple local HTTP services under one URL: repeat `--http-route`. - Paid HTTP path: routed HTTP with an explicit x402 payment contract; never enable payment implicitly. - Durable tunnel that should survive terminal or login restarts: an explicit `portal agent` config and managed service. - Session-owned durable tunnel without an OS service: `portal agent run --foreground`. - Game server (Minecraft, Terraria, Palworld, or any dedicated game server): always start from `references/game-hosting.md` — raw TCP/UDP transport has different prerequisites and verification than HTTP.
Default to a temporary preview when the user says only "share", "preview", or "deploy locally". Do not install an OS service unless the user asks for a persistent, managed, or restart-surviving tunnel and accepts that `portal agent run` without `--foreground` installs a per-user launchd or systemd unit.
## Workflow
### 1. Inspect the Project
- Read the applicable repository instructions before running or changing anything. - Determine the app directory, start command, expected protocol, loopback target, and a meaningful health path. - Prefer declared scripts and documented ports over guessing from process lists. - Do not expose a port merely because it is listening. Tie it to the requested app. - If the project is already running, preserve its process. If it is not running and deployment was requested, start it with the project's normal command and retain the terminal/session handle.
Ask one concise question only when the target, desired lifetime, or transport cannot be discovered safely. An explicit request to deploy, publish, expose, tunnel, or share authorizes creating the public tunnel for the named app; it does not authorize exposing adjacent services.
For x402, do not guess the protected path, payment methods, amount, network, recipient, or network-specific asset. Collect any missing consequential value before building the command or config. Treat an omitted method list as charging every method on the route and confirm that scope when it was not explicit.
### 2. Verify the Local Service
- Wait for the app's real readiness signal, not only for the process to exist. - Make a bounded local request to the selected target. For HTTP, record the URL and status. For TCP/UDP, use a protocol-appropriate check that does not mutate application data. - Stop before opening a tunnel if the local health check fails. - Warn and require explicit direction before exposing databases, container daemons, debug consoles, unauthenticated admin panels, or services containing sensitive data. - Before opening the tunnel, say that the public hostname is listed on participating relays and visible via `portal list` unless the user asked for `--hide`.
### 3. Check Portal
- Run `portal version` when `portal` is available. - If Portal is missing, present the official install method and request approval before running it because installation writes outside the project. Never execute an installer from an unknown relay or third-party URL. - Do not assume a hard-coded latest release or stale flags. Use the installed version and the checked-in Portal reference as the compatibility baseline.
### 4. Build the Command or Agent Config
- Use loopback targets such as `127.0.0.1:<port>` unless the project explicitly needs another address. - Use the user's requested name. Otherwise omit `--name` for a temporary preview or derive a stable DNS-label-safe name for a persistent tunnel. - For `portal expose`, always pass an absolute `--identity-path` outside the repository. The CLI default is `identity.json` in the process working directory and that file contains private key material. For `portal agent`, omit `identity_path` so the agent stores identity under its state directory; if you set the field, use an absolute path outside the repository. - Never print or commit identity JSON, control tokens, facilitator tokens, or wallet secrets. - With a user-selected relay on `portal expose`, pass `--relays <https-url> --discovery=false`. In persistent mode those flags are not accepted on `portal agent run`; put `relays = ["https://..."]` and `discovery = false` on the `[[tunnels]]` entry instead. - The MITM self-probe always runs. Without `--ban-mitm` / `ban_mitm = true`, a suspected TLS termination is only logged and the tunnel keeps serving. Do not claim the default path blocks a relay. Add `--ban-mitm` only when the user wants fail-closed handling. There is no flag that disables the probe. - Never add TCP, UDP, multi-hop, payment, or public metadata flags that the user did not request. `--hide` is the exception for listing: mention the default public listing, then add `--hide` or `hide = true` only when the user wants the tunnel unlisted. - For a paid route, follow `references/x402.md`. Keep payment policy on the smallest requested path, use an explicit network, and never place wallet or facilitator secrets in a command, log, committed file, or final response.
Before executing, show the exact public target and any important exposure consequence when it is not already obvious from the user's request.
### 5. Start and Observe the Tunnel
- Run a temporary `portal expose` in a foreground PTY or managed long-running command session. Do not hide it behind an untracked `nohup` process. - For persistent mode, inspect any existing agent config and running service first. `run`, `restart`, and `stop` are service-wide: they affect every `[[tunnels]]` entry that the selected service owns. Reuse and merge the existing config when the same agent should keep other tunnels. An isolated second agent needs its own config, `service_name`, `state_dir`, and loopback `control_addr`. Changing only `service_name` still shares the default state directory and `127.0.0.1:4018`. Do not stop or replace an agent that already owns unrelated tunnels. - Create or update only the selected agent config, then start it with `portal agent run --config <path>` after the user accepts OS-service installation, or `portal agent run --foreground --config <path>` when the current session should own the process. `--foreground` opens the interactive dashboard when stdin and stdout are TTYs. Run that command in a non-TTY managed session so logs stay capturable and the TUI does not start. - Do not run `portal agent dashboard`. It is an interactive TUI. Give the user that command in the handoff. - Capture bounded output. Redact tokens, identity material, signed payloads, and credentials. - HTTP tunnels are ready when a public URL is emitted. Raw TCP/UDP tunnels log `raw transport endpoints allocated` with `tcp_addr` and/or `udp_addr` instead of `service ready at <URL>`. Do not wait for an HTTPS URL on a raw transport.
### 6. Verify the Public Endpoint
- For HTTP, make a bounded HTTPS request to every public URL being handed off. A deliberately authenticated app may return `401` or `403`; explain that as reachable but protected. Treat unexpected `5xx`, TLS errors, or a Portal error page as a failed deployment. - For each paid route, make an unpaid request with a protected method and require `402 Payment Required` plus a payment-requirements header. Compare the returned network, asset, recipient, amount, and resource with the requested policy. Verify the method scope by requesting an intentionally unprotected method when one exists. Never spend funds merely to verify configuration. - For raw TCP or UDP, protocol-probe the allocated `tcp_addr`/`udp_addr` without mutating application data. A successful local port open is not enough. - When a browser-capable tool is available and the app has UI, load the primary page and check for an obvious render or runtime failure. Do not log in or submit data unless the user requested it. - Re-check the local health endpoint if the public request fails so the handoff distinguishes app failure from tunnel or relay failure.
### 7. Hand Off the Result
Report:
- Deployment mode and exact local target. - Public URL or allocated raw endpoint, and the verified status. - Whether the tunnel is listed on public relays or hidden with `--hide`. - Whether MITM handling is detect-only or `--ban-mitm`. - For x402, the protected paths and methods, human amount, network, public recipient, facilitator mode, and whether the unpaid `402` challenge was verified. State explicitly when settlement was not tested. - The identity path and that it must stay out of version control. - The app and Portal process/session or OS-service ownership. - The exact stop or restart command, and whether that command affects other tunnels on the same agent. - Anything that remains temporary, unavailable, or unverified.
Do not call the result permanent when the local machine, app process, or foreground tunnel must remain running.
## Failure Rules
- Local app unhealthy: stop before exposing it and report the failing check. - Portal absent and installation not approved: provide the official command without executing it. - No ready public URL or allocated raw endpoint: keep the bounded diagnostic output and report the relay/tunnel failure. - Paid route returns anything other than the expected `402` challenge: do not describe it as protected or hand it off as ready. Stop only the tunnel created by this workflow, preserve bounded diagnostics, and report the policy mismatch. - MITM self-probe warning without `--ban-mitm`: report the warning and offer `--ban-mitm`; do not claim the relay was blocked. - Requested name unavailable: offer an auto-generated or alternative name; do not silently hijack another identity. - Existing agent owns other tunnels: do not stop or replace it to publish this app. - Cancellation: stop only processes started by this workflow, unless the user explicitly asks to stop an existing app or agent.
Technical details
- Version
- 1.0.0
- License
- MIT
- Last updated
- Aug 22, 2026
- Published
- Aug 22, 2026
Decision snapshot
Fallback candidate
recent repository activity
Audit
Install review
Install and adoption review
- Security
- 79/100
- Maintenance
- 100/100
- Install
- 92/100
Agent-proven evidence
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
- Success rate
- —
- Recent failure
- —
- Outcomes
- 0
- Output quality
- —
- Failed
- 0
- Not relevant
- 0
- Installs
- 0
- Risk blocked
- 0
- Setup needed
- 0
- Production
- 0
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Add to agent workflow
Free and open source. Review the report before installing into production agents.
Growth loop
Share kit
Scenario-led draft for portal-expose, ready for a manual X post.
A practical pick for a web workflow: portal-expose: Expose, preview, protect with x402 payments, or keep a local web app, static site, HTTP route set, or explicitly requested... 263 stars https://www.openagentskill.com/skills/gosuda-portal-expose?ref=x
Optional reply with install command
Listing + install path for portal-expose: https://www.openagentskill.com/skills/gosuda-portal-expose?ref=x Install: npx skills add gosuda/portal-tunnel --skill portal-expose
Listing source
Registry indexed
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
- Creator
- gosuda
- Source
- gosuda/portal-tunnel
- Indexed by
- OpenAgentSkill community index
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
Claim this skill listing
This Registry indexed listing is attributed to gosuda but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Add the evidence badges to your README
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/gosuda-portal-expose)
[](https://www.openagentskill.com/skills/gosuda-portal-expose)
[](https://www.openagentskill.com/skills/gosuda-portal-expose/audit)
[](https://www.openagentskill.com/skills/gosuda-portal-expose)Author
gosuda
@gosuda
Tags
Platform fit
Health signals
- GitHub stars
- 263
- Quality score
- 40/100
- Last GitHub push
- Aug 22, 2026
- Framework hints
- Unknown
- OpenAgentSkill views
- 0
- Install copies
- 0
- Outbound clicks
- 0
Community signal
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Trust & safety
Sandbox only
- GitHub adoption263 GitHub starsINFO
- Stars/forks activity263 stars, 29 forks; issue activity unavailable in current metadataCHECK
- Recent maintenancePushed todayPASS
- License clarityMITPASS
- README/SKILL.md completenessMetadata includes enough usage and workflow contextPASS
- Dependency/runtime riskcommand execution surface, external package install surfaceCHECK
Related skills
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsCua
Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and benchmarks to train and evaluate AI agents that can control full desktops (macOS, Linux, Windows).
21.4K Stars