Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions plugins/better-auth/skills/better-auth-best-practices
1 change: 1 addition & 0 deletions plugins/better-auth/skills/create-auth-skill
1 change: 1 addition & 0 deletions plugins/better-auth/skills/organization-best-practices
13 changes: 12 additions & 1 deletion plugins/chat-sdk/.agents/skills/chat-sdk/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand All @@ -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

<!-- RESOURCES:START -->
Expand Down
2 changes: 1 addition & 1 deletion plugins/chat-sdk/skills-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"source": "vercel/chat",
"sourceType": "github",
"skillPath": "skills/chat/SKILL.md",
"computedHash": "09d4e01406d4dd438b66298ac81abf3b7609a31e2f6791d211c301e7fac789ef"
"computedHash": "eec16293cb0044b8e4376dec986b96dc70bf425854c6fb7aa062890faa020a25"
}
}
}
1 change: 1 addition & 0 deletions plugins/mastra/skills/mastra
Original file line number Diff line number Diff line change
Expand Up @@ -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
<UButton :ui="{ label: () => 'text-base font-bold' }" />
Comment thread
amondnet marked this conversation as resolved.
```

```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`:

Expand Down
2 changes: 1 addition & 1 deletion plugins/nuxt-ui/skills-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"source": "nuxt/ui",
"sourceType": "github",
"skillPath": "skills/nuxt-ui/SKILL.md",
"computedHash": "2d58c6092b7028db223a819d5a37badc860a4036ca134a3e457ce7b056562f72"
"computedHash": "de41e63eeda35c2bfdd3ed783d3e04361dc85bff28ad71f9c4dbdc01bb8f4e57"
}
}
}
36 changes: 35 additions & 1 deletion plugins/portless/.agents/skills/portless/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |

Expand Down Expand Up @@ -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 <token>`.

## 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 <path>` or `PORTLESS_STATE_DIR=<path>` 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

Expand Down Expand Up @@ -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 <name> <port>` | Register a static route (e.g. for Docker containers) |
Expand All @@ -288,6 +309,7 @@ The service uses the default clean URL behavior: HTTPS on port 443 with `.localh
| `portless <name> --app-port <n> <cmd>` | Use a fixed port for the app instead of auto-assignment |
| `portless <name> --tailscale <cmd>` | Share the app on your Tailscale network (tailnet) |
| `portless <name> --funnel <cmd>` | Share the app publicly via Tailscale Funnel |
| `portless <name> --ngrok <cmd>` | Share the app publicly via ngrok |
| `portless <name> --force <cmd>` | Kill the existing process and take over its route |
| `portless --name <name> <cmd>` | Force `<name>` as app name (bypasses subcommand dispatch) |
| `portless <name> -- <cmd> [args...]` | Stop flag parsing; everything after `--` is passed to child |
Expand Down Expand Up @@ -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 <token> # 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`)
2 changes: 1 addition & 1 deletion plugins/portless/skills-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"source": "vercel-labs/portless",
"sourceType": "github",
"skillPath": "skills/portless/SKILL.md",
"computedHash": "9f948fd3fca141172af0a10605b3fc1bd7ab3d0dbc1ab0f3d7e7e4f5d6e9c3a0"
"computedHash": "3afca398409c64eb5f4196db4d3b345a523b3c71092bdf30eafc5ab97885f3b3"
}
}
}
8 changes: 6 additions & 2 deletions plugins/prisma/.agents/skills/prisma-cli/SKILL.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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

Expand Down
2 changes: 1 addition & 1 deletion plugins/prisma/skills-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"source": "prisma/skills",
"sourceType": "github",
"skillPath": "prisma-cli/SKILL.md",
"computedHash": "b9d9314e3716af725997843c5026ba0e258fb2d27a986190bf2ad53be67b72b9"
"computedHash": "1cfdc0011df8699a2ece587f229a1e892df2a9a3eec40b5407492cb4c6570e95"
},
"prisma-client-api": {
"source": "prisma/skills",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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'
})
```
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion plugins/tsdown/skills-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"source": "rolldown/tsdown",
"sourceType": "github",
"skillPath": "skills/tsdown/SKILL.md",
"computedHash": "a8f14400a614f62686c580510a265cae97a925a43214d1833a3d8f31293c0033"
"computedHash": "47f632fbbbdefb7d5b18263502c218cec477255c0fa14baf168c47b83edabeee"
}
}
}
9 changes: 5 additions & 4 deletions plugins/workflow/.agents/skills/workflow/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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

Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion plugins/workflow/skills-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"source": "vercel/workflow",
"sourceType": "github",
"skillPath": "skills/workflow/SKILL.md",
"computedHash": "d870ac314303f0b28cfeb8533567ac18df24f6e4d6b874e9f5261b5fddc29210"
"computedHash": "e785c74191f11d5590f400aadf3b6394bedae262d9e8ccb4e02388d0db257f6a"
}
}
}
Loading