本文へ移動
cccskills
無料GitHub で公開

kelly-llm-gateway

Busabase-backed App-in-Skill dashboard for a shared LLM gateway's cost and model governance — daily spend trend, cost breakdown by service/model, a canary-rollout status board, and a deterministic cost/error anomaly list. Use when the user invokes $kelly-llm-gateway or /kelly-llm-gateway, or wants to review LLM gateway spend, model routing, canary rollouts, rollback readiness, or cost/error anomalies for services routed through one shared gateway to multiple LLM providers/models. Human actions (promote/rollback/hold a rollout, acknowledge an anomaly) write directly onto the route's own Busabase record — this skill never changes a real routing config.

インストール方法を見る

含まれるファイル(66)

  • SKILL.md10.5 KB
  • agents/openai.yaml251 B
  • assets/screenshots/anomalies.webp130 B
  • assets/screenshots/anomalies.zh-CN.webp130 B
  • assets/screenshots/cost-breakdown.webp130 B
  • assets/screenshots/cost-breakdown.zh-CN.webp130 B
  • assets/screenshots/overview.webp130 B
  • assets/screenshots/overview.zh-CN.webp130 B
  • assets/screenshots/rollouts.webp131 B
  • assets/screenshots/rollouts.zh-CN.webp130 B
  • assets/screenshots/thumbs/anomalies.webp129 B
  • assets/screenshots/thumbs/anomalies.zh-CN.webp129 B
  • assets/screenshots/thumbs/cost-breakdown.webp130 B
  • assets/screenshots/thumbs/cost-breakdown.zh-CN.webp130 B
  • assets/screenshots/thumbs/overview.webp130 B
  • assets/screenshots/thumbs/overview.zh-CN.webp130 B
  • assets/screenshots/thumbs/rollouts.webp130 B
  • assets/screenshots/thumbs/rollouts.zh-CN.webp130 B
  • busabase.json1.4 KB
  • content/_folder.json528 B
  • content/kelly-llm-gateway-app/_node.json548 B
  • content/kelly-llm-gateway-app/.busabaseignore194 B
  • content/kelly-llm-gateway-app/app/accent-theme.css8.0 KB
  • content/kelly-llm-gateway-app/app/accent-theme.js7.3 KB
  • content/kelly-llm-gateway-app/app/app.js28.4 KB
  • content/kelly-llm-gateway-app/app/i18n/en.json2.6 KB
  • content/kelly-llm-gateway-app/app/i18n/zh-CN.json2.6 KB
  • content/kelly-llm-gateway-app/app/index.html4.5 KB
  • content/kelly-llm-gateway-app/app/js/busabase-client.js226 B
  • content/kelly-llm-gateway-app/app/js/config.js4.5 KB
  • content/kelly-llm-gateway-app/app/js/connect-gate.js1.7 KB
  • content/kelly-llm-gateway-app/app/js/gateway-model.js15.1 KB
  • content/kelly-llm-gateway-app/app/js/pagination.js4.6 KB
  • content/kelly-llm-gateway-app/app/js/providers/busabase-provider.js9.4 KB
  • content/kelly-llm-gateway-app/app/js/providers/demo-provider.js9.3 KB
  • content/kelly-llm-gateway-app/app/js/providers/index.js270 B
  • content/kelly-llm-gateway-app/app/js/runtime.js3.4 KB
  • content/kelly-llm-gateway-app/app/styles/base-ui.css13.0 KB
  • content/kelly-llm-gateway-app/app/styles/editorial.css30.7 KB
  • content/kelly-llm-gateway-app/app/styles/layers.css33 B
  • content/kelly-llm-gateway-app/app/styles/shell.css25.2 KB
  • content/kelly-llm-gateway-app/app/styles/workflow.css5.4 KB
  • content/kelly-llm-gateway-app/app/vendor/busabase-airapp-gate.css6.1 KB
  • content/kelly-llm-gateway-app/app/vendor/busabase-airapp-gate.js11.2 KB
  • content/kelly-llm-gateway-app/app/vendor/busabase-airapp.js556.0 KB
  • content/kelly-llm-gateway-app/app/vendor/busabase-sdk.js849.5 KB
  • content/kelly-llm-gateway-app/package.json1.1 KB
  • content/kelly-llm-gateway-app/pnpm-lock.yaml5.2 KB
  • content/kelly-llm-gateway-app/pnpm-workspace.yaml50 B
  • content/kelly-llm-gateway-app/scripts/check-editorial.mjs6.1 KB
  • content/kelly-llm-gateway-app/scripts/check.mjs4.2 KB
  • content/kelly-llm-gateway-app/server.js3.1 KB
  • content/kelly-llm-gateway-app/test/gateway-model.test.mjs9.6 KB
  • content/models/base.json758 B
  • content/routes/base.json2.5 KB
  • content/services/base.json621 B
  • content/services/records.ndjson433 B
  • content/settings/base.json863 B
  • package.json288 B
  • pnpm-lock.yaml4.3 KB
  • pnpm-workspace.yaml50 B
  • README.md3.5 KB
  • references/gateway-schema.md6.8 KB
  • scripts/publish_airapp.mjs3.1 KB
  • scripts/setup.mjs6.4 KB
  • scripts/sync-content.mjs2.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

LLM Gateway Cost & Governance Desk

Overview

Kelly LLM Gateway is a Busabase Cloud App-in-Skill. Its canonical product surface is the AirApp in Busabase, not a separate local-data product. The same Hono source supports an explicitly requested local preview with OAuth connection bootstrap. It gives a platform team an operator dashboard over a shared LLM gateway: several consuming services (e.g. Support Bot, Search Ranking, Content Summarizer, Internal Copilot) routed through one gateway to a mix of internal and external models. It aggregates per-service/per-model call volume, cost, and error rate: an Overview (spend trend, rollout/anomaly summaries), a Cost Breakdown table, a Canary Rollout status board, and an Anomaly list.

This is deliberately generic and brand-free: no real company, product, or model name appears anywhere in the code, config, or seed data — only role-based service names ("Support Bot") and generic provider/model labels ("Provider A / Model Large", "Internal Model v2").

This is a direct-manipulation operator dashboard, not a review-then-approve queue: there is no AI-authored draft to approve and no separate execute/ decisions step. Anomalies are computed by a documented, deterministic rule-based function (content/kelly-llm-gateway-app/app/js/gateway-model.js, ported from the retired content/kelly-llm-gateway-app/server/anomalies.ts); the human platform operator makes every promote/ rollback/hold and acknowledgement decision directly in the UI, writing straight onto the route's own Busabase record — the same way kelly-lead-funnel's kanban stage moves work.

Default behavior is AirApp-first. Unless the user explicitly asks only for explanation, give the user the clickable AirApp URL. Start localhost only when local preview/debugging is explicitly requested; it uses the same Busabase resources and never offers another data provider. Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar.

Mandatory Dependencies

  1. Read and follow $kelly-app-skill-creator for product behavior, visual quality, responsive layout, and the complete canonical content/kelly-llm-gateway-app/ artifact.
  2. Read and follow $busabase for connection, target Space, node discovery, ChangeRequests, review, and merge behavior.
  3. Read and follow $busabase-app-creator for resource modeling, AirApp runtime limits, security, validation, and deployment.

If a dependency is unavailable, preserve this skill's artifact and product contracts, stop before the unavailable Busabase operation, and report the exact missing dependency. Do not invent a second data backend.

App UI Screenshots

<table> <tr> <td width="50%"><img src="assets/screenshots/overview.webp" alt="Gateway overview"></td> <td width="50%"><img src="assets/screenshots/cost-breakdown.webp" alt="Gateway cost breakdown"></td> </tr> <tr> <td><strong>Overview</strong><br>Total daily spend trend, a canary-rollout summary, and a top anomalies preview.</td> <td><strong>Cost Breakdown</strong><br>Sortable service × model table: calls, cost, error rate, canary %, status.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/rollouts.webp" alt="Gateway rollouts"></td> <td width="50%"><img src="assets/screenshots/anomalies.webp" alt="Gateway anomalies"></td> </tr> <tr> <td><strong>Rollouts</strong><br>Canary-rollout status board with rollback readiness and promote/rollback/hold actions.</td> <td><strong>Anomalies</strong><br>Deterministic cost/error spikes vs each route's own rolling baseline, with acknowledgement.</td> </tr> </table>

