> Full Neon documentation index: https://neon.com/docs/llms.txt

# Agent skills for backend services, Lakebase Search GA, Postgres version updates, and more

## Agent skills for Neon Storage, Functions, and AI Gateway

[Neon Agent Skills](https://neon.com/docs/ai/agent-skills) are instruction files that teach AI coding assistants how to work with Neon. The collection now includes skills for [Neon Functions](https://neon.com/docs/compute/functions/overview), [Object Storage](https://neon.com/docs/storage/overview), and [AI Gateway](https://neon.com/docs/ai-gateway/overview), the backend services currently in **private preview**.

If you haven't requested preview access yet, sign up below and we'll send you the private preview guide to get started.

To install all Neon agent skills:

```bash
npx skills add neondatabase/agent-skills
```

For the complete list of skills and other install options, see the [Agent Skills documentation](https://neon.com/docs/ai/agent-skills).

## Lakebase Search is now available to all users

[Lakebase Search](https://neon.com/docs/ai/lakebase-search) is now available to all Neon users on Postgres 16+. Two extensions, [`lakebase_vector`](https://neon.com/docs/extensions/lakebase-vector) and [`lakebase_text`](https://neon.com/docs/extensions/lakebase-text), bring **vector**, **keyword**, and **hybrid** search into Postgres, so you can run semantic RAG, exact-term lookups, and combined rankings without a separate search stack.

First, [enable the shared preload libraries and restart your compute](https://neon.com/docs/ai/lakebase-search-get-started). Then install the extensions and query with the same operators you already know from `pgvector` and full-text search:

```sql
CREATE EXTENSION IF NOT EXISTS lakebase_vector CASCADE;
CREATE EXTENSION IF NOT EXISTS lakebase_text CASCADE;

-- Semantic: nearest neighbors by embedding
SELECT title FROM documents ORDER BY embedding <=> $query_vector LIMIT 5;

-- Keyword: BM25 relevance with top-K pushdown
SELECT title FROM documents
ORDER BY body_tsv <@> to_bm25query(to_tsvector('english', 'vector search'), 'documents_bm25')
LIMIT 5;
```

For production search, combine both with **Reciprocal Rank Fusion (RRF)**: merge top vector and BM25 candidates into one score. The [get started guide](https://neon.com/docs/ai/lakebase-search-get-started#combine-results-with-hybrid-search) includes a full hybrid example in TypeScript.

Why Lakebase Search on Neon:

- **`lakebase_ann`**: drop-in `pgvector` compatibility; scales to 1B+ vectors; index builds 50-100× faster than HNSW
- **`lakebase_bm25`**: standard `tsvector` types; BM25 ranking GIN can't do natively
- **Scale-to-zero**: indexes live in storage, so they're ready immediately after a cold start; branches copy indexes without rebuilds

See the [Lakebase Search overview](https://neon.com/docs/ai/lakebase-search) to get started.

## Postgres version updates

We updated supported Postgres versions to [14.23](https://www.postgresql.org/docs/release/14.23/), [15.18](https://www.postgresql.org/docs/release/15.18/), [16.14](https://www.postgresql.org/docs/release/16.14/), [17.10](https://www.postgresql.org/docs/release/17.10/), and [18.4](https://www.postgresql.org/docs/release/18.4/), respectively.

When a new minor version is available on Neon, it is applied the next time your compute restarts. For more about how we handle Postgres version upgrades, refer to our [Postgres version support policy](https://neon.com/docs/postgresql/postgres-version-policy).

## Ephemeral database branches for Vercel Eve agent sessions

In [June, Vercel introduced Eve](https://vercel.com/blog/introducing-eve), an open-source, filesystem-first framework for durable agents. Sessions checkpoint as they run, can last for days, and pause for human approval before resuming. Eve includes a sandbox, evals, and built-in channels.

We published a guide that pairs Eve with Neon branching. The integration is a small hook in `agent/hooks/provision-branch.ts`: create a branch when a session starts, delete it when the session ends. Agent tools read the branch connection URI and work against an isolated copy of your production schema.

```typescript
export default defineHook({
  events: {
    async "session.started"(_event, ctx) {
      const branch = await createBranch(`eve-${ctx.session.id.slice(0, 12)}`);
      dbBranch.update(() => ({ connectionUri: branch.connectionUri }));
    },
  },
});
```

Read the guide: [Running Vercel Eve agents and evals on disposable Neon branches](https://neon.com/guides/vercel-eve-neon)
