---
id: portfolio.ds.agent-ready-project-brief
name: "Agent Ready Project Brief"
type: pattern
status: active
relations: [{"type":"composes","target":"portfolio.ds.caption"},{"type":"composes","target":"portfolio.ds.heading"},{"type":"composes","target":"portfolio.ds.paragraph"}]
sources: ["apps/portfolio-site/src/design-system/docs/agent-ready-project-brief.astro","apps/portfolio-site/src/lib/designSystemRegistry.ts","packages/design-system/src/components/AgentReadyProjectBrief.astro","packages/design-system/src/components/InfoBlock.astro","packages/design-system/src/components/ProjectLandingPage.astro"]
catalog: ["apps/portfolio-site/src/design-system/docs/agent-ready-project-brief.astro"]
previews: ["apps/portfolio-site/src/design-system/docs/agent-ready-project-brief.astro"]
---
# Agent Ready Project Brief

## Purpose
Minimum visible and machine-readable context required to understand, summarize, or evaluate a project.

This component is the canonical project-information layer of `Project Landing Page`. It replaces stacked editorial explanation with one stable set of facts that is useful to people and agents.

## Contract
- Uses Problem, System, Input, Output, Evidence, and Status in that order.
- Receives those values from the canonical `agent_brief` content object.
- Keeps visible HTML, clipboard Markdown, `/context.md`, and JSON-LD semantically equivalent.
- Uses semantic description-list markup and Block spacing.
- Keeps each value to one direct statement.
- Uses factual project language; does not add marketing filler or duplicate the header summary.
- Remains cardless, expanded, and visible without interaction.
- Provides Copy brief, Open as Markdown, Read full story, and Contact me.
- Leaves the conditional Open prototype or Request a demo primary action to `Project About`.
- Uses prepared subject and body copy for the Contact me email draft.
- Parent components use it as-is.
- Content-schema fallback from legacy fields is migration support only; new projects should publish `agent_brief` explicitly.

## Props

| Prop | Values | Purpose |
| --- | --- | --- |
| `title` | string | Names the brief. |
| `items` | `{ label, value }[]` | Supplies the structured project context. |
| `briefMarkdown` | string | Supplies the clipboard representation. |
| `contextHref` | URL | Opens the canonical Markdown context. |
| `storyHref` | URL | Opens the full story. |
| `contactHref` | URL | Starts a prepared general project-enquiry email. |
| `labels` | object | Supplies localized headings, actions, live-region feedback, and accessible labels. |

## Code Paths

- `packages/design-system/src/components/AgentReadyProjectBrief.astro`
- `packages/design-system/src/components/ProjectLandingPage.astro`
- `apps/portfolio-site/src/design-system/docs/agent-ready-project-brief.astro`

## Use

Use when this named Design System contract is required by an approved composition or product surface.

## Do Not Use

Do not use outside the documented source, composition, or ownership contract without Design System Architect review.

## Accessibility

Preserve applicable accessibility behavior of the implementation and verify changes in actual usage.

## Verification

- Confirm every source path in frontmatter resolves to current implementation or documentation.
- Run `scripts/design-system-graph --check --no-write`.
- Verify actual usage and documented Preview against the enabled package profiles before completion.
