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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
13 changes: 4 additions & 9 deletions plugins/agent-browser/.agents/skills/agent-browser/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,20 @@ hidden: true

# agent-browser

Fast browser automation CLI for AI agents. Chrome/Chromium via CDP with
accessibility-tree snapshots and compact `@eN` element refs.
Fast browser automation CLI for AI agents. Chrome/Chromium via CDP with accessibility-tree snapshots and compact `@eN` element refs.

Install: `npm i -g agent-browser && agent-browser install`

## Start here

This file is a discovery stub, not the usage guide. Before running any
`agent-browser` command, load the actual workflow content from the CLI:
This file is a discovery stub, not the usage guide. Before running any `agent-browser` command, load the actual workflow content from the CLI:

```bash
agent-browser skills get core # start here — workflows, common patterns, troubleshooting
agent-browser skills get core --full # include full command reference and templates
```

The CLI serves skill content that always matches the installed version,
so instructions never go stale. The content in this stub cannot change
between releases, which is why it just points at `skills get core`.
The CLI serves skill content that always matches the installed version, so instructions never go stale. The content in this stub cannot change between releases, which is why it just points at `skills get core`.

## Specialized skills

Expand All @@ -38,8 +34,7 @@ agent-browser skills get vercel-sandbox # agent-browser inside Vercel Sandbox
agent-browser skills get agentcore # AWS Bedrock AgentCore cloud browsers
```

Run `agent-browser skills list` to see everything available on the
installed version.
Run `agent-browser skills list` to see everything available on the installed version.

## Why agent-browser

Expand Down
13 changes: 4 additions & 9 deletions plugins/agent-browser/agent/skills/agent-browser/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,20 @@ description: "Browser automation CLI for AI agents. Use when the user needs to i
---
# agent-browser

Fast browser automation CLI for AI agents. Chrome/Chromium via CDP with
accessibility-tree snapshots and compact `@eN` element refs.
Fast browser automation CLI for AI agents. Chrome/Chromium via CDP with accessibility-tree snapshots and compact `@eN` element refs.

Install: `npm i -g agent-browser && agent-browser install`

## Start here

This file is a discovery stub, not the usage guide. Before running any
`agent-browser` command, load the actual workflow content from the CLI:
This file is a discovery stub, not the usage guide. Before running any `agent-browser` command, load the actual workflow content from the CLI:

```bash
agent-browser skills get core # start here — workflows, common patterns, troubleshooting
agent-browser skills get core --full # include full command reference and templates
```

The CLI serves skill content that always matches the installed version,
so instructions never go stale. The content in this stub cannot change
between releases, which is why it just points at `skills get core`.
The CLI serves skill content that always matches the installed version, so instructions never go stale. The content in this stub cannot change between releases, which is why it just points at `skills get core`.

## Specialized skills

Expand All @@ -34,8 +30,7 @@ agent-browser skills get vercel-sandbox # agent-browser inside Vercel Sandbox
agent-browser skills get agentcore # AWS Bedrock AgentCore cloud browsers
```

Run `agent-browser skills list` to see everything available on the
installed version.
Run `agent-browser skills list` to see everything available on the installed version.

## Why agent-browser

