diff --git a/apps/web/app/(main)/agents/[slug]/page.tsx b/apps/web/app/(main)/agents/[slug]/page.tsx index 5fdc0dc..20219b7 100644 --- a/apps/web/app/(main)/agents/[slug]/page.tsx +++ b/apps/web/app/(main)/agents/[slug]/page.tsx @@ -21,6 +21,7 @@ import { countFilesByKind, getAgentDefinitionBlock, getAgentInstallSummaryDescription, + getAgentJobIntentLede, getAgentMetaDescription, getAgentMetadataTitle, getAgentOgImageAlt, @@ -172,6 +173,7 @@ async function AgentDetailContent({ agent }: { agent: AgentWithAuthor }) { const moreFromAuthorCount = authorAgents.filter( (a) => a.id !== agent.id, ).length + const jobIntentLede = getAgentJobIntentLede(agent.slug) return (
@@ -210,6 +212,11 @@ async function AgentDetailContent({ agent }: { agent: AgentWithAuthor }) { /> + {jobIntentLede ? ( +

+ {jobIntentLede} +

+ ) : null}
{agent.authorUsername ? ( { expect(getAgentMetadataTitle(agent)).toBe('Short - install @evex/short') }) + it('overrides the title for code-reviewer only', () => { + const agent = makeAgent({ + name: 'Code Reviewer', + slug: 'code-reviewer', + title: 'Code Reviewer', + }) + expect(getAgentMetadataTitle(agent)).toBe( + 'Eve PR review agent - install @evex/code-reviewer', + ) + expect(getAgentMetadataTitle(agent).length).toBeLessThanOrEqual( + METADATA_TITLE_BUDGET, + ) + }) + + it('keeps the name-based pattern for other agents', () => { + const agent = makeAgent({ + name: 'Eve Agent Builder', + slug: 'eve-agent-builder', + }) + expect(getAgentMetadataTitle(agent)).toBe( + 'Eve Agent Builder - install @evex/eve-agent-builder', + ) + }) + it('never exceeds the metadata length budget', () => { const agent = makeAgent({ name: 'A very long agent display name that keeps going', @@ -119,6 +144,16 @@ describe('getAgentMetadataTitle', () => { }) }) +describe('getAgentJobIntentLede', () => { + it('returns the code-reviewer lede only', () => { + expect(getAgentJobIntentLede('code-reviewer')).toBe( + 'PR review agent for Eve.', + ) + expect(getAgentJobIntentLede('eve-agent-builder')).toBeNull() + expect(getAgentJobIntentLede('short')).toBeNull() + }) +}) + describe('getAgentMetaDescription', () => { it('strips inline Markdown markers from the SERP description', () => { const agent = makeAgent({ @@ -394,7 +429,11 @@ describe('registry agent titles fit the rendered title tag', () => { expect(rendered.length).toBeLessThanOrEqual(METADATA_TITLE_MAX_LENGTH) expect(title).not.toContain('| evex') - expect(title.startsWith(agent.name)).toBe(true) + if (agent.slug === 'code-reviewer') { + expect(title).toBe('Eve PR review agent - install @evex/code-reviewer') + } else { + expect(title.startsWith(agent.name)).toBe(true) + } }) } }) diff --git a/registry/code-reviewer/registry.json b/registry/code-reviewer/registry.json index cf0068d..95f0a8f 100644 --- a/registry/code-reviewer/registry.json +++ b/registry/code-reviewer/registry.json @@ -5,7 +5,7 @@ "name": "code-reviewer", "type": "registry:item", "title": "Code Reviewer", - "description": "Review GitHub pull requests from a native GitHub App channel. Mention `@code-reviewer` on a pull request to publish a GitHub review with inline comments, optional suggestion blocks, and Upstash-backed rate limiting for public repositories.", + "description": "Eve agent that reviews GitHub pull requests. Mention @code-reviewer on a PR to publish a GitHub review with inline comments on bugs and regressions, not style.", "categories": [ "coding" ], @@ -92,7 +92,7 @@ "slug": "code-reviewer", "category": "coding", "createdAt": "2026-06-20T00:00:00.000Z", - "updatedAt": "2026-07-04T00:00:00.000Z", + "updatedAt": "2026-08-20T00:00:00.000Z", "docs": { "overview": [ "Code Reviewer is an eve agent that reviews GitHub pull requests when someone mentions @code-reviewer in a PR comment or a review thread. It runs behind a native GitHub App channel: GitHub delivers the comment webhook to your deployed eve app at /eve/v1/github, and the agent replies by publishing a real GitHub review with inline comments anchored to the diff.",