Dev Server - Local Development Environment Manager

VerifiedCaution

Start, stop, restart, check status of, or tail logs for the Fenrir Ledger local dev environment.

Sby Skills Guide Bot
DevOpsIntermediate
7/28/2026
Claude Code
#local-dev#service-management#log-tail#dev-server#process-control

Recommended for

Automated summary

Manages the Fenrir Ledger local development services, including starting, stopping, restarting, checking status, and tailing logs for app, Stripe, Odin's Throne, and kubectl proxy processes.

Strengths

  • Provides one command surface for all local services with individual and bulk actions.
  • Includes an odins-throne alias that controls the API and UI together.
  • Prints a consolidated status table with ports and PIDs after actions.
  • Supports per-service log tailing, including app logs by default.

Limitations

  • Hardcoded to Fenrir Ledger services, ports, and scripts under .claude/skills/dev-server/scripts.
  • Requires project-specific tooling such as vercel, tsx, vite, Stripe CLI, and kubectl.
  • Status reflects managed processes/PIDs rather than deep application health checks.
When to use it

Use it when you need to operate or inspect the Fenrir Ledger local dev stack from Claude Code.

When not to use it

Do not use it for other repositories, production deployments, or general-purpose service orchestration.

Security analysis

Caution
Quality score82/100

The skill does not contain destructive, exfiltrating, or obfuscated commands. It is a legitimate local development orchestrator, but it uses powerful tools including bash, kubectl, Stripe CLI, and network-facing dev servers. Those are appropriate for the stated purpose but warrant a caution rating rather than safe.

Findings
  • •Executes repository-local bash scripts via git rev-parse and bash, giving the skill broad local process control if the repo/scripts are compromised.
  • •Starts `kubectl proxy` on localhost:8001 for GKE cluster access, which exposes the Kubernetes API to any local process/user for the duration it runs.
  • •Launches Stripe CLI webhook forwarding and `vercel dev`, which involve network services and local development credentials.
How this analysis is made

Examples

Start all services
/dev-server start
Restart Odin's Throne
/dev-server odins-throne restart
Tail app logs
/dev-server app logs

name: dev-server description: "Start, stop, restart, check status of, or tail logs for the Fenrir Ledger local dev environment."

Dev Server — Local Development Environment Manager

Manages all local development services for Fenrir Ledger.

Usage

/dev-server                         # Show status of all services
/dev-server start                   # Start all services
/dev-server stop                    # Stop all services
/dev-server restart                 # Restart all services
/dev-server <service> start         # Start a specific service
/dev-server <service> stop          # Stop a specific service
/dev-server <service> logs          # Tail a specific service's logs
/dev-server odins-throne start      # Start odins-throne-api + odins-throne-ui
/dev-server odins-throne restart    # Restart odins-throne-api + odins-throne-ui

Services

| Service | Alias | Port | Description | |---------|-------|------|-------------| | app | — | 9653 (WOLF) | Next.js dev server via vercel dev | | stripe | — | — | Stripe CLI webhook forwarding to app | | odins-throne-api | odins-throne | 3001 | Hono API/WebSocket server (K8s jobs, log streaming) | | odins-throne-ui | odins-throne | 3002 | Vite React UI (Odin's Throne — Hlidskjalf) | | proxy | — | 8001 | kubectl proxy for GKE cluster access |

odins-throne is a convenience alias that controls both odins-throne-api and odins-throne-ui together.

Scripts

Each service has its own management script in scripts/:

SCRIPT_DIR="$(git rev-parse --show-toplevel)/.claude/skills/dev-server/scripts"
bash "$SCRIPT_DIR/<service>.sh" <action>

Actions: start, stop, status, logs

Instructions

Parse the command

| Input | Action | |-------|--------| | (no args) or status | Run status on ALL services | | start | Run start on ALL services | | stop | Run stop on ALL services | | restart | Run stop then start on ALL | | odins-throne <action> | Run <action> on odins-throne-api + odins-throne-ui | | monitor <action> | Same as odins-throne | | <service> <action> | Run <action> on that service only | | logs | Run logs on app (default) | | <service> logs | Tail that service's log |

Execute

REPO_ROOT=$(git rev-parse --show-toplevel)
SCRIPT_DIR="$REPO_ROOT/.claude/skills/dev-server/scripts"

# Single service
bash "$SCRIPT_DIR/<service>.sh" <action>

# odins-throne (both odins-throne services)
bash "$SCRIPT_DIR/odins-throne-api.sh" <action>
bash "$SCRIPT_DIR/odins-throne-ui.sh" <action>

# All services (start order)
for svc in stripe app odins-throne-api odins-throne-ui proxy; do
  bash "$SCRIPT_DIR/$svc.sh" <action>
done

Report

Show a status table after any action:

Service         Port   Status
───────         ────   ──────
app             9653   running (pid 12345)
stripe          —      running (pid 12346)
odins-throne    3001   running (pid 12347)  ← odins-throne-api
                3002   running (pid 12348)  ← odins-throne-ui
proxy           8001   not running

Notes

  • odins-throne-api requires tsx (runs development/odins-throne/ via tsx watch)
  • odins-throne-ui requires vite (runs development/odins-throne-ui/ Vite dev server with HMR)
  • proxy requires kubectl configured for the GKE cluster
  • stripe requires Stripe CLI (brew install stripe/stripe-cli/stripe)
  • Open http://localhost:3002/ for the UI (Vite proxies API/WS to odins-throne-api on 3001)

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/dev-server-local-development-environment-manager-ms47vpp7/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/dev-server-local-development-environment-manager-ms47vpp7' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/dev-server-local-development-environment-manager-ms47vpp7/download' --output '.skill-downloads/dev-server-local-development-environment-manager-ms47vpp7/SKILL.md.part' && mv '.skill-downloads/dev-server-local-development-environment-manager-ms47vpp7/SKILL.md.part' '.skill-downloads/dev-server-local-development-environment-manager-ms47vpp7/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/dev-server-local-development-environment-manager-ms47vpp7/SKILL.md' && test -s '.skill-downloads/dev-server-local-development-environment-manager-ms47vpp7/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/dev-server' && cp -R '.skill-downloads/dev-server-local-development-environment-manager-ms47vpp7' '.claude/skills/dev-server'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/dev-server-local-development-environment-manager-ms47vpp7'

openskills read 'dev-server-local-development-environment-manager-ms47vpp7'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/dev-server-local-development-environment-manager-ms47vpp7/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills