[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7DMSDH8SSDGDBCF79X61C1S":3,"skill-same:01M7DMSDH8SSDGDBCF79X61C1S":54},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":6,"updatedAt":33,"install":34,"resources":47},"01M7DMSDH8SSDGDBCF79X61C1S","domino-debug-proxy",null,"Diagnose and fix Domino reverse-proxy and routing problems in published web apps by checking vite.config.js, package.json, app.sh, server.js and Python entry points (app.py) for the wrong port, localhost binding, absolute base paths, a hand-built URL prefix instead of DOMINO_RUN_HOST_PATH, BrowserRouter deep links, missing build steps, or a model token compiled into the browser bundle. Use when a Domino app never reaches Running, shows connection refused, 404s on CSS or JS assets, a blank page, broken deep links, or stopped working after a restart, and when fetch gets HTML instead of JSON, Domino API calls from the app fail (401, 403, 500) or act as the publisher, streaming stalls, or uploads get 413.","dominodatalab\u002Fdomino-ai-plugin","dominodatalab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8785569?v=4","01M7DMQ6VQCJ3KNYCSH3RRTDZM","Domino Data Lab","01M7DMQ6W7BDGQZFS2FX8NM6XG",5,"MIT","https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fdomino-debug-proxy\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: domino-debug-proxy\ndescription: Diagnose and fix Domino reverse-proxy and routing problems in published web apps by checking vite.config.js, package.json, app.sh, server.js and Python entry points (app.py) for the wrong port, localhost binding, absolute base paths, a hand-built URL prefix instead of DOMINO_RUN_HOST_PATH, BrowserRouter deep links, missing build steps, or a model token compiled into the browser bundle. Use when a Domino app never reaches Running, shows connection refused, 404s on CSS or JS assets, a blank page, broken deep links, or stopped working after a restart, and when fetch gets HTML instead of JSON, Domino API calls from the app fail (401, 403, 500) or act as the publisher, streaming stalls, or uploads get 413.\ncompatibility: Domino 6.3 and Domino Cloud. Reads project files; the optional log check needs DOMINO_API_PROXY in a run, or the deployment URL and a Personal Access Token outside one.\n---\n\n# Debug Domino App proxy issues\n\nApplies to Domino 6.3 and Domino Cloud.\n\nFind the configuration mistakes that break apps behind Domino's reverse proxy, report them, and fix them with the user's agreement. The proxy authenticates each viewer, strips the App's URL prefix (`\u003Cprefix>` and `\u003Cprefix>\u002F` both arrive as `\u002F`), forwards to port 8888, and by default passes the viewer's token as `Authorization: Bearer` (`domino-username` is a copy that Apps with extended identity propagation do not get).\n\n## Steps\n\n1. Locate the app's files: `app.sh` (or the Python\u002FR entry point Domino runs), `vite.config.js` or `vite.config.ts`, `package.json`, `server.js`, `src\u002Fmain.jsx` or `main.tsx`, and `app.py`.\n2. Run every check below and record each result as pass or fail.\n3. Print a report in the format shown under \"Report format\".\n4. List the recommended fixes and ask whether to apply them. Apply only what the user approves.\n5. For anything you can't fix from config, give the manual investigation steps.\n\n## Checks\n\n| # | Check | Pass condition |\n|---|---|---|\n| 1 | Port and host | The process Domino starts listens on `0.0.0.0:8888` (`serve -l 8888`, `app.listen(8888, '0.0.0.0')`, `--server.port 8888 --server.address 0.0.0.0`, `app.run(host=\"0.0.0.0\", port=8888)`, `uvicorn --host 0.0.0.0 --port 8888`). Domino rejects any other address or port |\n| 2 | Base path | Vite sets `base: '.\u002F'`; HTML templates reference `static\u002F...`, never `\u002Fstatic\u002F...` |\n| 3 | Router | React Router uses `HashRouter` (pass). `BrowserRouter` is a warning: it needs an SPA fallback on the server (the template `server.js`, or `serve -s`) and breaks relative assets on nested routes; a build made before publishing cannot know the prefix for an absolute `base` |\n| 4 | `app.sh` | Executable (`git update-index --chmod=+x app.sh`), changes to its own directory (`cd \"$(dirname \"$0\")\"`), and never installs or builds: it serves a build made once by `scripts\u002Fbuild-dist.sh` whose stamp matches the code ([build once](..\u002Fdomino-apps\u002FFRAMEWORKS.md#build-once-and-version-builds)); packages belong in the Compute Environment |\n| 5 | Prefix | Python frameworks that need a base path read `DOMINO_RUN_HOST_PATH` (Dash `requests_pathname_prefix`, Gradio `root_path`); nothing concatenates `DOMINO_PROJECT_OWNER`, `DOMINO_PROJECT_NAME` and `DOMINO_RUN_ID` into a path; nothing reads `X-Script-Name` (Domino never sends it) |\n| 6 | Asset and API references | No root-absolute `fetch('\u002Fapi\u002F...')` or `\u002Fassets\u002F...`; frontend API calls resolve with `new URL('api\u002F', document.baseURI)`; the entry page adds a missing trailing slash |\n| 7 | Secrets | No `VITE_*_TOKEN` or `VITE_*_KEY` in `.env*`, workflow files or source; model endpoint calls happen in `server.js`, Flask, FastAPI or another backend. Synchronous endpoints use HTTP Basic (token as user and password), asynchronous ones Bearer |\n| 8 | Dash API | `app.run(...)`, not `app.run_server(...)` (removed in Dash 3) |\n| 9 | Identity | Viewer from the token's `preferred_username` (`domino-username` only without a token); viewer calls forward the token, answer 401 without one, never retry header-less; no browser link from `DOMINO_API_HOST` or `DOMINO_USER_HOST` |\n\n## Common issues\n\n| Symptom | Cause | Fix |\n|---|---|---|\n| Never reaches Running | Bound to `localhost` or a port other than 8888 | Listen on `0.0.0.0:8888` |\n| 404 on CSS and JS | `base` is `\u002F` or missing | `base: '.\u002F'` in `defineConfig`; rebuild and republish |\n| Deep links or refresh return 404 | `BrowserRouter` routes reach the server | Switch to `HashRouter`, or keep `BrowserRouter` with an SPA fallback (`server.js`, `serve -s`) |\n| `no build matches these sources`, stale content | No saved build of the saved code, or no new version published | Run `scripts\u002Fbuild-dist.sh`, save, publish; `\u002Fhealthz` names the running build |\n| Worked, then failed after a restart | Hand-built prefix instead of `DOMINO_RUN_HOST_PATH` | Read the prefix from `DOMINO_RUN_HOST_PATH` |\n| Model call 401 | Bearer sent to a synchronous endpoint, or token missing | Basic auth with the Model Access Token as user and password; set `MODEL_API_TOKEN` in project settings and restart |\n| Model call CORS error | Browser calls the endpoint directly | Route it through the backend |\n| `import.meta.env.VITE_X` undefined | Variable not set when `npm run build` ran, or no `VITE_` prefix | Prefix non-secret build-time values; keep runtime values server-side |\n| 404 on assets or `api\u002F` only when the URL has no trailing slash | `\u003Cprefix>` arrives as `\u002F`; relative URLs resolve one level up | Add the slash first thing in `\u003Chead>` ([RUNTIME.md](.\u002FRUNTIME.md#limits-and-branding)) |\n| `fetch` gets HTML (`Unexpected token '\u003C'`) or a 302; Domino API calls fail (500, 403, 401) or act as the publisher | Consent, identity mode, credential type, or a dropped viewer token | [RUNTIME.md](.\u002FRUNTIME.md) |\n| Streaming stalls or drops, 413, 400 on the direct URL, favicon 404 | Proxy buffering and limits, Apps only allowed inside Domino, injected branding | [RUNTIME.md](.\u002FRUNTIME.md#limits-and-branding) |\n\nThe corrected `app.sh` for a Vite app is the `domino-app-init` template ([app.sh](..\u002Fdomino-app-init\u002Fassets\u002Fvite-react\u002Fapp.sh)): it serves the newest build whose stamp matches the code with `node server.js` and never runs npm.\n\n## Report format\n\n```\nDomino Proxy Debug Report\n=========================\n\nChecking: vite.config.js\nPASS Port: 8888, host 0.0.0.0\nPASS Base path: '.\u002F'\n\nChecking: src\u002Fmain.jsx\nWARN Router: BrowserRouter with base '.\u002F' (deep links 404; nested routes break assets)\n\nChecking: app.sh\nPASS Working directory: cd \"$(dirname \"$0\")\"\nPASS Starts a prebuilt build (no npm ci or npm run build)\nFAIL Serve command missing -s flag\n\nSummary: 1 issue, 1 warning\n\nRecommended fixes:\n1. Replace BrowserRouter with HashRouter in src\u002Fmain.jsx (or keep it with an SPA fallback)\n2. Update the app.sh serve command:\n   - Current: npx serve dist -l 8888\n   + Fixed:   npx serve -s dist -l 8888\n```\n\n## Manual investigation\n\nIf the config is correct but the app still fails:\n\n1. Read the App logs on the App details page (instance selector; support bundle for Kubernetes and nginx logs). Over the API: `GET \u002Fapi\u002Fapps\u002Fbeta\u002Fapps\u002F{appId}\u002Fversions\u002F{versionId}\u002Finstances`, then `GET ...\u002Finstances\u002F{instanceId}\u002Flogs?logType=stderr`, on `$DOMINO_API_PROXY` with no `Authorization` header (outside a run, the deployment URL with a Personal Access Token).\n2. In the browser developer tools, check whether failing requests dropped the App's URL prefix (the path before the app's own routes) or went to another host.\n3. Confirm the App was republished after the last commit: a version pins a commit, and deploying an old version serves old code.\n4. Test in a workspace with **App Preview**, which runs the real proxy and `DOMINO_RUN_HOST_PATH`; a local `npm run dev` cannot reproduce them.\n\nIdentity, consent, streaming, limits and branding symptoms: [RUNTIME.md](.\u002FRUNTIME.md). For general deployment guidance, framework configs and the REST routes, use the `domino-apps` skill.\n","# Debug Domino App proxy issues\n\nApplies to Domino 6.3 and Domino Cloud.\n\nFind the configuration mistakes that break apps behind Domino's reverse proxy, report them, and fix them with the user's agreement. The proxy authenticates each viewer, strips the App's URL prefix (`\u003Cprefix>` and `\u003Cprefix>\u002F` both arrive as `\u002F`), forwards to port 8888, and by default passes the viewer's token as `Authorization: Bearer` (`domino-username` is a copy that Apps with extended identity propagation do not get).\n\n## Steps\n\n1. Locate the app's files: `app.sh` (or the Python\u002FR entry point Domino runs), `vite.config.js` or `vite.config.ts`, `package.json`, `server.js`, `src\u002Fmain.jsx` or `main.tsx`, and `app.py`.\n2. Run every check below and record each result as pass or fail.\n3. Print a report in the format shown under \"Report format\".\n4. List the recommended fixes and ask whether to apply them. Apply only what the user approves.\n5. For anything you can't fix from config, give the manual investigation steps.\n\n## Checks\n\n| # | Check | Pass condition |\n|---|---|---|\n| 1 | Port and host | The process Domino starts listens on `0.0.0.0:8888` (`serve -l 8888`, `app.listen(8888, '0.0.0.0')`, `--server.port 8888 --server.address 0.0.0.0`, `app.run(host=\"0.0.0.0\", port=8888)`, `uvicorn --host 0.0.0.0 --port 8888`). Domino rejects any other address or port |\n| 2 | Base path | Vite sets `base: '.\u002F'`; HTML templates reference `static\u002F...`, never `\u002Fstatic\u002F...` |\n| 3 | Router | React Router uses `HashRouter` (pass). `BrowserRouter` is a warning: it needs an SPA fallback on the server (the template `server.js`, or `serve -s`) and breaks relative assets on nested routes; a build made before publishing cannot know the prefix for an absolute `base` |\n| 4 | `app.sh` | Executable (`git update-index --chmod=+x app.sh`), changes to its own directory (`cd \"$(dirname \"$0\")\"`), and never installs or builds: it serves a build made once by `scripts\u002Fbuild-dist.sh` whose stamp matches the code ([build once](..\u002Fdomino-apps\u002FFRAMEWORKS.md#build-once-and-version-builds)); packages belong in the Compute Environment |\n| 5 | Prefix | Python frameworks that need a base path read `DOMINO_RUN_HOST_PATH` (Dash `requests_pathname_prefix`, Gradio `root_path`); nothing concatenates `DOMINO_PROJECT_OWNER`, `DOMINO_PROJECT_NAME` and `DOMINO_RUN_ID` into a path; nothing reads `X-Script-Name` (Domino never sends it) |\n| 6 | Asset and API references | No root-absolute `fetch('\u002Fapi\u002F...')` or `\u002Fassets\u002F...`; frontend API calls resolve with `new URL('api\u002F', document.baseURI)`; the entry page adds a missing trailing slash |\n| 7 | Secrets | No `VITE_*_TOKEN` or `VITE_*_KEY` in `.env*`, workflow files or source; model endpoint calls happen in `server.js`, Flask, FastAPI or another backend. Synchronous endpoints use HTTP Basic (token as user and password), asynchronous ones Bearer |\n| 8 | Dash API | `app.run(...)`, not `app.run_server(...)` (removed in Dash 3) |\n| 9 | Identity | Viewer from the token's `preferred_username` (`domino-username` only without a token); viewer calls forward the token, answer 401 without one, never retry header-less; no browser link from `DOMINO_API_HOST` or `DOMINO_USER_HOST` |\n\n## Common issues\n\n| Symptom | Cause | Fix |\n|---|---|---|\n| Never reaches Running | Bound to `localhost` or a port other than 8888 | Listen on `0.0.0.0:8888` |\n| 404 on CSS and JS | `base` is `\u002F` or missing | `base: '.\u002F'` in `defineConfig`; rebuild and republish |\n| Deep links or refresh return 404 | `BrowserRouter` routes reach the server | Switch to `HashRouter`, or keep `BrowserRouter` with an SPA fallback (`server.js`, `serve -s`) |\n| `no build matches these sources`, stale content | No saved build of the saved code, or no new version published | Run `scripts\u002Fbuild-dist.sh`, save, publish; `\u002Fhealthz` names the running build |\n| Worked, then failed after a restart | Hand-built prefix instead of `DOMINO_RUN_HOST_PATH` | Read the prefix from `DOMINO_RUN_HOST_PATH` |\n| Model call 401 | Bearer sent to a synchronous endpoint, or token missing | Basic auth with the Model Access Token as user and password; set `MODEL_API_TOKEN` in project settings and restart |\n| Model call CORS error | Browser calls the endpoint directly | Route it through the backend |\n| `import.meta.env.VITE_X` undefined | Variable not set when `npm run build` ran, or no `VITE_` prefix | Prefix non-secret build-time values; keep runtime values server-side |\n| 404 on assets or `api\u002F` only when the URL has no trailing slash | `\u003Cprefix>` arrives as `\u002F`; relative URLs resolve one level up | Add the slash first thing in `\u003Chead>` ([RUNTIME.md](.\u002FRUNTIME.md#limits-and-branding)) |\n| `fetch` gets HTML (`Unexpected token '\u003C'`) or a 302; Domino API calls fail (500, 403, 401) or act as the publisher | Consent, identity mode, credential type, or a dropped viewer token | [RUNTIME.md](.\u002FRUNTIME.md) |\n| Streaming stalls or drops, 413, 400 on the direct URL, favicon 404 | Proxy buffering and limits, Apps only allowed inside Domino, injected branding | [RUNTIME.md](.\u002FRUNTIME.md#limits-and-branding) |\n\nThe corrected `app.sh` for a Vite app is the `domino-app-init` template ([app.sh](..\u002Fdomino-app-init\u002Fassets\u002Fvite-react\u002Fapp.sh)): it serves the newest build whose stamp matches the code with `node server.js` and never runs npm.\n\n## Report format\n\n```\nDomino Proxy Debug Report\n=========================\n\nChecking: vite.config.js\nPASS Port: 8888, host 0.0.0.0\nPASS Base path: '.\u002F'\n\nChecking: src\u002Fmain.jsx\nWARN Router: BrowserRouter with base '.\u002F' (deep links 404; nested routes break assets)\n\nChecking: app.sh\nPASS Working directory: cd \"$(dirname \"$0\")\"\nPASS Starts a prebuilt build (no npm ci or npm run build)\nFAIL Serve command missing -s flag\n\nSummary: 1 issue, 1 warning\n\nRecommended fixes:\n1. Replace BrowserRouter with HashRouter in src\u002Fmain.jsx (or keep it with an SPA fallback)\n2. Update the app.sh serve command:\n   - Current: npx serve dist -l 8888\n   + Fixed:   npx serve -s dist -l 8888\n```\n\n## Manual investigation\n\nIf the config is correct but the app still fails:\n\n1. Read the App logs on the App details page (instance selector; support bundle for Kubernetes and nginx logs). Over the API: `GET \u002Fapi\u002Fapps\u002Fbeta\u002Fapps\u002F{appId}\u002Fversions\u002F{versionId}\u002Finstances`, then `GET ...\u002Finstances\u002F{instanceId}\u002Flogs?logType=stderr`, on `$DOMINO_API_PROXY` with no `Authorization` header (outside a run, the deployment URL with a Personal Access Token).\n2. In the browser developer tools, check whether failing requests dropped the App's URL prefix (the path before the app's own routes) or went to another host.\n3. Confirm the App was republished after the last commit: a version pins a commit, and deploying an old version serves old code.\n4. Test in a workspace with **App Preview**, which runs the real proxy and `DOMINO_RUN_HOST_PATH`; a local `npm run dev` cannot reproduce them.\n\nIdentity, consent, streaming, limits and branding symptoms: [RUNTIME.md](.\u002FRUNTIME.md). For general deployment guidance, framework configs and the REST routes, use the `domino-apps` skill.\n",{"name":5,"description":7,"compatibility":24},"Domino 6.3 and Domino Cloud. Reads project files; the optional log check needs DOMINO_API_PROXY in a run, or the deployment URL and a Personal Access Token outside one.","main","2c4dda96cbb98db0575b22d089730f3748afb604","skills\u002Fdomino-debug-proxy",4,"https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin","https:\u002F\u002Fdocs.domino.ai","https:\u002F\u002Fgithub.com\u002Fdominodatalab","https:\u002F\u002Fdomino.ai\u002F","2026-11-14 02:00:14",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add dominodatalab\u002Fdomino-ai-plugin --skill domino-debug-proxy",{"tool":40,"command":41},"bunx","bunx skills add dominodatalab\u002Fdomino-ai-plugin --skill domino-debug-proxy",{"tool":43,"command":44},"pnpm","pnpm dlx skills add dominodatalab\u002Fdomino-ai-plugin --skill domino-debug-proxy","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fdomino-debug-proxy\u002FSKILL.md",true,[48],{"path":49,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":52,"sourceHtmlUrl":53},"RUNTIME.md","REFERENCE","参考文档",7346,"https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fdomino-debug-proxy\u002FRUNTIME.md",[55,62,69,76,83,90],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":19},"01M7DMZZDEZQWKSRCZ8RGXK1PD","tags-and-properties","Manage Domino tags and properties via the Tags (Taxonomy) API at \u002Fapi\u002Ftaxonomy\u002Fv1. Covers namespaces and tags (create, list, update, deprecate, delete; tag entities such as projects, models, datasets, apps, project templates, NetApp volumes, environments; query by tag; autocomplete; merge; CSV import\u002Fexport) and properties (typed metadata fields - text, number, date, boolean, url, user, organization, select, multi_select - with per-entity values, groups and versioned entities like model_version\u002Fapp_version). Use when organizing entities with tags, building hierarchical namespaces, defining typed metadata fields, setting property values, finding entities by tag, bulk-tagging during onboarding, or migrating a taxonomy across environments.","https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin\u002Fblob\u002Fmain\u002Fskills\u002Ftags-and-properties\u002FSKILL.md",[],[],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":19},"01M7DMZR1BD7XYN9JR3T7R0TA6","netapp-volumes","Work with Domino Volumes for NetApp ONTAP (NetApp Volumes) - shared, multi-terabyte storage with near-instant snapshots. Covers creating volumes, attaching them to projects, mount paths (\u002Fmnt\u002Fnetapp-volumes\u002F or \u002Fdomino\u002Fnetapp-volumes\u002F), snapshots and tags, roles, deletion, mounting volumes in jobs, and the NetApp Volumes REST API (\u002Fremotefs\u002Fv1). Use when managing large-scale shared data, taking fast no-copy snapshots, or integrating NetApp ONTAP storage with Domino.","https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fnetapp-volumes\u002FSKILL.md",[],[],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M7DMZHZJFG57N4532E6CY3KJ","domino-workspaces","Work with Domino Workspaces - interactive sessions running Jupyter, JupyterLab, VS Code or RStudio on a hardware tier with a compute environment. Covers launching and configuring a Workspace, what persists across stop and resume, file paths and syncing for DFS and Git-based Projects, package and home-directory persistence, SSH access from a local IDE, the Workspace API routes, and troubleshooting. Use when setting up or debugging an interactive development session in Domino.","https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fdomino-workspaces\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M7DMZ5NJRQG6GGVKND5BY6DX","domino-ui-bootstrap","Bootstrap or retrofit a Vite + React 18 + TypeScript project so it uses the Domino design system (`@dominodatalab\u002Fextensions-tools`). Scoped to a **fully standalone SPA frontend for a Domino application or extension**, not snippets, library additions, or work inside an existing Domino monorepo package. Use whenever the user wants to create, scaffold, refactor, retrofit, or set up such an SPA (a React app, web app, frontend, UI, or extension) that should \"look like Domino\", use Domino components, follow the Domino design system, or integrate with the Domino platform, including when they mention DominoThemeProviderDecorator, extensions-tools, or base-components without saying \"Domino\". Also use to make an existing standalone React\u002FVite project \"Domino-styled\" or add Domino theming. Handles React 18 \u002F react-router 5 pinning, Storybook MCP registration, theme provider wiring, and build verification.","https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fdomino-ui-bootstrap\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M7DMZ0V0K73HEE8EAWEZEG60","domino-trace-setup","Set up GenAI tracing for an LLM or agent application in Domino by checking the Domino SDK and MLflow requirements (the DSE needs nothing installed), then adding a tracing_setup.py helper, span evaluators, a config.yaml, and @add_tracing \u002F DominoAgentContext wiring. Use when the user asks to add tracing, observability, or evaluation to an agent or LLM app running on Domino.","https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fdomino-trace-setup\u002FSKILL.md",[],[],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":19},"01M7DMYNVZZSB16J9N4S57X11D","domino-rust-apps","Build a Rust web app (axum) in Domino and ship it as a Domino App that starts from a prebuilt binary. Covers installing a pinned Rust toolchain into a Compute Environment with rustup, Cargo project defaults (edition 2024, rust-toolchain.toml, Cargo.lock, Clippy pedantic, rustfmt, cargo-nextest, cargo-deny), rust-analyzer for the IDE and coding agents, check hooks, calling Domino as the viewer with extended identity propagation, dev and release build profiles, keeping target\u002F out of Git and Domino storage, and an app.sh that runs the binary in App Preview and deployments without compiling. Use when the user wants a Rust app, API, dashboard or Proa site on Domino, a performance-sensitive or correctness-critical App, or asks to set up Rust, cargo, Clippy, nextest or rust-analyzer in a Domino Workspace or environment.","https:\u002F\u002Fgithub.com\u002Fdominodatalab\u002Fdomino-ai-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fdomino-rust-apps\u002FSKILL.md",[],[]]