Skip to content

Repository files navigation

Circuit - Skill-Based AI Agent Harness Editor

Circuit

CI status Release check status GitHub release MIT License Platform: macOS and Windows Tauri 2.x React 19

Official Website

한국어 README | 中文 README

Circuit harness editor screenshot

Circuit is a skill-based AI Agent harness editor for turning agent work into visible, repeatable, and controllable development workflows.

AI Agents are useful for development tasks like planning, implementation, and review, but the actual workflow can easily get buried in long prompts, command chains, and terminal output. As projects grow, it becomes harder to see which step is running, what has finished, and where a failure happened.

Circuit turns .claude/skills and .codex/skills in a local repository into a visual workflow. Place skills on the canvas, connect their order and dependencies, then run and inspect the whole flow from one place.

TL;DR

Quickstart

The easiest way to get started on Apple Silicon macOS is to install Circuit with Homebrew:

brew install --cask CIrcui-try/tap/circuit

You can also download the latest macOS app from GitHub Releases.

The macOS app is currently ad-hoc signed and not notarized, so Gatekeeper may require approval the first time you launch it.

You can also clone this repository and run Circuit from source.

git clone https://github.com/CIrcui-try/Circuit
cd Circuit/app
pnpm install
pnpm tauri dev

If you need a local build, run:

cd app
pnpm tauri build

After launching Circuit, choose the repository you want to work with, then place skills from .claude/skills or .codex/skills onto the canvas to build a workflow.

Product Landing Page

The static product landing page lives at docs/index.html. To publish it with GitHub Pages, open the repository's Pages settings, choose the publishing branch, and set the source folder to /docs.

What Can You Do With Circuit?

Build Visual Skill Workflows

workflow.mp4

Circuit is centered on connecting skills into a workflow. You can bring in the skills you need as blocks, reorder them, connect their dependencies, and insert new steps into the flow.

For example, you can create a flow like this:

planning → implementation → review → commit

When the routine changes, the workflow can change with it:

planning → implementation → commit → review

If you need an intermediate check, add a new skill into the flow:

planning → check-token → implementation → review → wrap-up

When the context gets long, you can add a compact skill. If you want to check token usage along the way, you can create a skill such as check-token and place it between larger steps.

With Circuit, when skill order or dependencies change, you do not need to reconstruct the procedure between skills from memory. You can update the nodes and edges instead.

Track Execution State

live_status.mp4

When a workflow runs, you can see which skill is currently running, which steps have completed, and where a failure happened through the canvas and Run Log.

Active workflows can be cancelled when needed, and failed runs are easier to inspect because the stopping point remains visible.

Handle Loops

manage_loop.mp4

Not every workflow ends in a straight line. Some routines need repetition. For example, you may want to review a failed task again or repeat a check until a condition is satisfied.

Circuit helps you manage these repeated flows more safely. Since a cyclic graph can run indefinitely, Circuit shows a warning before execution and lets you run it only after confirming that the loop is intentional.

Because the loop remains visible on the canvas, you can see which skill will be called again and adjust the routine when needed.

Use Claude And Codex Together

cross_platform.mp4

Many projects already contain more than one kind of agent automation. Some routines may be written as Claude skills, while others may be managed as Codex skills. Within the same agent, you may also want to choose different models depending on the task.

Circuit reads .claude/skills/*/SKILL.md and .codex/skills/*/SKILL.md from your local repository and lets you place both kinds of skills on the same canvas. It does not treat Claude and Codex as competing tools. It treats them as different execution capabilities and model choices that belong to the local project.

The actual skill files remain in the repository. Circuit does not move them elsewhere or force them into a separate format. Instead, it reads the skills from the repository, shows them on the canvas, and provides a visual layer for defining their order and dependencies.

Contributions Welcome

Circuit is still under active development. Bug reports, usability feedback, documentation improvements, example workflows, runtime stability work, and UI improvements are all welcome.

Small contributions are welcome too. If something was confusing while you tried the app, open an issue. If the README can be clearer, improve it. If you have a .claude/skills or .codex/skills workflow you use often, sharing that example can help a lot.

To develop locally:

git clone https://github.com/CIrcui-try/Circuit
cd Circuit/app
pnpm install
pnpm tauri dev

Before opening a PR, please run the checks you reasonably can:

cd app
pnpm test:run
pnpm build
cd src-tauri
cargo test

For larger features or changes to runtime behavior, please open an issue first and share the intent. Circuit deals with local repositories and agent execution flows, so it is important to consider not only convenience but also whether users can understand and control what is happening.

Please write commit messages, PR titles, and PR descriptions in English.