For engineers and contributors. User-facing documentation lives at /docs.

Agents Overview

Last updated: 2026-02

Purpose

In PMFKit, all data gathering and all report generation are done by agents. This document defines the two families of agents (intern agents and report agents), how they relate to interns and reports, and where to find technical detail.

Definition

  • Intern agents — Produce raw data: discovered pages, page evidence, UI captures, enriched data. They fetch and extract; they do not produce narrative or verdicts.
  • Report agents — Consume that data (via the Evidence Layer or prior reports) and produce structured reports (Report 1, Report 2, Report 3, CDO design audit). They do not re-fetch; they reason over existing artifacts.

Interns and reports are generated by agents. The pipeline is: URL → intern agents → persisted crawl → Evidence Layer → report agents → reports.

Flow

  1. Intern agents run in sequence (with optional parallelism): DiscoveryProduct and UI Capture (in parallel) → optional Pricing passCompetitor (enrichment).
  2. Result is persisted to company_crawls.
  3. Evidence Layer is built from the crawl via normalizeFromCrawl() (see background-flow).
  4. Report agents run on that evidence: CMO path → Report 1; optionally BD → Report 2; COO → Report 3; CDO → design audit.

Single artifact rule

Report agents consume only the Evidence Layer or prior reports. No report agent re-scrapes or re-interprets raw HTML. See Agent contracts for I/O contracts and versioning.

Agent index

AgentFamilyRoleDetail
DiscoveryInternFind and classify links from a product URL.Interns
ProductInternFetch HTML and extract structured evidence per page.Interns
UI CaptureInternCapture screenshots and HTML for CDO and product reuse.Interns
CompetitorInternEnrich with brand, traffic, competitors, distribution, etc.Interns
CMO (Report 1)ReportProduce discovery verdict, component analyses, DRL.Report agents
BD (Report 2)ReportContextualize: distribution relevance, quotes, cases.Report agents
COO (Report 3)ReportStrategies by function, one thing this week.Report agents
CDOReportUX blockers, design system audit, UI rewrite plan.Report agents

The Pricing pass is a supplement to the Product intern (not a standalone agent); see Interns.

Contract version

Agent I/O contracts are versioned. AGENT_CONTRACT_VERSION is defined in core/agents/types.ts. Bump it when any agent input or output schema changes, and update Agent contracts.