Boundary

  • Deterministic, rule-based anomaly detection only (content/kelly-llm-gateway-app/app/js/gateway-model.js). NEVER call an LLM to detect, rank, or auto-resolve an anomaly.
  • The AirApp reads and writes its own Busabase Bases only; it never calls a live gateway API or touches a real routing config. There is no execution/ merge step beyond the direct write itself — a human still applies the decision in the real system of record.
  • Routes/services/models are never created by the AirApp; they enter Busabase through an external process (a future gateway usage-API adapter), the same way kelly-lead-funnel's leads enter through an upstream sourcing process the app doesn't control. The AirApp only ever updates an existing route's rollout status or anomaly-ack fields.
  • Generic, brand-neutral tool: never hardcode or reference a specific real company, gateway, or model name in code, templates, or docs.
  • Treat cost/usage data as sensitive. Never commit a local credential file or Busabase secrets.

Busabase Resources

Four Bases under one application Folder (kelly-llm-gateway), declared in content/kelly-llm-gateway-app/app/js/config.js and the generated template sidecars under content/:

  • routes: one row per service→model route — canary status, canary-pct, rollback-ready, a human decision note, a 14-day daily usage series (JSON array of {date, calls, cost, errors}), and per-anomaly-kind acknowledgement state (cost-spike-ack/error-spike-ack, JSON or empty). Today's totals and each route's own rolling cost/error baseline are never stored — they are pure/derived from daily and recomputed on every read.
  • services: one row per consuming service routed through the gateway.
  • models: one row per backing model/provider behind the gateway.
  • settings: sanitized config (base currency, anomaly thresholds, non-secret gateway region/base URL/credential-env-var name), one row keyed by kind.

Resources provision lazily through an idempotent Busabase ChangeRequest the first time the app runs in a Space; see references/gateway-schema.md for exact field shapes.

Anomaly Detection

content/kelly-llm-gateway-app/app/js/gateway-model.js (computeAnomalies) flags a cost spike and/or an error spike per route by comparing today's cost/error_rate against that route's own rolling baseline (mean of the preceding days in daily, excluding today). Default thresholds: cost_spike_threshold_pct: 50, error_spike_threshold_pct: 100 (i.e. cost ≥1.5x baseline, or error rate ≥2x baseline), each overridable via the settings Base. Severity is high at 2x the threshold, otherwise watch. No randomness, no ML — the same snapshot always produces the same anomalies.

Direct Rollout & Anomaly Actions

All human actions write straight onto the route's own Busabase record through busabase-sdk, exactly like kelly-lead-funnel's kanban stage moves — there is no approval queue and no separate decisions bucket:

  • Promote: sets status: stable, canary-pct: 100, rollback-ready: false.
  • Rollback: sets status: rollback, rollback-ready: false.
  • Hold: sets status: hold only.
  • Acknowledge an anomaly: writes {note, acknowledged_at} onto the route's cost-spike-ack or error-spike-ack field, whichever the anomaly's kind refers to.

From a standalone local preview the write merges immediately (trusted operator); from the deployed AirApp it creates a pending ChangeRequest for the trusted process to merge, per the AirApp boundary in $busabase-app-creator.

Demo Mode

  • ?demo=1 opens a deterministic, fully offline mock gateway (4 services, 5 models, 8 service/model routes, 14 days of history) with computed spend trend, rollout status, and anomalies for documentation and screenshots.
  • ?demo=spend, ?demo=rollouts, and ?demo=anomalies select named mock scenes (their initial route).
  • lang=en or lang=zh forces UI chrome language for screenshots.
  • Demo mode never reads or writes Busabase and never claims a real connection; demo rollout/ack actions only update the in-memory snapshot already rendered in the browser tab, never Busabase.

