Making Experts
Experts are defined in perstack.toml. This section covers how to define, test, and publish Experts.
The essentials
Every Expert needs just two things:
[experts."code-reviewer"]
description = "Reviews code for issues and improvements"
instruction = """
You are a code reviewer. Analyze code for:
- Type safety and error handling
- Security vulnerabilities
- Performance issues
Provide actionable feedback with examples.
"""- description β what it does (visible to delegators)
- instruction β how it thinks (private domain knowledge)
Thatβs a complete, functional Expert. Skills and delegates are optional.
Why TOML: Enabling domain experts
This is the core of agent-first development: the people with domain knowledge should define the Experts.
In most teams, a few βprompt-capableβ engineers become bottlenecks. Theyβre the only ones who can write and maintain agent prompts, while domain experts β who actually have the knowledge β canβt contribute directly.
Perstack breaks this bottleneck. Expert definitions are plain text that anyone can read and write:
- No technical formatting knowledge required β no indentation rules, no trailing commas, no escaping
- Comments for intent β domain experts explain their reasoning inline
Thatβs why we use TOML. The format serves the goal: domain experts own their Experts.
Multiple Experts in one file
Define related Experts together:
[experts."researcher"]
description = "Gathers information from various sources"
instruction = "..."
[experts."writer"]
description = "Creates polished content from research"
instruction = "..."
delegates = ["researcher"]
[experts."editor"]
description = "Reviews and refines written content"
instruction = "..."This pattern works well for:
- Pipelines β Experts that work in sequence
- Teams β Experts with complementary roles
- Variants β Similar Experts with different specializations
Designing delegation
When one Expert delegates to another, only description is shared. The delegator never sees the delegateβs instruction.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β writer β
β βββ sees: researcher.description β
β βββ decides: "I need research on X" β
β β
β researcher β
β βββ receives: "research on X" β
β βββ uses: own instruction (private) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββThis means:
- Write
descriptionfor the delegator β what can I ask for? What will I get back? - Write
instructionfor the Expert itself β domain knowledge, procedures, constraints
In this section
- Examples β real-world use cases
- Best Practices β design guidelines for effective Experts
- Skills β adding MCP tools to your Experts
- Base Skill β built-in tools provided by the runtime
- Testing β strategies for testing Experts
- Publishing β share Experts via the Registry
- perstack.toml Reference β complete field reference
Prerequisites
Before making Experts, understand the core concepts:
- Experts β what Experts are and how they work
- Getting Started β build your first Expert
For running and integrating Experts, see Using Experts.