Expand Down
2 changes: 1 addition & 1 deletion plugins/agent-browser/skills-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"source": "vercel-labs/agent-browser",
"sourceType": "github",
"skillPath": "skills/agent-browser/SKILL.md",
"computedHash": "228f87d57035100d9dc6efcfc05aafd4b6e3962adacaa04b8217ab2fadb15dc8"
"computedHash": "ecc7641aea05f85ca3b11e7759d32aaf52fe05946ab4b63739c7bf78a41237a2"
},
"dogfood": {
"source": "vercel-labs/agent-browser",
Expand Down
2 changes: 2 additions & 0 deletions plugins/ai-sdk/.agents/skills/ai-sdk/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ description: 'Answer questions about the AI SDK and help build AI-powered featur

## Prerequisites

This information is for AI SDK 7. Compare to version in `node_modules/ai/package.json`. If the versions don't match, warn the user.

Before searching docs, check if `node_modules/ai/docs/` exists. If not, install **only** the `ai` package using the project's package manager (e.g., `pnpm add ai`).

Do not install other packages at this stage. Provider packages (e.g., `@ai-sdk/openai`) and client packages (e.g., `@ai-sdk/react`) should be installed later when needed based on user requirements.
Expand Down
10 changes: 6 additions & 4 deletions plugins/ai-sdk/.agents/skills/ai-sdk/references/common-errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,24 +169,26 @@ const result = await generateText({
});
```

## `toDataStreamResponse` → `toUIMessageStreamResponse`
## `toDataStreamResponse` → `createUIMessageStreamResponse`

When using `useChat` on the frontend, use `toUIMessageStreamResponse()` instead of `toDataStreamResponse()`. The UI message stream format is designed to work with the chat UI components and handles message state correctly.
When using `useChat` on the frontend, use `createUIMessageStreamResponse()` with `toUIMessageStream()` instead of `toDataStreamResponse()`. The UI message stream format is designed to work with the chat UI components and handles message state correctly.

```typescript
// ❌ Incorrect (when using useChat)
const result = streamText({
// config
});

return result.toDataStreamResponse(); // deprecated for useChat: use toUIMessageStreamResponse
return result.toDataStreamResponse(); // deprecated for useChat: use createUIMessageStreamResponse

// ✅ Correct
const result = streamText({
// config
});

return result.toUIMessageStreamResponse();
return createUIMessageStreamResponse({
stream: toUIMessageStream({ stream: result.stream }),
});
```

## Removed managed input state in `useChat`
Expand Down
2 changes: 2 additions & 0 deletions plugins/ai-sdk/agent/skills/ai-sdk/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ description: "Answer questions about the AI SDK and help build AI-powered featur
---
## Prerequisites

This information is for AI SDK 7. Compare to version in `node_modules/ai/package.json`. If the versions don't match, warn the user.

Before searching docs, check if `node_modules/ai/docs/` exists. If not, install **only** the `ai` package using the project's package manager (e.g., `pnpm add ai`).

Do not install other packages at this stage. Provider packages (e.g., `@ai-sdk/openai`) and client packages (e.g., `@ai-sdk/react`) should be installed later when needed based on user requirements.
Expand Down
10 changes: 6 additions & 4 deletions plugins/ai-sdk/agent/skills/ai-sdk/references/common-errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,24 +169,26 @@ const result = await generateText({
});
```

## `toDataStreamResponse` → `toUIMessageStreamResponse`
## `toDataStreamResponse` → `createUIMessageStreamResponse`

When using `useChat` on the frontend, use `toUIMessageStreamResponse()` instead of `toDataStreamResponse()`. The UI message stream format is designed to work with the chat UI components and handles message state correctly.
When using `useChat` on the frontend, use `createUIMessageStreamResponse()` with `toUIMessageStream()` instead of `toDataStreamResponse()`. The UI message stream format is designed to work with the chat UI components and handles message state correctly.

```typescript
// ❌ Incorrect (when using useChat)
const result = streamText({
// config
});

return result.toDataStreamResponse(); // deprecated for useChat: use toUIMessageStreamResponse
return result.toDataStreamResponse(); // deprecated for useChat: use createUIMessageStreamResponse

// ✅ Correct
const result = streamText({
// config
});

return result.toUIMessageStreamResponse();
return createUIMessageStreamResponse({
stream: toUIMessageStream({ stream: result.stream }),
});
```

## Removed managed input state in `useChat`
Expand Down
2 changes: 1 addition & 1 deletion plugins/ai-sdk/skills-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"source": "vercel/ai",
"sourceType": "github",
"skillPath": "skills/use-ai-sdk/SKILL.md",
"computedHash": "2249889eb47ef0f61c4dba4cf2afe01c1c8dd793bb4c24230347c1ab909bb7dd"
"computedHash": "2fdbb3c2c9c0e19c64f03f2febd4fec134473e2fe7443f7ebe67870eba5b3c75"
}
}
}
11 changes: 9 additions & 2 deletions plugins/antfu/.agents/skills/antfu/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: antfu
description: Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects, configuring ESLint/Prettier alternatives, monorepos, library publishing, or when the user mentions Anthony Fu's preferences.
metadata:
author: Anthony Fu
version: "2026.05.01"
version: "2026.06.22"
---

## Coding Practices
Expand All @@ -30,6 +30,13 @@ metadata:
- **Explicit return types**: Declare return types explicitly when possible
- **Avoid complex inline types**: Extract complex types into dedicated `type` or `interface` declarations

### Explicitness

Favor explicit, traceable code over implicit "magic". A reader (human or agent) should be able to follow where every name comes from without running tooling.

- **Explicit imports**: Prefer explicit `import` statements. Avoid auto-imports — when a framework provides them (e.g. Nuxt/Nitro), turn them off for new projects (see [app-development](references/app-development.md)).
- **No path aliases by default**: Use relative imports (`./foo`, `../bar`). Only use path aliases (`@/`, `~/`, `#imports`, etc.) when they are *already* configured in the project; don't introduce new ones for greenfield code.

### Comments

