Documentation Index
Fetch the complete documentation index at: https://smithers.sh/llms.txt
Use this file to discover all available pages before exploring further.
// Props
import { Panel } from "smithers-orchestrator";
type PanelistConfig = { agent: AgentLike; role?: string; label?: string };
type PanelProps = {
id?: string; // default: "panel"
panelists: PanelistConfig[] | AgentLike[];
moderator: AgentLike;
panelistOutput: OutputTarget;
moderatorOutput: OutputTarget;
strategy?: "synthesize" | "vote" | "consensus"; // default: "synthesize"
minAgree?: number; // for "vote" / "consensus"
maxConcurrency?: number; // default: Infinity
skipIf?: boolean;
children: string | ReactNode; // prompt sent to every panelist
};
<Workflow name="code-review-panel">
<Panel
panelists={[
{ agent: securityAgent, role: "Security Reviewer" },
{ agent: qualityAgent, role: "Code Quality Reviewer" },
{ agent: architectureAgent, role: "Architecture Reviewer" },
]}
moderator={moderatorAgent}
panelistOutput={outputs.review}
moderatorOutput={outputs.synthesis}
>
Review the changes in src/auth/ for security, quality, and architecture concerns.
</Panel>
</Workflow>
Notes
- Panelist task ids:
{prefix}-{label|role|panelist-N}; moderator is {prefix}-moderator.
strategy and minAgree are passed as prompt context to the moderator, which interprets them.
- All panelists write to the same
panelistOutput schema, differentiated by task id.