.claude/skills/setup-genai-dev/SKILL.md
Set up the GenAI Engine development environment. Use when starting work on the project for the first time, or when environment needs to be reset. Handles uv, PostgreSQL, migrations, and environment variables.
npx skillsauth add arthur-ai/arthur-engine setup-genai-devInstall 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:
Run the following setup steps for the GenAI Engine development environment. Report success or failure for each step and stop immediately if any step fails.
Step 1 — Prerequisites check:
python3 --version && docker ps && uv --version
If any fail, report which tool is missing and stop.
Step 2 — Install dependencies:
cd genai-engine && uv sync --group dev --group linters
Step 3 — Start PostgreSQL:
cd genai-engine && docker compose up -d db && sleep 5 && docker compose ps
Step 4 — Run database migrations with all required env vars:
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 alembic upgrade head && uv run alembic current
tools
--- 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.