UI language: support English and Chinese chrome with Auto default.

Local App

Default behavior is AirApp-first — give the user the clickable AirApp URL. Start pnpm --dir content/kelly-llm-gateway-app dev only when local preview/debugging is explicitly requested.

Views

  • #/overview: total daily spend trend (14 days), a canary-rollout summary, and a top anomalies preview.
  • #/spend: sortable service × model cost-breakdown table (calls, cost, error rate, canary %, status).
  • #/rollouts: canary rollout status board — canary %, rollback readiness, and promote to 100% / rollback / hold actions with a note.
  • #/anomalies: cost/error anomalies vs each route's own rolling baseline, with acknowledgement.
  • #/settings: sanitized setup summary — data provider, config path, gateway region/base URL, credential env var name, and onboarding state. Never expose secret values.

Completion Criteria

Finish only when:

  • the skill contains the complete canonical content/kelly-llm-gateway-app/ project and pnpm --dir content/kelly-llm-gateway-app dev remains supported;
  • all persistent config, state, and domain data use busabase-sdk and the declared resource map — no local JSON, browser storage, or provider choice;
  • Vault values and API credentials never reach browser-visible surfaces;
  • local setup offers Cloud/custom URL OAuth plus the explicit Demo path, while a deployed AirApp uses its ambient session;
  • Overview, Cost Breakdown, Rollouts, Anomalies, and Help & Settings render on desktop and phone widths;
  • pnpm --dir content/kelly-llm-gateway-app run check and node --test pass.

Stop Conditions

Stop before consequential Busabase mutation when the target Space is ambiguous, the current user lacks permission, or a same-slug resource is not application-owned. Never call a live gateway API or change a real routing config from the AirApp.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Align all AI coding agents to a single source of truth. AGENTS.md for rules, .agents/skills/ for skills, symlinks for everything else. Use when setting up a repo for multiple agents, or when links are missing, broken, or out of date.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Read, answer and post on the Buda community forum at community.buda.im through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $buda-community or /buda-community, asks what is happening in the Buda community, wants an unanswered question triaged or answered, or wants something posted or announced there.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Read, answer and post on the Busabase community forum at community.busabase.com through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $busabase-community or /busabase-community, asks what is happening in the Busabase community, wants an unanswered question triaged or answered, or wants something posted or announced there.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

kelly-ads

無料

Ad-campaign command desk (投放指挥台, Busabase App-in-Skill) for a cross-border e-commerce seller running Amazon Ads, Meta (FB/IG), TikTok Ads, and Google Ads. Use when the user invokes $kelly-ads or /kelly-ads, or asks about 投放, ad campaigns, ad spend, ACOS, ROAS, Amazon Ads, TikTok ads, Meta ads, Google Ads, search terms, negative keywords, bid adjustment, budget pacing, CPC spikes, rejected ads, ad anomaly detection, 广告优化, or reviewing agent-proposed adjustment cards (negative keyword, bid down/up, pause target, budget shift, creative refresh).

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Busabase-backed App-in-Skill low-code agent configuration and governance console for a platform team. Use when the user invokes $kelly-agent-builder or /kelly-agent-builder, wants to review or edit a catalog of mock LLM agent configs, check quota usage, find configs that need attention, move a draft to live, pause a live agent, or archive an agent. Mock config/governance console only — it never provisions or calls any real agent.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Review board (Busabase App-in-Skill) that runs a fixed suite of mock test cases against a baseline vs candidate agent version and surfaces rubric-scored regressions before a release. Use when the user invokes $kelly-agent-eval or /kelly-agent-eval, wants to review agent-version regressions, compare baseline vs candidate quality, triage a release, or record a release approve/block decision. Deterministic mock rubric scores only — not a real LLM-judge call, and it never deploys anything.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

mr-kelly のスキルをすべて見る

このスキルの問題を報告する