Agent Transcript

A conversation, not a builder

Saywhatthepageneeds.Watchitappear.

Once the command has run, the agent already knows the library. Every request after that is one sentence long.

You

Add a pricing section with three plans and a yearly toggle.

Agent

Done. I placed a pricing section under the hero, in your theme, with the middle plan featured.

A long sandy beach with a boat on the horizon
You

Make the yearly price the default.

Agent

Updated. The toggle now opens on yearly and the saving is shown per plan.

About this block

Agent TranscriptPRO

A split feature: on the left a serif headline that settles in word by word, an intro, a rounded pill that copies the install command on click and a sliding-marker pill; on the right a muted transcript panel where a short exchange with the agent appears message by message, one reply carrying a page preview that blurs in and drifts on scroll.

Feature293: Agent Transcript

A split section that shows the product working: the case on the left, and on the right a short exchange with an agent where each message settles in on its own beat and one reply carries a page preview.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/feature293?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/feature293?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/feature293.tsx plus the button22 sliding-marker pill and the text1 word stagger it uses.

Quick start

The installed file exports feature293Demo alongside the block: the exact props behind the preview above. Spread it to get a working section in one line.

tsx
import { Feature293, feature293Demo } from "@/components/beste/block/feature293";

export default function Page() {
  return <Feature293 {...feature293Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Feature293 } from "@/components/beste/block/feature293";

export default function Page() {
  return (
    <Feature293
      eyebrow="A conversation, not a builder"
      heading="Say what the page needs. Watch it appear."
      description="Every request after the install is one sentence long."
      command="npx your-cli@latest"
      copyLabel="Copy command"
      copiedLabel="Copied"
      buttons={[{ label: "See what it builds", href: "/blocks" }]}
      labels={{ you: "You", agent: "Agent" }}
      messages={[
        { role: "you", text: "Add a pricing section with three plans." },
        { role: "agent", text: "Done. I placed it under the hero.", image: { src: "/photos/bay.jpg", alt: "A long sandy beach with a boat on the horizon" } },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringSmall-caps line above the heading
headingstringSection heading, through Text1
descriptionstringParagraph under the heading
commandstringThe install command; clicking the pill copies it
copyLabelstringAccessible name for the pill in its resting state
copiedLabelstringAccessible name and live-region text once copied
buttonsActionButton[][]Pill actions under the command
labels{ you: string; agent: string }{ you: "You", agent: "Agent" }Wording of the two role labels
messagesMessage[][]The exchange, in order
classNamestringExtra classes for the outer <section>
ts
type Message = {
  role: "you" | "agent";
  text: string;
  image?: { src: string; alt: string };
};

type ActionButton = {
  label: string;
  href: string;
  tone?: "primary" | "light" | "dark" | "outline";
};

Behavior notes

  • Messages are staggered 0.35 seconds apart, slow enough that the exchange reads as a conversation unfolding rather than a list appearing.
  • Sides are set by role rather than by index: yours align right in ink, the agent's align left on the paper surface, and each is capped at 85 percent so the alignment stays visible.
  • Any message can carry an image, which is how a reply shows its result without a second column. The picture drifts on scroll and fades up only once its file has loaded.
  • The transcript panel is muted rather than bordered, so the two message colours read against it without a third surface tone.
  • Role labels are props, so the block works for a support thread or a pair of people just as well as for an agent.
  • The section holds its own scroll target, meaning the picture's parallax is measured against the whole section and not the panel.
  • Messages animate on entering the viewport once, so scrolling back up does not replay the conversation.

More Feature blocks

View all Feature
PRO

feature299

Turning Requests Panel

A centred serif headline that settles in word by word, then an ink panel that cycles through short request and reply pairs: the request in serif, the reply in mono a beat later, with thin progress bars to jump between them and a pause on hover. A pill that copies the install command on click and a sliding-marker pill close the section.

PRO

feature292

Install Ask Ship Steps

Three numbered columns under rules that draw in from the left as they scroll into view: the first carries a rounded pill that copies the install command on click, the next two show a sample prompt and a resulting file path in muted mono panels. Serif headline settles in word by word, a sliding-marker pill sits at the right end of the header.

PRO

feature295

Before and After Columns

A centred serif headline that settles in word by word, then two columns: a muted panel listing how an agent improvises today and an ink panel listing what it does once the library is installed. Between them, on a hairline, sits the pill that copies the install command on click.

PRO

feature298

Ask At Any Size Tabs

A header with a serif headline that settles in word by word and a pill that copies the install command on click, then a rounded pill tab list (pages, sections, components). Each tab pairs a title, a paragraph and a short list of example prompts in mono with a photo that blurs in and drifts on scroll.

PRO

feature296

Sticky Command List

A sticky left column holds the eyebrow, a serif headline that settles in word by word, an intro, a rounded pill that copies the install command on click and a sliding-marker pill; on the right a long ruled list of numbered points settles in row by row as the page scrolls past.

PRO

feature278

Two Doors Tabs

A tabbed comparison under a centred serif heading that settles in word by word: pill tabs switch between approaches, each blurring in a drifting portrait photograph beside a serif title, a description, a ruled fact list and a sliding-marker pill.