Harness Useful: a home for four open-source agent tools
Hello there!
Over the last few weeks I have written here about Harness Useful Skills and Harness Dashboard. Meanwhile Harness Desktop and Harness Memory grew up next to them, and having four separate READMEs started to feel like explaining one idea in four places. So the family got a home: harness-useful.com.
Its tagline sums up the whole thing: local tools for your coding agent. They work with the CLI you already run, whether that is Claude Code, Codex, OpenCode, PI or Oh My Pi, and every one of them is open source.
Four tools, four jobs
Each project has a single role in the family:
- Harness Desktop is the window. It is a native desktop app that runs on top of your installed harness CLI: chat with approvals, saved sessions and their branch trees, a changes panel where you comment on any diff line and send the comments back as one prompt, plus a single place for settings, MCP servers and extensions, with secrets masked.
- Harness Skills is the workflow. The
us-*skills take a request through research, a plan you approve, implementation workers and fresh reviews. Since the first post it grew from Oh My Pi and Claude Code to OpenCode and Codex as well. - Harness Memory is the memory. It is one local binary, a stdio MCP server, that gives every harness the same project notes: typed notes such as fixes, decisions and locations, a small entity graph and saved scripts, all in a SQLite file with full-text search.
- Harness Dashboard is the meter. It reads the session logs of 13 coding tools and shows where your tokens and API-equivalent cost go, down to a single prompt. I covered it in detail in its own post.
None of them depends on the others. Each has its own repository, installer and README, so you can take only the memory server or only the dashboard. They simply work better together.
The life of one prompt
The part of the site I enjoyed building most is the walkthrough that follows a single request through the family. You type a prompt in Desktop. Before it reaches your CLI, the hooks you approved add their context: search memory first, check skills and limits, check the branch. The agent then searches Harness Memory for what earlier sessions in this repository learned, whichever harness wrote it.
From there Harness Skills picks a lane, a read-only scout researches the code, and the planner drafts work packages with acceptance criteria. Nothing is edited before you approve the plan. Workers implement, fresh reviewers check correctness and security, and findings loop back for repair, so the agent does not grade its own work. Finally, Harness Dashboard prices the run from the session log, subagents included, and the cost shows up back in Desktop. The loop closes where it started.
The glue is deliberately boring: MCP servers and hooks. Memory and Dashboard are MCP servers your harness starts, Skills is plugin files your harness reads, and Desktop registers the servers in each harness it detects. A hook an agent adds or changes never runs until you approve that exact version.
What works where
I tried to keep the site honest about support, because “works with every agent” is rarely true. Harness Desktop fully supports Oh My Pi and PI. Claude Code and Codex are supported with chat as a preview, and OpenCode is partly supported, also with chat as a preview. Harness Skills supports Oh My Pi, Claude Code, OpenCode and Codex, and needs Node.js 22 or newer. Harness Memory works with any MCP client. Harness Dashboard reads 13 tools, including Gemini CLI, GitHub Copilot, Zed, Cline, Roo Code, Kilo Code and Cursor.
On platforms, Desktop ships for macOS (Apple Silicon and Intel), Linux and Windows. Memory and Dashboard support macOS, Linux on x86_64 and Windows.
Local and open
All four tools keep your data on your machine. Desktop has no telemetry and no accounts, and it never reads credential files. Memory opens no network connection unless you set up a shared team database. Dashboard never uploads your usage. The few outbound requests they make, such as signed update checks against GitHub, can be switched off.
Everything is under the GNU GPL version 3: Desktop, Memory and Dashboard as GPL-3.0-or-later, and Skills as GPL-3.0-only. The website itself is open source too. It is a fully prerendered SvelteKit 2 and Svelte 5 site that ships no analytics and sets no cookies. Because agents increasingly read documentation on our behalf, every page also has a Markdown twin, such as /memory.md, and there are llms.txt and llms-full.txt files with the full text of the site.
Give it a try
The recommended start is Harness Desktop. On macOS and Linux, run this in your terminal:
curl -fsSL https://raw.githubusercontent.com/MSpiechowicz/harness-useful-desktop/main/install.sh | sh On Windows, use PowerShell:
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/MSpiechowicz/harness-useful-desktop/main/install.ps1 | iex" Both verify the release checksum. Then open Ecosystem and choose Run recommended setup. It installs Dashboard, Memory and Skills, registers their MCP servers in every harness it finds and adds the family hooks, asking before each step. If you prefer to pick and choose, every tool page on the site has its own install command.
The source of each project is on GitHub: Desktop, Skills, Memory, Dashboard and the website. If you try the family, I would like to hear which harness you run it with and which piece turned out to be the useful one for you. Issues and contributions are welcome in every repository.
That is all for now. Stay healthy and keep coding!
Greetings,
Maciej