- **Avoid unnecessary comments**: Code should be self-explanatory
Expand Down Expand Up @@ -139,6 +146,6 @@ Avoid the default catalog. Catalog names can be adjusted per project needs.
|-------|-------------|-----------|
| ESLint Config | Framework support, formatters, rule overrides, VS Code settings | [antfu-eslint-config](references/antfu-eslint-config.md) |
| Project Setup | .gitignore, GitHub Actions, VS Code extensions | [setting-up](references/setting-up.md) |
| App Development | Vue/Nuxt/UnoCSS conventions and patterns | [app-development](references/app-development.md) |
| App Development | Vue/Nuxt/UnoCSS conventions, auto-import control, Storybook component testing | [app-development](references/app-development.md) |
| Library Development | tsdown bundling, pure ESM publishing | [library-development](references/library-development.md) |
| Monorepo | pnpm workspaces, centralized alias, Turborepo | [monorepo](references/monorepo.md) |
45 changes: 45 additions & 0 deletions plugins/antfu/.agents/skills/antfu/references/app-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,45 @@ description: Vue/Nuxt/UnoCSS application conventions. Use when building web apps
| SPA, client-only, library playgrounds | Vite + Vue |
| SSR, SSG, SEO-critical, file-based routing, API routes | Nuxt |

## Nuxt Conventions

### Disable Auto-imports (new projects)

Prefer explicit imports over auto-imports so every symbol is traceable. For new Nuxt projects, turn off both app-side (Nuxt) and server-side (Nitro) auto-imports in `nuxt.config.ts`:

```ts
// nuxt.config.ts
export default defineNuxtConfig({
imports: {
autoImport: false, // disable composable/util auto-imports
},
components: {
dirs: [], // disable component auto-imports
},
nitro: {
imports: false, // disable server-side (Nitro) auto-imports
},
})
```

Framework helpers stay available through the `#imports` alias — import them explicitly:

```ts
import { computed, ref } from '#imports'
```

| Option | Effect |
|--------|--------|
| `imports.autoImport: false` | Stops auto-importing `~/composables` and `~/utils` (and framework APIs like `ref`) |
| `components.dirs: []` | Stops auto-importing components from `~/components` |
| `nitro.imports: false` | Stops auto-importing in the server (`server/utils`, etc.) |

> Standalone Nitro projects already default to `imports: false` — leave server auto-imports off rather than enabling them.

### Path Aliases

Nuxt's built-in aliases (`~/`, `@/`, `#imports`) are already configured, so they're fine to use. Don't add custom path aliases for new code — prefer relative imports otherwise.

## Vue Conventions

