Sgai: Goal-Driven Multi-Agent Software Development Tool

What Sgai Does
Sgai (pronounced "Sky") is a goal-driven AI software factory that runs locally in your repository. Instead of step-by-step prompting, you define outcomes in GOAL.md files describing what should be built, not how. The system then coordinates multiple AI agents to execute the goal.
Key Features
- Goal-driven workflow: Define outcomes in GOAL.md files with completion gates (e.g.,
make test) that determine when work is actually done - Multi-agent coordination: Decomposes goals into a DAG of roles (developer → reviewer → safety analyst, etc.)
- Local execution: Everything runs locally in your repo with no automatic pushes to GitHub
- Visual monitoring: Web dashboard shows real-time execution of the agent graph
- Interactive clarification: Agents ask clarifying questions when needed before execution
- Skill extraction: Extracts reusable skills and code snippets from completed sessions
How It Works
The workflow follows these steps:
- Create a Goal: Most users create goals using the built-in wizard. Goals are stored in GOAL.md and describe outcomes, not implementation steps.
- Agents Plan the Work: Sgai breaks your goal into a workflow diagram of coordinated agents with defined roles.
- Approve & Monitor: Agents ask clarifying questions, then work autonomously executing tasks, running tests, and validating completion.
- Learn from Sessions: The system extracts reusable skills from completed sessions.
Example GOAL.md
--- flow: | "backend-developer" -> "code-reviewer" completionGateScript: make test interactive: yes ---Build a REST API
Create endpoints for user registration and login with JWT auth.
- POST /register validates email, hashes password
- POST /login returns JWT token
- Tests pass before completion
Installation & Setup
Recommended automated setup via opencode:
opencode update opencode auth login opencode --model anthropic/claude-opus-4-6 run "install Sgai using the instructions from https://github.com/sandgardenhq/sgai/blob/main/INSTALLATION.md"
Manual installation requirements: Go, Node.js, bun, opencode. Recommended: jj (version control), tmux (session management), ripgrep (code search), Graphviz (diagram rendering).
Install command:
go install github.com/sandgardenhq/sgai/cmd/sgai@latest
Or build from source:
git clone https://github.com/sandgardenhq/sgai.git cd sgai cd cmd/sgai/webapp && bun install && cd ../../.. make build
Running Sgai
Start the server with sgai serve and open http://localhost:8080 to access the dashboard.
Technical Details
- Open source (Go)
- Works with Anthropic, OpenAI, or local models via opencode
- Changes go through your version control (recommends jj, but Git works)
- Demo available: 4-minute video
- Example use case: "Build a drag-and-drop image compressor" → 3 agents (developer, reviewer, designer) → Working app with tests passing → 45 minutes
The project is described as "still early and rough in places, but functional enough to share" and has been used internally for prototyping small apps and internal tooling.
📖 Read the full source: HN AI Agents
👀 See Also

Using a Smart Pixel Clock for Claude AI Completion Notifications
A Reddit user shares a method to display Claude AI completion notifications using a ULANZI TC001 Smart Pixel Clock with custom firmware and an HTTP endpoint.

JobPilot: Claude Code Plugin for Automated Job Applications
JobPilot is a Claude Code plugin that automates job searching and application processes using Playwright browser automation. It includes commands for searching job boards, auto-filling applications, generating cover letters, and tracking application statistics.

Reseed CLI: Extract Design Systems from Any Site for Claude Code and Cursor
Reseed is a CLI that extracts design tokens (colors, spacing, type scale, radii) from any website and generates a tailwind.config.ts, design-system.md, and reference HTML for Claude Code and Cursor to use.

FUTO Swipe: Open-Source Swipe Typing Models Match Big Tech Accuracy
FUTO releases open-source swipe typing models and a 1M swipe dataset. Encoder (635K params) + ContextLM (1.5M) + decoder (304K) achieve ~4% top-4 fail rate. Fully offline in FUTO Keyboard.