agent-harnessv2.4.0

Introduction

What agent-harness is, and what the Plain Concepts Platform Harness gives you.

Most codebases have no AGENTS.md, no architecture documentation an agent can read, and no defined workflow for picking up a task. So agents improvise, and you get a different answer every run.

agent-harness is the CLI that installs the Plain Concepts Platform Harness into a repository and keeps it up to date.

The harness is ours. We build it, our projects run on it, and this CLI is how it gets into a codebase. It is the set of files agents work from: slash commands, pc-* skills (the pc- is Plain Concepts), an agent team, OpenCode plugins, an OpenSpec workspace, and generated ARCHITECTURE.md and DESIGN.md.

Underneath, it wires OpenCode to OpenSpec for change management, native subagent waves for parallel work, codegraph for code intelligence, and agentmemory for context that survives between sessions.

Three jobs

CommandWhat it does
(no argument)Installs the harness. A wizard runs once and saves your answers to .opencode/harness.json.
updateReinstalls the harness from those saved answers, no questions asked. Keeps files you edited.
joinSets up a teammate's machine. Touches no committed file.

You run the first once per repository, and update whenever we ship a release.

Install

npx @plainconceptsplatform/agent-harness@latest

Requires Node.js 18 or higher. See Getting started for prerequisites and per-step commands.

What it wires together

ToolRole
OpenCodeThe agent runtime. Native parallel subagent waves, no external plugins, no git worktrees.
OpenSpecStructured change management: proposals, specs, and tasks.
codegraphCode intelligence and indexing, so agents understand the codebase before touching it.
agentmemoryShared context across agent sessions.

Supported platforms

Backlog and repository platforms are chosen independently, so mixed setups work: a Jira backlog with a GitHub repository, or a browser backlog with a GitLab repository.

  • Backlog: GitHub, Azure DevOps, Jira, browser-based, or None
  • Repository: GitHub, Azure DevOps, GitLab, or None

Choosing None for a backlog means no userstory skills are injected; choosing None for a repository means no pull request skills are injected.

Where to go next