.claude/skills/start-genai-backend/SKILL.md
Start the GenAI Engine backend server and frontend UI. Use when you need to launch the API server and the frontend locally.
npx skillsauth add arthur-ai/arthur-engine start-genai-backendInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use the Read tool to read ./genai-engine/.env.
Check that GENAI_ENGINE_OPENAI_GPT_NAMES_ENDPOINTS_KEYS is present and has a non-empty value (not just GENAI_ENGINE_OPENAI_GPT_NAMES_ENDPOINTS_KEYS= with nothing after the =).
If the value is missing or empty:
genai-engine/.env and set GENAI_ENGINE_OPENAI_GPT_NAMES_ENDPOINTS_KEYS using the format: MODEL_NAME::ENDPOINT_URL::API_KEY (e.g. gpt-4o::https://api.openai.com/::sk-...). Run the skill again once the key is set."Only proceed here if Step 1 passed. Spawn a Task sub-agent with subagent_type="Bash" and the following self-contained prompt:
Start the GenAI Engine backend and frontend. Report success or failure for each step.
Step 1 — Verify PostgreSQL is running:
cd genai-engine && docker compose ps db
If not running or unhealthy, start it:
cd genai-engine && docker compose up -d db && sleep 3
Step 2 — Start the backend server in the background:
cd genai-engine && \
set -a && source .env && set +a && \
export POSTGRES_USER=postgres \
POSTGRES_PASSWORD=changeme_pg_password \
POSTGRES_URL=localhost \
POSTGRES_PORT=5432 \
POSTGRES_DB=arthur_genai_engine \
POSTGRES_USE_SSL=false \
PYTHONPATH="src:$PYTHONPATH" \
GENAI_ENGINE_SECRET_STORE_KEY="some_test_key" \
GENAI_ENGINE_ENVIRONMENT=local \
GENAI_ENGINE_ADMIN_KEY=changeme123 \
GENAI_ENGINE_ENABLE_PERSISTENCE=enabled \
ALLOW_ADMIN_KEY_GENERAL_ACCESS=enabled && \
uv run serve &
Step 3 — Wait for the backend to become healthy:
sleep 5 && curl -s -H "Authorization: Bearer changeme123" http://localhost:3030/health
Step 4 — Start the frontend and capture the URL:
cd genai-engine/ui && yarn install && yarn dev 2>&1 | tee /tmp/vite-fe.log &
sleep 3 && grep -m1 "Local:" /tmp/vite-fe.log
Report the following when done:
/docs appendedAuthorization: Bearer changeme123tools
--- name: arthur-onboard-verify description: Arthur onboarding sub-skill — Step 7: Verify that traces are flowing from the instrumented application to Arthur Engine. Reads credentials from .arthur-engine.env. allowed-tools: Bash, Read --- # Arthur Onboard — Step 7: Verify Instrumentation ## Read State ```bash cat .arthur-engine.env 2>/dev/null || echo "(no state file)" ``` Parse `ARTHUR_ENGINE_URL`, `ARTHUR_API_KEY`, `ARTHUR_TASK_ID`. --- ## Tell the User to Run Their Application Show the
tools
--- name: arthur-onboard-task description: Arthur onboarding sub-skill — Step 3: Set up an Arthur Task (create or select). Reads/writes .arthur-engine.env. allowed-tools: Bash, Read, Write, Edit --- # Arthur Onboard — Step 3: Set Up Arthur Task **Goal:** Establish `ARTHUR_TASK_ID` in `.arthur-engine.env`. ## Read State ```bash cat .arthur-engine.env 2>/dev/null || echo "(no state file)" ``` Parse `ARTHUR_ENGINE_URL`, `ARTHUR_API_KEY`, and `ARTHUR_TASK_ID` from the output. **State write hel
tools
--- name: arthur-onboard-prompts description: Arthur onboarding sub-skill — Step 6: Extract prompts from the target repository and register them with Arthur Engine. Reads credentials from .arthur-engine.env. allowed-tools: Bash, Read, Task --- # Arthur Onboard — Step 6: Extract & Register Prompts ## Read State ```bash cat .arthur-engine.env 2>/dev/null || echo "(no state file)" ``` Parse `ARTHUR_ENGINE_URL`, `ARTHUR_API_KEY`, `ARTHUR_TASK_ID`. --- ## Extract Prompts via Sub-agent Delegate
development
Onboard an agentic application to the Arthur SaaS Platform (platform.arthur.ai). Guides through authentication, workspace selection, engine deployment, model creation, code instrumentation, trace verification, and eval configuration.