From a751ba4f4819bbbf57489b3b6992e127bdf2b9d1 Mon Sep 17 00:00:00 2001
From: amondnet <1964421+amondnet@users.noreply.github.com>
Date: Mon, 15 Jun 2026 12:16:12 +0000
Subject: [PATCH] fix: update vendored skills to latest versions
---
.../skills/better-auth-best-practices | 1 +
plugins/better-auth/skills/create-auth-skill | 1 +
.../skills/email-and-password-best-practices | 1 +
.../skills/organization-best-practices | 1 +
.../two-factor-authentication-best-practices | 1 +
.../chat-sdk/.agents/skills/chat-sdk/SKILL.md | 13 ++++++-
plugins/chat-sdk/skills-lock.json | 2 +-
plugins/mastra/skills/mastra | 1 +
.../references/guidelines/design-system.md | 23 +++++++++++-
plugins/nuxt-ui/skills-lock.json | 2 +-
.../portless/.agents/skills/portless/SKILL.md | 36 ++++++++++++++++++-
plugins/portless/skills-lock.json | 2 +-
.../prisma/.agents/skills/prisma-cli/SKILL.md | 8 +++--
plugins/prisma/skills-lock.json | 2 +-
.../skills/tsdown/references/recipe-wasm.md | 2 --
plugins/tsdown/skills-lock.json | 2 +-
.../workflow/.agents/skills/workflow/SKILL.md | 9 ++---
plugins/workflow/skills-lock.json | 2 +-
18 files changed, 92 insertions(+), 17 deletions(-)
create mode 120000 plugins/better-auth/skills/better-auth-best-practices
create mode 120000 plugins/better-auth/skills/create-auth-skill
create mode 120000 plugins/better-auth/skills/email-and-password-best-practices
create mode 120000 plugins/better-auth/skills/organization-best-practices
create mode 120000 plugins/better-auth/skills/two-factor-authentication-best-practices
create mode 120000 plugins/mastra/skills/mastra
diff --git a/plugins/better-auth/skills/better-auth-best-practices b/plugins/better-auth/skills/better-auth-best-practices
new file mode 120000
index 00000000..f1e81a2f
--- /dev/null
+++ b/plugins/better-auth/skills/better-auth-best-practices
@@ -0,0 +1 @@
+../.agents/skills/better-auth-best-practices
\ No newline at end of file
diff --git a/plugins/better-auth/skills/create-auth-skill b/plugins/better-auth/skills/create-auth-skill
new file mode 120000
index 00000000..9f249dec
--- /dev/null
+++ b/plugins/better-auth/skills/create-auth-skill
@@ -0,0 +1 @@
+../.agents/skills/create-auth-skill
\ No newline at end of file
diff --git a/plugins/better-auth/skills/email-and-password-best-practices b/plugins/better-auth/skills/email-and-password-best-practices
new file mode 120000
index 00000000..485a7809
--- /dev/null
+++ b/plugins/better-auth/skills/email-and-password-best-practices
@@ -0,0 +1 @@
+../.agents/skills/email-and-password-best-practices
\ No newline at end of file
diff --git a/plugins/better-auth/skills/organization-best-practices b/plugins/better-auth/skills/organization-best-practices
new file mode 120000
index 00000000..4804400c
--- /dev/null
+++ b/plugins/better-auth/skills/organization-best-practices
@@ -0,0 +1 @@
+../.agents/skills/organization-best-practices
\ No newline at end of file
diff --git a/plugins/better-auth/skills/two-factor-authentication-best-practices b/plugins/better-auth/skills/two-factor-authentication-best-practices
new file mode 120000
index 00000000..f6e60259
--- /dev/null
+++ b/plugins/better-auth/skills/two-factor-authentication-best-practices
@@ -0,0 +1 @@
+../.agents/skills/two-factor-authentication-best-practices
\ No newline at end of file
diff --git a/plugins/chat-sdk/.agents/skills/chat-sdk/SKILL.md b/plugins/chat-sdk/.agents/skills/chat-sdk/SKILL.md
index b40526ba..f46233c9 100644
--- a/plugins/chat-sdk/.agents/skills/chat-sdk/SKILL.md
+++ b/plugins/chat-sdk/.agents/skills/chat-sdk/SKILL.md
@@ -14,6 +14,7 @@ When Chat SDK is installed in a user project, inspect the published files that s
```
node_modules/chat/docs/ # bundled docs
node_modules/chat/dist/index.d.ts # core API types
+node_modules/chat/dist/adapters/index.d.ts # static adapter catalog types
node_modules/chat/dist/jsx-runtime.d.ts # JSX runtime types
node_modules/chat/docs/contributing/ # adapter-authoring docs
node_modules/chat/resources/guides/ # framework/platform guides (markdown)
@@ -35,7 +36,7 @@ Read these before writing code:
- `node_modules/chat/docs/slash-commands.mdx` — slash command routing
- `node_modules/chat/docs/direct-messages.mdx` — DM behavior and `openDM()`
- `node_modules/chat/docs/files.mdx` — attachments/uploads
-- `node_modules/chat/docs/state.mdx` — persistence, locking, dedupe
+- `node_modules/chat/docs/state-adapters.mdx` — persistence, locking, dedupe
- `node_modules/chat/docs/adapters.mdx` — cross-platform feature matrix
- `node_modules/chat/docs/api/chat.mdx` — exact `Chat` API
- `node_modules/chat/docs/api/thread.mdx` — exact `Thread` API
@@ -44,6 +45,16 @@ Read these before writing code:
For the specific adapter or state package you are using, inspect that installed package's `dist/index.d.ts` export surface in `node_modules`.
+## Adapter catalog subpath
+
+Chat SDK exposes a zero-dependency static catalog at `chat/adapters`. Agents can import `ADAPTERS`, `ADAPTER_NAMES`, `getAdapter`, `isAdapterSlug`, `listEnvVars`, `getSecretEnvVars`, and metadata types like `CatalogAdapter` and `AdapterSlug` from this subpath without importing any adapter implementation package.
+
+Use it for:
+- Listing official and vendor-official adapter slugs, names, npm packages, groups, and platform vs state types.
+- Building setup or onboarding flows that need package names, peer dependencies, and install guidance before any adapter is installed.
+- Discovering required, optional, and credential-mode environment variables for an adapter, including which variables are secrets.
+- Keeping vendor-official adapter docs and metadata aligned with the catalog when adding or updating a listed adapter.
+
## Available resources
diff --git a/plugins/chat-sdk/skills-lock.json b/plugins/chat-sdk/skills-lock.json
index aca68c54..c154d7ac 100644
--- a/plugins/chat-sdk/skills-lock.json
+++ b/plugins/chat-sdk/skills-lock.json
@@ -5,7 +5,7 @@
"source": "vercel/chat",
"sourceType": "github",
"skillPath": "skills/chat/SKILL.md",
- "computedHash": "09d4e01406d4dd438b66298ac81abf3b7609a31e2f6791d211c301e7fac789ef"
+ "computedHash": "eec16293cb0044b8e4376dec986b96dc70bf425854c6fb7aa062890faa020a25"
}
}
}
diff --git a/plugins/mastra/skills/mastra b/plugins/mastra/skills/mastra
new file mode 120000
index 00000000..06650932
--- /dev/null
+++ b/plugins/mastra/skills/mastra
@@ -0,0 +1 @@
+../.agents/skills/mastra
\ No newline at end of file
diff --git a/plugins/nuxt-ui/.agents/skills/nuxt-ui/references/guidelines/design-system.md b/plugins/nuxt-ui/.agents/skills/nuxt-ui/references/guidelines/design-system.md
index b0c1289f..9392dd12 100644
--- a/plugins/nuxt-ui/.agents/skills/nuxt-ui/references/guidelines/design-system.md
+++ b/plugins/nuxt-ui/.agents/skills/nuxt-ui/references/guidelines/design-system.md
@@ -205,7 +205,28 @@ export default defineAppConfig({
Tailwind Variants uses `tailwind-merge` under the hood — conflicting classes are resolved automatically.
-### `UTheme` (scoped overrides)
+### Replace instead of merge
+
+Classes from the `ui` prop, the `class` prop, and global config are merged onto the component defaults. To replace a slot's defaults entirely instead, set it to a function in the `ui` prop or global config. It receives the resolved default classes as its argument, so you can reuse part of them.
+
+```vue
+
+```
+
+```ts
+// app.config.ts, applies to every instance
+export default defineAppConfig({
+ ui: {
+ button: {
+ slots: {
+ label: () => 'text-base font-bold'
+ }
+ }
+ }
+})
+```
+
+### Theme component
Override theme for a section of the component tree without affecting the rest of the app. Renders no DOM element — uses `provide`/`inject`:
diff --git a/plugins/nuxt-ui/skills-lock.json b/plugins/nuxt-ui/skills-lock.json
index b38dc7e8..f9e81d5f 100644
--- a/plugins/nuxt-ui/skills-lock.json
+++ b/plugins/nuxt-ui/skills-lock.json
@@ -5,7 +5,7 @@
"source": "nuxt/ui",
"sourceType": "github",
"skillPath": "skills/nuxt-ui/SKILL.md",
- "computedHash": "2d58c6092b7028db223a819d5a37badc860a4036ca134a3e457ce7b056562f72"
+ "computedHash": "de41e63eeda35c2bfdd3ed783d3e04361dc85bff28ad71f9c4dbdc01bb8f4e57"
}
}
}
diff --git a/plugins/portless/.agents/skills/portless/SKILL.md b/plugins/portless/.agents/skills/portless/SKILL.md
index 3ec6922e..22dad281 100644
--- a/plugins/portless/.agents/skills/portless/SKILL.md
+++ b/plugins/portless/.agents/skills/portless/SKILL.md
@@ -177,11 +177,13 @@ Portless stores its state (routes, PID file, port file) in `~/.portless`. Overri
| `PORTLESS_APP_PORT` | Use a fixed port for the app (skip auto-assignment) |
| `PORTLESS_HTTPS` | HTTPS on by default; set to `0` to disable (same as `--no-tls`) |
| `PORTLESS_LAN` | Set to `1` to always enable LAN mode (auto-detects LAN IP) |
+| `PORTLESS_LAN_IP` | Pin a specific LAN IP for LAN mode |
| `PORTLESS_TLD` | Use a custom TLD instead of localhost (e.g. test) |
| `PORTLESS_WILDCARD` | Set to `1` to allow unregistered subdomains to fall back to parent |
| `PORTLESS_SYNC_HOSTS` | Set to `0` to disable auto-sync of /etc/hosts (on by default) |
| `PORTLESS_TAILSCALE` | Set to `1` to share apps on your Tailscale network (same as `--tailscale`) |
| `PORTLESS_FUNNEL` | Set to `1` to share apps publicly via Tailscale Funnel (same as `--funnel`) |
+| `PORTLESS_NGROK` | Set to `1` to share apps publicly via ngrok (same as `--ngrok`) |
| `PORTLESS_STATE_DIR` | Override the state directory |
| `PORTLESS=0` | Bypass the proxy, run the command directly |
@@ -240,17 +242,34 @@ Tailscale HTTPS certificates must be enabled before `--tailscale` or `--funnel`
Each `--tailscale` app is root-mounted on its own Tailscale HTTPS port (443, then 8443, 8444, etc.) so no framework `basePath` configuration is needed. Set `PORTLESS_TAILSCALE=1` to share every app by default. `portless list` shows both local and tailnet URLs. Tailscale serve registrations are cleaned up when the app exits. Requires `tailscale` CLI installed and connected, with Tailscale HTTPS certificates enabled.
+### ngrok sharing
+
+Expose a dev server to the public internet with ngrok using `--ngrok`:
+
+```bash
+portless myapp --ngrok next dev
+# -> https://myapp.localhost (local)
+# -> https://abc123.ngrok.app (public internet)
+```
+
+Set `PORTLESS_NGROK=1` to enable ngrok by default when portless runs an app. `portless list` shows both local and ngrok URLs. The ngrok tunnel is cleaned up when the app exits. Requires the `ngrok` CLI to be installed and authenticated with `ngrok config add-authtoken `.
+
## OS startup service
Use the service command when users want the proxy to start automatically after reboot:
```bash
portless service install
+portless service install --lan
+portless service install --wildcard
+PORTLESS_STATE_DIR=~/.portless-lan PORTLESS_LAN=1 portless service install
portless service status
portless service uninstall
```
-The service uses the default clean URL behavior: HTTPS on port 443 with `.localhost` names. macOS and Linux install a root-owned service so port 443 can bind at boot. Windows installs a Task Scheduler startup task that runs as SYSTEM. Installation and removal may require administrator privileges. `portless clean` automatically removes the service.
+The service uses portless defaults unless install options or `PORTLESS_*` environment variables are provided: HTTPS on port 443 with `.localhost` names. `service install` accepts proxy options including `--port`, `--no-tls`, `--lan`, `--ip`, `--tld`, `--wildcard`, `--cert`, and `--key`. Use `--state-dir ` or `PORTLESS_STATE_DIR=` to choose where service state and logs are written.
+
+The chosen service configuration is written into launchd, systemd, or Task Scheduler and reused after reboot. `portless service status` reports the installed port, HTTPS mode, TLD, LAN mode, wildcard mode, and state directory. macOS and Linux install a root-owned service so port 443 can bind at boot. Windows installs a Task Scheduler startup task that runs as SYSTEM. Installation and removal may require administrator privileges. `portless clean` automatically removes the service.
## CLI Reference
@@ -278,6 +297,8 @@ The service uses the default clean URL behavior: HTTPS on port 443 with `.localh
| `portless proxy start --wildcard` | Allow unregistered subdomains to fall back to parent route |
| `portless proxy stop` | Stop the proxy |
| `portless service install` | Start the HTTPS proxy when the OS starts |
+| `portless service install --lan` | Start the service in LAN mode |
+| `portless service install --wildcard` | Persist wildcard routing in the startup service |
| `portless service status` | Show service and proxy status |
| `portless service uninstall` | Remove the startup service |
| `portless alias ` | Register a static route (e.g. for Docker containers) |
@@ -288,6 +309,7 @@ The service uses the default clean URL behavior: HTTPS on port 443 with `.localh
| `portless --app-port ` | Use a fixed port for the app instead of auto-assignment |
| `portless --tailscale ` | Share the app on your Tailscale network (tailnet) |
| `portless --funnel ` | Share the app publicly via Tailscale Funnel |
+| `portless --ngrok ` | Share the app publicly via ngrok |
| `portless --force ` | Kill the existing process and take over its route |
| `portless --name ` | Force `` as app name (bypasses subcommand dispatch) |
| `portless -- [args...]` | Stop flag parsing; everything after `--` is passed to child |
@@ -426,9 +448,21 @@ tailscale up # Connect to your tailnet
Requires the Tailscale CLI to be installed (https://tailscale.com/download) and on PATH.
+### ngrok not working
+
+If `--ngrok` fails:
+
+```bash
+ngrok version # Check if installed
+ngrok config add-authtoken # Configure authentication
+```
+
+Requires the ngrok CLI to be installed (https://ngrok.com/download) and on PATH.
+
### Requirements
- Node.js 24+
- macOS, Linux, or Windows
- `openssl` (for `--https` cert generation; ships with macOS and most Linux distributions; on Windows, install via `winget install -e --id ShiningLight.OpenSSL.Dev` or use the copy bundled with Git for Windows)
- `tailscale` CLI (optional, for `--tailscale` and `--funnel`)
+- `ngrok` CLI (optional, for `--ngrok`)
diff --git a/plugins/portless/skills-lock.json b/plugins/portless/skills-lock.json
index 4574c7b4..309f1743 100644
--- a/plugins/portless/skills-lock.json
+++ b/plugins/portless/skills-lock.json
@@ -5,7 +5,7 @@
"source": "vercel-labs/portless",
"sourceType": "github",
"skillPath": "skills/portless/SKILL.md",
- "computedHash": "9f948fd3fca141172af0a10605b3fc1bd7ab3d0dbc1ab0f3d7e7e4f5d6e9c3a0"
+ "computedHash": "3afca398409c64eb5f4196db4d3b345a523b3c71092bdf30eafc5ab97885f3b3"
}
}
}
diff --git a/plugins/prisma/.agents/skills/prisma-cli/SKILL.md b/plugins/prisma/.agents/skills/prisma-cli/SKILL.md
index 3709bf61..17595be1 100644
--- a/plugins/prisma/.agents/skills/prisma-cli/SKILL.md
+++ b/plugins/prisma/.agents/skills/prisma-cli/SKILL.md
@@ -1,6 +1,6 @@
---
name: prisma-cli
-description: Prisma CLI commands reference covering all available commands, options, and usage patterns. Use when running Prisma CLI commands, setting up projects, generating client, running migrations, managing databases, or starting Prisma's MCP server. Triggers on "prisma init", "prisma generate", "prisma migrate", "prisma db", "prisma studio", "prisma mcp".
+description: Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, studio, validate, format, debug, and mcp. Use for ORM/database CLI workflows, not Prisma Compute app deployment. For Prisma Compute, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, apps, deployments, logs, or domains, use the `prisma-compute` skill instead. Triggers on "prisma init", "prisma generate", "prisma migrate", "prisma db", "prisma studio", "prisma mcp".
license: MIT
metadata:
author: prisma
@@ -9,7 +9,11 @@ metadata:
# Prisma CLI Reference
-Complete reference for all Prisma CLI commands. This skill provides guidance on command usage, options, and best practices for current Prisma releases.
+Reference for Prisma ORM CLI commands. This skill provides guidance on command usage, options, and best practices for current Prisma ORM releases.
+
+## Boundary: Compute
+
+Do not use this skill for Prisma Compute app deployment. Use `prisma-compute` for `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, Compute apps, deployments, logs, domains, and framework deploy readiness.
## When to Apply
diff --git a/plugins/prisma/skills-lock.json b/plugins/prisma/skills-lock.json
index 61ae1e5f..0396f7c1 100644
--- a/plugins/prisma/skills-lock.json
+++ b/plugins/prisma/skills-lock.json
@@ -5,7 +5,7 @@
"source": "prisma/skills",
"sourceType": "github",
"skillPath": "prisma-cli/SKILL.md",
- "computedHash": "b9d9314e3716af725997843c5026ba0e258fb2d27a986190bf2ad53be67b72b9"
+ "computedHash": "1cfdc0011df8699a2ece587f229a1e892df2a9a3eec40b5407492cb4c6570e95"
},
"prisma-client-api": {
"source": "prisma/skills",
diff --git a/plugins/tsdown/.agents/skills/tsdown/references/recipe-wasm.md b/plugins/tsdown/.agents/skills/tsdown/references/recipe-wasm.md
index 0d22f349..2158ed1c 100644
--- a/plugins/tsdown/.agents/skills/tsdown/references/recipe-wasm.md
+++ b/plugins/tsdown/.agents/skills/tsdown/references/recipe-wasm.md
@@ -107,7 +107,6 @@ add(1, 2)
wasm({
maxFileSize: 14 * 1024, // Max size for inline (default: 14KB)
fileName: '[hash][extname]', // Output file name pattern
- publicPath: '', // Prefix for non-inlined file paths
targetEnv: 'auto', // 'auto' | 'auto-inline' | 'browser' | 'node'
})
```
@@ -116,7 +115,6 @@ wasm({
|--------|---------|-------------|
| `maxFileSize` | `14 * 1024` | Max file size for inlining. Set to `0` to always copy. |
| `fileName` | `'[hash][extname]'` | Pattern for emitted WASM files |
-| `publicPath` | — | Prefix for non-inlined WASM file paths |
| `targetEnv` | `'auto'` | `'auto'` detects at runtime; `'browser'` omits Node builtins; `'node'` omits fetch |
## Related Options
diff --git a/plugins/tsdown/skills-lock.json b/plugins/tsdown/skills-lock.json
index 84a539fc..f53a60dc 100644
--- a/plugins/tsdown/skills-lock.json
+++ b/plugins/tsdown/skills-lock.json
@@ -5,7 +5,7 @@
"source": "rolldown/tsdown",
"sourceType": "github",
"skillPath": "skills/tsdown/SKILL.md",
- "computedHash": "a8f14400a614f62686c580510a265cae97a925a43214d1833a3d8f31293c0033"
+ "computedHash": "47f632fbbbdefb7d5b18263502c218cec477255c0fa14baf168c47b83edabeee"
}
}
}
diff --git a/plugins/workflow/.agents/skills/workflow/SKILL.md b/plugins/workflow/.agents/skills/workflow/SKILL.md
index 40d9993f..3341692c 100644
--- a/plugins/workflow/.agents/skills/workflow/SKILL.md
+++ b/plugins/workflow/.agents/skills/workflow/SKILL.md
@@ -3,7 +3,7 @@ name: workflow
description: Creates durable, resumable workflows using Vercel's Workflow SDK. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow sdk", "queue", "event", "push", "subscribe", or step-based orchestration.
metadata:
author: Vercel Inc.
- version: '1.8'
+ version: '1.9'
---
## *CRITICAL*: Always Use Correct `workflow` Documentation
@@ -24,7 +24,8 @@ Documentation structure in `node_modules/workflow/docs/`:
- `foundations/` - Core concepts (workflows-and-steps.mdx, hooks.mdx, streaming.mdx, etc.)
- `api-reference/workflow/` - API docs (sleep.mdx, create-hook.mdx, fatal-error.mdx, etc.)
- `api-reference/workflow-api/` - Client API (start.mdx, get-run.mdx, resume-hook.mdx, etc.)
-- `api-reference/workflow-api/world/` - World SDK (runs.mdx, steps.mdx, hooks.mdx, events.mdx, streams.mdx, queue.mdx, observability.mdx)
+- `api-reference/workflow-runtime/` - Runtime API (get-world.mdx) and `world/` World SDK (storage.mdx, streams.mdx, queue.mdx)
+- `api-reference/workflow-observability/` - Hydration and name parsing utilities (hydrate-resource-io.mdx, parse-workflow-name.mdx, etc.)
- `ai/` - AI SDK integration docs
- `errors/` - Error code documentation
@@ -626,8 +627,8 @@ import { hydrateResourceIO, observabilityRevivers, parseStepName, parseWorkflowN
```
**Key docs** (grep `node_modules/workflow/docs/` for full details):
-- `api-reference/workflow-api/world/storage.mdx` — events, runs, steps, hooks (events are source of truth; others are materialized views)
-- `api-reference/workflow-api/world/observability.mdx` — hydration, parsing, encryption
+- `api-reference/workflow-runtime/world/storage.mdx` — events, runs, steps, hooks (events are source of truth; others are materialized views)
+- `api-reference/workflow-observability/` — hydration and name parsing
### World SDK Method Signatures
diff --git a/plugins/workflow/skills-lock.json b/plugins/workflow/skills-lock.json
index 5b44396a..13b280cf 100644
--- a/plugins/workflow/skills-lock.json
+++ b/plugins/workflow/skills-lock.json
@@ -5,7 +5,7 @@
"source": "vercel/workflow",
"sourceType": "github",
"skillPath": "skills/workflow/SKILL.md",
- "computedHash": "d870ac314303f0b28cfeb8533567ac18df24f6e4d6b874e9f5261b5fddc29210"
+ "computedHash": "e785c74191f11d5590f400aadf3b6394bedae262d9e8ccb4e02388d0db257f6a"
}
}
}