From data-science
LLM Gateway management — user onboarding, budget bumps, model access, manage.py CLI patterns
How this skill is triggered — by the user, by Claude, or both
Slash command
/data-science:gateway-managementThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The LLM Gateway runs at `llm.labs.blackduck.com` (labs) and `llm.core.blackduck.com` (core). The management CLI is at `/Users/bolster/src/service-llm/scripts/manage.py`.
The LLM Gateway runs at llm.labs.blackduck.com (labs) and llm.core.blackduck.com (core). The management CLI is at /Users/bolster/src/service-llm/scripts/manage.py.
Always cd /Users/bolster/src/service-llm before running manage.py commands.
cd /Users/bolster/src/service-llm
uv run scripts/manage.py --env labs list-users
uv run scripts/manage.py --env core list-users
cd /Users/bolster/src/service-llm
uv run scripts/manage.py --env labs list-users 2>&1 | grep -i "<email_fragment>"
# Multiple users:
uv run scripts/manage.py --env labs list-users 2>&1 | grep -iE "<email1>|<email2>|<email3>"
cd /Users/bolster/src/service-llm
uv run scripts/manage.py --env core create-user <email>
On core environment, this automatically adds the user to the bd-staff team. The command outputs the user's API key — share this with the user as their OPENAI_API_KEY.
cd /Users/bolster/src/service-llm
# Check current budget first:
uv run scripts/manage.py --env labs list-users 2>&1 | grep -i "<email>"
# Then bump:
uv run scripts/manage.py --env labs update-budget <email> --budget <new_amount> --yes
Default increment if no target amount specified: current budget + $50.
cd /Users/bolster/src/service-llm
uv run scripts/manage.py --env labs usage-summary --lookback 7 --markdown
To find pending budget requests:
Ask WorkIQ: "In the LLM Gateway Users Microsoft Teams channel and any recent conversations, find messages in the last 14 days where someone asked for a budget increase, budget bump, more budget, or reported an ExceededBudget error. For each: person's name, email if mentioned, channel, date sent."
Then for each requester:
mcp__employee411__search_users to resolve canonical emaillist-users | grepFor new Black Duck staff on core:
create-user <email> — creates user + adds to bd-staff teamOPENAI_API_KEYhttps://llm.core.blackduck.comLLM Gateway usage also available via Service-MCP data products:
SELECT COUNT(*) AS total_requests, COUNT(DISTINCT user_id) AS unique_users,
SUM(total_tokens) AS total_tokens, ROUND(SUM(response_cost),2) AS cost_usd
FROM data_product_staging.llm_gateway.stg_llm_gateway__llm_gateway_usage
WHERE created_at >= 'YYYY-MM-DD' AND created_at < 'YYYY-MM-DD'
Note: model_group, proxy_base_url, team_alias are VARIANT columns — cast to STRING before grouping.
LLM Analytics Dashboard: https://adb-1509998832420984.4.azuredatabricks.net/dashboardsv3/01f0cab69ad71cf1a545e34b74ee6583/published?o=1509998832420984
npx claudepluginhub bd-vitalstatistix/claude-marketplace --plugin data-scienceGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.