Consume MCP Servers
The Model Context Protocol (MCP) is a JSON-RPC 2.0 standard for connecting AI models to tools and data sources. harnessd is an MCP client: when you point it at external MCP servers, their tools appear alongside the built-in harness tools in the agent's tool list. The agent can then call those tools without any special plumbing — it just sees more tools.
Skills
Skills are reusable prompt modules that you author once and inject into any agent run on demand. Each skill is a directory containing a SKILL.md file — YAML frontmatter followed by Markdown instructions. When a skill fires, its body is inserted into the agent's conversation (or run in an isolated subagent), giving the agent a focused set of instructions and a constrained tool set for a specific task.
Subagents & Profiles
Subagents and profiles are the two building blocks for multi-agent orchestration in go-code.
Cron Scheduling
The go-code harness includes a built-in cron system for scheduling recurring shell commands or agent tasks on a calendar. You describe a job with a standard five-field cron expression, and the scheduler fires it at the right time, records the execution, and makes the results queryable — no external cron daemon required.
Webhooks (GitHub/Slack/Linear)
The harness server exposes three HMAC-verified webhook endpoints — one each for GitHub, Slack, and Linear. Each endpoint converts inbound platform events into agent run actions (start a new run, steer a running one, or continue a completed one) without requiring any glue code beyond setting a single environment variable.
Example: socialagent
socialagent is a complete, production-style Go application built on top of harnessd. It is a Telegram-facing social networking bot ("The Connector") that receives messages from users, delegates all AI work to a running harnessd instance over HTTP, persists conversation state in Postgres, and exposes custom domain tools through an embedded MCP server.