| Convention | Preference |
Expand Down Expand Up @@ -43,3 +82,9 @@ const props = withDefaults(defineProps<Props>(), {
const emit = defineEmits<Emits>()
</script>
```

### Storybook for Components

Set up Storybook for component development. Expressing each state as a story keeps components side-effect-free and their states predictable.

Run the story tests in CI. Prefer the Vitest addon (`@storybook/addon-vitest`) so stories run as part of the existing `vitest` run (see [setting-up](setting-up.md)).
2 changes: 2 additions & 0 deletions plugins/antfu/.agents/skills/antfu/references/monorepo.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ See the dedicated Turborepo skill for detailed configuration.

## Centralized Alias

Path aliases should be explicit and centralized — this is the deliberate "already set up" case. Outside of these configured aliases, prefer relative imports; don't sprinkle ad-hoc aliases across the codebase.

For better DX across Vite, Nuxt, Vitest configs, create a centralized `alias.ts` at project root:

```ts
Expand Down
6 changes: 3 additions & 3 deletions plugins/antfu/.agents/skills/antfu/references/setting-up.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ on: [pull_request]

jobs:
autofix:
uses: sxzz/workflows/.github/workflows/autofix.yml@v1
uses: sxzz/workflows/.github/workflows/autofix.yml@main
permissions:
contents: read
```
Expand All @@ -67,7 +67,7 @@ permissions: {}

jobs:
unit-test:
uses: sxzz/workflows/.github/workflows/unit-test.yml@v1
uses: sxzz/workflows/.github/workflows/unit-test.yml@main
```

### Release Workflow
Expand All @@ -84,7 +84,7 @@ on:

jobs:
release:
uses: sxzz/workflows/.github/workflows/release.yml@v1
uses: sxzz/workflows/.github/workflows/release.yml@main
with:
publish: true
permissions:
Expand Down
11 changes: 9 additions & 2 deletions plugins/antfu/agent/skills/antfu/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: "Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects, configuring ESLint/Prettier alternatives, monorepos, library publishing, or when the user mentions Anthony Fu's preferences."
metadata: {"author":"Anthony Fu","version":"2026.05.01"}
metadata: {"author":"Anthony Fu","version":"2026.06.22"}
---
## Coding Practices

Expand All @@ -26,6 +26,13 @@ metadata: {"author":"Anthony Fu","version":"2026.05.01"}
- **Explicit return types**: Declare return types explicitly when possible
- **Avoid complex inline types**: Extract complex types into dedicated `type` or `interface` declarations

### Explicitness

Favor explicit, traceable code over implicit "magic". A reader (human or agent) should be able to follow where every name comes from without running tooling.

- **Explicit imports**: Prefer explicit `import` statements. Avoid auto-imports — when a framework provides them (e.g. Nuxt/Nitro), turn them off for new projects (see [app-development](references/app-development.md)).
- **No path aliases by default**: Use relative imports (`./foo`, `../bar`). Only use path aliases (`@/`, `~/`, `#imports`, etc.) when they are *already* configured in the project; don't introduce new ones for greenfield code.

### Comments

- **Avoid unnecessary comments**: Code should be self-explanatory
Expand Down Expand Up @@ -135,6 +142,6 @@ Avoid the default catalog. Catalog names can be adjusted per project needs.
|-------|-------------|-----------|
| ESLint Config | Framework support, formatters, rule overrides, VS Code settings | [antfu-eslint-config](references/antfu-eslint-config.md) |
| Project Setup | .gitignore, GitHub Actions, VS Code extensions | [setting-up](references/setting-up.md) |
| App Development | Vue/Nuxt/UnoCSS conventions and patterns | [app-development](references/app-development.md) |
| App Development | Vue/Nuxt/UnoCSS conventions, auto-import control, Storybook component testing | [app-development](references/app-development.md) |
| Library Development | tsdown bundling, pure ESM publishing | [library-development](references/library-development.md) |
| Monorepo | pnpm workspaces, centralized alias, Turborepo | [monorepo](references/monorepo.md) |
45 changes: 45 additions & 0 deletions plugins/antfu/agent/skills/antfu/references/app-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,45 @@ description: Vue/Nuxt/UnoCSS application conventions. Use when building web apps
| SPA, client-only, library playgrounds | Vite + Vue |
| SSR, SSG, SEO-critical, file-based routing, API routes | Nuxt |

## Nuxt Conventions

### Disable Auto-imports (new projects)

Prefer explicit imports over auto-imports so every symbol is traceable. For new Nuxt projects, turn off both app-side (Nuxt) and server-side (Nitro) auto-imports in `nuxt.config.ts`:

```ts
// nuxt.config.ts
export default defineNuxtConfig({
imports: {
autoImport: false, // disable composable/util auto-imports
},
components: {
dirs: [], // disable component auto-imports
},
nitro: {
imports: false, // disable server-side (Nitro) auto-imports
},
})
```

Framework helpers stay available through the `#imports` alias — import them explicitly:

```ts
import { computed, ref } from '#imports'
```

| Option | Effect |
|--------|--------|
| `imports.autoImport: false` | Stops auto-importing `~/composables` and `~/utils` (and framework APIs like `ref`) |
| `components.dirs: []` | Stops auto-importing components from `~/components` |
| `nitro.imports: false` | Stops auto-importing in the server (`server/utils`, etc.) |

> Standalone Nitro projects already default to `imports: false` — leave server auto-imports off rather than enabling them.

### Path Aliases

Nuxt's built-in aliases (`~/`, `@/`, `#imports`) are already configured, so they're fine to use. Don't add custom path aliases for new code — prefer relative imports otherwise.

## Vue Conventions

| Convention | Preference |
Expand Down Expand Up @@ -43,3 +82,9 @@ const props = withDefaults(defineProps<Props>(), {
const emit = defineEmits<Emits>()
</script>
```

### Storybook for Components

Set up Storybook for component development. Expressing each state as a story keeps components side-effect-free and their states predictable.

Run the story tests in CI. Prefer the Vitest addon (`@storybook/addon-vitest`) so stories run as part of the existing `vitest` run (see [setting-up](setting-up.md)).
2 changes: 2 additions & 0 deletions plugins/antfu/agent/skills/antfu/references/monorepo.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ See the dedicated Turborepo skill for detailed configuration.

## Centralized Alias

Path aliases should be explicit and centralized — this is the deliberate "already set up" case. Outside of these configured aliases, prefer relative imports; don't sprinkle ad-hoc aliases across the codebase.

For better DX across Vite, Nuxt, Vitest configs, create a centralized `alias.ts` at project root:

```ts
Expand Down
Loading
Loading