
Build, Evaluate, and Publish an OpenPond Agent
An Agent is a packaged role with actions, tools, channels, lifecycle, and evaluation behavior. Define it in reviewable source before making it available to people or workflows.

1. Define the Agent in source
The TypeScript-first Agent SDK is the authoring package:
openpond-agent-sdk. It supports Agent source, actions, Skills, workflows,
integrations, volumes, schedules, validations, evals, and traces.
Start with one narrow job. Put durable instructions and reusable procedures in
source. Keep secrets in platform secret references, never in the Agent source
or a SKILL.md file.
2. Add the right reusable building blocks
Use a Skill for a focused reusable procedure. Use an Agent when the job needs a packaged identity or operational behavior. Add only the tools and connected-app authority the job requires; an Agent does not get general account access merely because it has been published.

3. Validate and evaluate before delivery
Inspect the source, run validation, and evaluate representative behavior. Treat the generated manifest as the runtime contract. A good evaluation is specific about the success condition and keeps held-out evidence separate from examples used to design the Agent.
4. Publish through a Profile
A Profile is the Git-backed boundary for instructions, Skills, Agents, and their published versions. To publish, load the source, review the diff, commit, push, materialize, run hosted checks, and publish an immutable version.
Once published, a Workflow can invoke an immutable Agent action manually, on a schedule, or by webhook where that trigger is configured and authorized. Each trigger still respects the Agent's approvals, connected-app permissions, spend, and Sandbox boundaries.