/server — Backstage Viewer Server Control

Start/stop the backstage pixel art office viewer server.

11 stars

Best use case

/server — Backstage Viewer Server Control is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Start/stop the backstage pixel art office viewer server.

Teams using /server — Backstage Viewer Server Control should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/server/SKILL.md --create-dirs "https://raw.githubusercontent.com/sebyul2/backstage/main/skills/server/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/server/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How /server — Backstage Viewer Server Control Compares

Feature / Agent/server — Backstage Viewer Server ControlStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Start/stop the backstage pixel art office viewer server.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# /server — Backstage Viewer Server Control

Start/stop the backstage pixel art office viewer server.

## Usage

```
/server           → Show current status + toggle menu
/server on        → Enable backstage + start viewer server
/server off       → Disable backstage + stop viewer server
```

## Implementation

When this skill is invoked, execute the **single Bash command** below. Do NOT run multiple commands or add extra checks.

### 1. Parse Arguments

Check if the user passed `on`, `off`, or nothing.

### 2. If no argument — show status and ask

Run this single command:
```bash
[ -f ~/.claude/plugins/backstage/enabled ] && echo "Backstage: ON" || echo "Backstage: OFF"
```

Then use AskUserQuestion to ask: "Backstage를 켜시겠습니까? / 끄시겠습니까?" with options.

### 3. Turn ON

Run this **single Bash command** (copy exactly, do not modify):
```bash
mkdir -p ~/.claude/plugins/backstage && touch ~/.claude/plugins/backstage/enabled && lsof -ti:7777 | xargs kill 2>/dev/null; sleep 0.3; VIEWER_DIR="$(ls -d ~/.claude/plugins/cache/backstage/backstage/*/viewer 2>/dev/null | sort -V | tail -1)"; [ -z "$VIEWER_DIR" ] && VIEWER_DIR=~/.claude/plugins/backstage/viewer; cd "$VIEWER_DIR" && nohup perl -e 'use POSIX "setsid"; setsid(); exec @ARGV' bun server.ts > /tmp/backstage-viewer.log 2>&1 & echo $! > ~/.claude/plugins/backstage/viewer.pid; sleep 1; lsof -ti:7777 > /dev/null 2>&1 && echo "OK: http://localhost:7777" || echo "FAIL: check /tmp/backstage-viewer.log"
```

Report the output. Do not add extra commands.

### 4. Turn OFF

Run this **single Bash command** (copy exactly, do not modify):
```bash
rm -f ~/.claude/plugins/backstage/enabled; lsof -ti:7777 | xargs kill 2>/dev/null; rm -f ~/.claude/plugins/backstage/viewer.pid; echo "Backstage OFF"
```

Report the output. Do not add extra commands.

## Notes

- When OFF, all hooks immediately exit (no token cost)
- dialogue-generator is not called when OFF
- The enabled file at `~/.claude/plugins/backstage/enabled` controls all hook behavior
- ON always kills existing server first, then starts fresh (no stale process issues)
- Uses `nohup` + `perl POSIX::setsid()` + `&` for triple process isolation:
  - `nohup`: ignores SIGHUP (terminal close)
  - `perl setsid()`: creates new session (immune to process group SIGTERM)
  - `&`: backgrounds from shell
- Viewer directory auto-detected: finds latest version in plugin cache via `sort -V`
- Liveness check uses `lsof -ti:7777` (port check), not `curl` (avoids false positives)

Related Skills

mcp-server-patterns

144923
from affaan-m/everything-claude-code

Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP. Use Context7 or official MCP docs for latest API.

DevelopmentClaude

hugging-face-dataset-viewer

31392
from sickn33/antigravity-awesome-skills

Query Hugging Face datasets through the Dataset Viewer API for splits, rows, search, filters, and parquet links.

Data Access & ExplorationClaude

hig-components-controls

31392
from sickn33/antigravity-awesome-skills

Check for .claude/apple-design-context.md before asking questions. Use existing context and only ask for information not already covered.

Design GuidanceClaude

code-reviewer

31392
from sickn33/antigravity-awesome-skills

Elite code review expert specializing in modern AI-powered code

Developer ToolsClaude

azure-communication-callingserver-java

31392
from sickn33/antigravity-awesome-skills

⚠️ DEPRECATED: This SDK has been renamed to Call Automation. For new projects, use azure-communication-callautomation instead. This skill is for maintaining legacy code only.

Pitch Deck Reviewer

3891
from openclaw/skills

Reviews pitch decks and provides investor-ready feedback with scoring

Business Strategy & Growth

Pest Control Operations Agent

3891
from openclaw/skills

You are an expert pest control business operations advisor. Help operators with licensing, EPA/FIFRA compliance, pricing, route optimization, seasonal planning, technician management, and growth strategy.

Business Management

Export Compliance & Trade Controls

3891
from openclaw/skills

Analyze products, destinations, and end-users against US export control regulations (EAR, ITAR, OFAC sanctions). Generate classification recommendations, license requirements, and compliance checklists.

Regulatory Compliance

afrexai-code-reviewer

3891
from openclaw/skills

Enterprise-grade code review agent. Reviews PRs, diffs, or code files for security vulnerabilities, performance issues, error handling gaps, architecture smells, and test coverage. Works with any language, any repo, no dependencies required.

Coding & Development

ecovacs-robot-control

3891
from openclaw/skills

Control Ecovacs/DEEBOT robot vacuums via the Ecovacs IoT API. Use when the user wants to control a robot vacuum, check battery, start/stop/pause cleaning, return to dock, check clean status, set suction/water level, manage schedules, check consumables, or control auto-empty station. Covers all mainstream Ecovacs protocols including clean_V2, charge, getBattery, getCleanInfo_V2, getStats, getSpeed/setSpeed, getWaterInfo/setWaterInfo, getWorkMode/setWorkMode, getLifeSpan, getAutoEmpty/setAutoEmpty, getCachedMapInfo, getMapSet, getSched_V2/setSched_V2.

Smart Home & IoT

agentic-mcp-server-builder

3891
from openclaw/skills

Scaffold MCP server projects and baseline tool contract checks. Use for defining tool schemas, generating starter server layouts, and validating MCP-ready structure.

Coding & Development

mijia-control

40
from lllooollpp/clawdbot-cn

Control and monitor Xiaomi Mijia smart home devices. Use this skill when the user wants to: 1) Switch device status (on/off, brightness, etc.) 2) List available home devices 3) Run automation scenes 4) Check environmental statistics.

Smart Home & IoT