Skip to content
Back to skills

Omcustom Web

ASecurity

Control and inspect the built-in Web UI (packages/serve) — start, stop, status, open

  • 43 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 9, 2026
toolsbash

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add baekenough/oh-my-customcode --skill omcustom-web --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Omcustom Web?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Omcustom Web
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/baekenough-omcustom-web/badge)](https://www.skillsdirectory.com/skills/baekenough-omcustom-web)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: omcustom:web
description: Control and inspect the built-in Web UI (packages/serve) — start, stop, status, open
scope: harness
argument-hint: "[start|stop|status|open]"
user-invocable: true
---

# Web UI Control

Interactive control for the built-in Web UI server (packages/serve).

## Arguments

| Argument | Action |
|----------|--------|
| `status` (default) | Show server status (PID, port, URL) |
| `start` | Start the Web UI server in background |
| `stop` | Stop the running Web UI server |
| `open` | Open the Web UI in the default browser |

## Workflow

### Step 1: Check Server Status

Run these checks via Bash:

```bash
PORT=${OMCUSTOM_PORT:-4321}
PID_FILE="$HOME/.omcustom-serve.pid"
PID=$(cat "$PID_FILE" 2>/dev/null)

# Process alive?
if [ -n "$PID" ] && kill -0 "$PID" 2>/dev/null; then
  STATUS="running"
else
  STATUS="stopped"
  # Clean stale PID file
  [ -f "$PID_FILE" ] && rm "$PID_FILE"
fi

# Port check
PORT_PID=$(lsof -ti :$PORT 2>/dev/null | head -1)

echo "STATUS=$STATUS PID=$PID PORT=$PORT PORT_PID=$PORT_PID"
```

### Step 2: Display Status

```
Web UI Control
─────────────
Status: ● Running (PID {PID})
URL:    http://localhost:{PORT}
Log:    ~/.omcustom-serve.log
```

or

```
Web UI Control
─────────────
Status: ○ Stopped
Port:   {PORT} (free)
```

### Step 3: Execute Subcommand

| Subcommand | Action |
|------------|--------|
| `status` | Display status from Step 2, then exit |
| `start` | If stopped → run `omcustom serve` via Bash. If running → show URL |
| `stop` | If running → run `omcustom serve-stop` via Bash. If stopped → inform user |
| `open` | If running → `open http://localhost:{PORT}` (macOS). If stopped → ask to start first |

### Step 4: Port Conflict Detection

Before `start`, check if port is already occupied by another process:

```bash
PORT_PID=$(lsof -ti :$PORT 2>/dev/null | head -1)
if [ -n "$PORT_PID" ]; then
  PROC=$(ps -p $PORT_PID -o comm= 2>/dev/null)
  echo "Port $PORT is occupied by $PROC (PID $PORT_PID)"
fi
```

If occupied by a non-serve process, warn the user and suggest `--port` option.

## No Argument Behavior

When called without arguments (`/omcustom:web`):
1. Show status
2. If stopped, suggest: "Run `/omcustom:web start` to start the server"
3. If running, suggest: "Run `/omcustom:web open` to open in browser"

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.