diff --git a/packages/ui/src/features/agent-applications/agent-builder/AgentBuilderDock.tsx b/packages/ui/src/features/agent-applications/agent-builder/AgentBuilderDock.tsx
index ed0469ac03..7fe46a168d 100644
--- a/packages/ui/src/features/agent-applications/agent-builder/AgentBuilderDock.tsx
+++ b/packages/ui/src/features/agent-applications/agent-builder/AgentBuilderDock.tsx
@@ -66,10 +66,11 @@ function buildAgentBuilderContext(
}
/**
- * The agent builder chat — an always-on dock talking to the deployed
- * `agent-concierge`. Streams through the shared `useAgentChat`/`AgentChatSurface`
- * stack, prepends the current `/code/agents` page context to the first message,
- * answers `get_context`, and lets the agent drive the UI via `focus_*`.
+ * The Agent Builder chat — an always-on dock talking to the deployed meta-agent
+ * (backend slug `agent-builder`). Streams through the shared
+ * `useAgentChat`/`AgentChatSurface` stack, prepends the current `/code/agents`
+ * page context to the first message, answers `get_context`, and lets the agent
+ * drive the UI via `focus_*`.
*/
export function AgentBuilderDock() {
const { data: application } = useAgentApplication(AGENT_BUILDER_SLUG);
@@ -254,7 +255,7 @@ export function AgentBuilderDock() {
) : (
diff --git a/packages/ui/src/features/agent-applications/agent-builder/AgentBuilderHeaderControls.tsx b/packages/ui/src/features/agent-applications/agent-builder/AgentBuilderHeaderControls.tsx
index bbe49b9e1f..edf3c9d244 100644
--- a/packages/ui/src/features/agent-applications/agent-builder/AgentBuilderHeaderControls.tsx
+++ b/packages/ui/src/features/agent-applications/agent-builder/AgentBuilderHeaderControls.tsx
@@ -15,15 +15,18 @@ import { useAgentBuilderStore } from "./agentBuilderStore";
/**
* The agents-header control cluster — identical across every agents view.
*
+ * Pinned absolutely to the top-right of the nearest `relative` ancestor so it
+ * sits on the same row as the Agent Builder dock header (matching `py-2`),
+ * keeping the two halves of the agents UI visually aligned across views.
+ *
* One split button is the single entry point into the Agent Builder dock:
* - the primary segment is the contextual "edit with AI" action for the view
* you're on (New agent / Edit configuration / Explain this session / …) — it
* opens the dock and seeds the matching prompt,
- * - the trailing segment just opens/closes the dock without seeding, so you
- * can peek at or dismiss the existing conversation.
- * The two were previously near-identical gold buttons; fusing them keeps both
- * affordances but with one sparkle (the AI identity) and one neutral toggle.
- * Views with no obvious action (Scouts) collapse to the lone open/close toggle.
+ * - the trailing segment just opens the dock without seeding, so you can peek
+ * at the existing conversation; once the dock is open it disappears so we
+ * don't double up with the dock's own close button.
+ * Views with no obvious action (Scouts) collapse to the lone open toggle.
* Renders nothing unless the `agent-platform` flag is on.
*/
export function AgentBuilderHeaderControls() {
@@ -36,13 +39,15 @@ export function AgentBuilderHeaderControls() {
if (!enabled) return null;
const action = headerActionForPage(page);
- const toggleTip = visible
- ? "Hide the agent builder (⌘⇧I)"
- : "Open the agent builder (⌘⇧I)";
+ const openTip = "Open the agent builder (⌘⇧I)";
return (
-
+
{action ? (
diff --git a/packages/ui/src/features/agent-applications/utils/format.ts b/packages/ui/src/features/agent-applications/utils/format.ts
index 92d9d96c57..3eed86c741 100644
--- a/packages/ui/src/features/agent-applications/utils/format.ts
+++ b/packages/ui/src/features/agent-applications/utils/format.ts
@@ -3,7 +3,6 @@ import type {
AgentRevisionState,
AgentSessionState,
} from "@posthog/shared/agent-platform-types";
-
/** Formats a USD spend value for the fleet / agent stat strips. */
export function formatSpendUsd(value: number | null | undefined): string {
if (value == null) return "$0";
diff --git a/packages/ui/src/features/agents/components/AgentsTabLayout.tsx b/packages/ui/src/features/agents/components/AgentsTabLayout.tsx
index 5e093097c2..cd3ef5dc9d 100644
--- a/packages/ui/src/features/agents/components/AgentsTabLayout.tsx
+++ b/packages/ui/src/features/agents/components/AgentsTabLayout.tsx
@@ -16,7 +16,7 @@ const TAB_DESCRIPTION: Record = {
scouts:
"Self-driving agents that watch your project and surface work for review — enroll in the canonical fleet or author your own.",
applications:
- "Deployed agents triggered by chat, Slack, webhooks, or cron — preview, approve, and edit with the Agent Builder.",
+ "Talk it through. Ship it. Watch it work. The Agent Builder turns ideas into production agents.",
};
/**
@@ -55,19 +55,17 @@ export function AgentsTabLayout({
return (
-
-
-
-
- Agents
-
-
- {applicationsEnabled
- ? TAB_DESCRIPTION[activeTab]
- : "Design, schedule, and deploy the agents that work on your product."}
-
-
-
+
+
+
+
+ Agents
+
+
+ {applicationsEnabled
+ ? TAB_DESCRIPTION[activeTab]
+ : "Design, schedule, and deploy the agents that work on your product."}
+