Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add lucas-zan/agent-sea
Or install specific skill: npx add-skill https://github.com/lucas-zan/agent-sea
# Description
An AI Agent Engine built in Go. Features portable skills (SKILL.md), human-in-the-loop approvals, structured memory, and OpenAI-compatible tool calling. Single binary & Docker ready.
# README.md
sea (Skill Engine Agent)
"The ocean accepts all streams."
Imagine an agent runtime as vast and inclusive as the seaβcapable of executing any skill you define, turning your intentions into actions.
sea is a lightweight, Go-based agent runtime designed to be the universal engine for AI skills. It combines:
- Skill: Portable capabilities defined in SKILL.md.
- Engine: A robust, single-binary runtime for executing tools and managing state.
- Agent: An intelligent entity that uses the engine to accomplish complex tasks.
Why sea?
Most agent frameworks are heavy, Python-first, or tightly coupled to specific providers. sea takes a different approach:
- π Engine-First: A stable event protocol + runtime that powers CLI, TUI, or IDE tools.
- π Skill-First: Capabilities are defined in portable SKILL.md files, not hardcoded logic.
- βοΈ Safe by Default: Side-effects (file edits, shell commands) are gated behind Human-in-the-Loop (HITL) approvals.
- π Native Performance: A single, static Go binary. No Python venv hell.
Features
| Feature | Description |
|---|---|
| Portable Skills | Define workflows in SKILL.md (Markdown + Frontmatter) that any agent can read. |
| HITL Approvals | Interactive approvals with diff previews for risky actions. Run safely. |
| Built-in Tools | ls, read_file, write_file, edit_file, grep, shell, lsp_diagnostics. |
| Memory & Context | Structured persistence for user preferences and project facts under workspace/. |
| Session Management | Save, resume, and audit sessions. Time-travel through your agent's work. |
| Event Stream | Real-time streaming protocol for developers (Thinking, ToolCalls, Deltas). |
| REPL | A powerful interactive CLI (./sea chat) for chatting with your agent. |
Quick Start
Installation
Option 1: Quick Install (Recommended)
Run this command in your terminal to download and set up sea automatically:
curl -fsSL https://raw.githubusercontent.com/lucas-zan/agent-sea/main/install.sh | bash
Option 2: Manual Download
- Go to the Releases page.
- Download the binary for your OS (Windows, macOS, Linux).
- Rename it to
sea(orsea.exeon Windows) and make it executable:
bash chmod +x sea ./sea help
Option 2: Build from Source
This project requires Go 1.24+.
git clone https://github.com/lucas-zan/agent-sea.git
cd agent-sea
make native
# Output: ./sea
Option 3: Run with Docker
If you don't have Go installed, you can use Docker:
docker compose run --rm dev ./sea chat
2. Configure
Set up your LLM provider (OpenAI-compatible).
cat > .env <<'EOF'
LLM_API_KEY=sk-your-api-key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o-mini
LOG_LEVEL=INFO
EOF
3. Run
Start a chat session:
Or run a specific task directly:
```bash
# Ask the agent to do something
./sea chat --initial "Analyze the current directory layout"
# Auto-approve safe actions (optional)
./sea chat --auto-approve
Chat & Sessions
Start a new session:
./sea chat
List previous sessions (history, status, IDs):
./sea chat --list
# Output:
# π Sessions:
# session_123... - 15 messages - 2026-01-21 10:00
Resume an existing session:
# Append the session ID to resume context
./sea chat session_123...
Using Skills
In sea, capabilities are called "Skills". They are just directories with a SKILL.md file.
Discovery
Skills are loaded from:
1. <project>/.sea/skills/ (Project-specific)
2. ~/.sea/<agent>/skills/ (User-global)
3. ./skills/ (Built-in)
Managing Skills
# List available skills
./sea skills
# Run a skill directly (headless mode)
./sea run novel-init -a name="MyNovel" -a genre="Sci-Fi"
# Validate a skill definition
./sea validate ./skills/my-new-skill
Creating a Skill (SKILL.md)
---
name: my-skill
description: A custom workflow.
allowed-tools: "read_file write_file"
---
# Instructions
1. Read the user's config file.
2. If distinct, update it with new defaults.
Architecture
sea is designed as a modular layered architecture:
graph TD
User[User] --> CLI[CLI / REPL]
CLI --> Engine[sea Engine]
subgraph "sea Runtime"
Engine --> Runner[Turn Runner]
Runner --> LLM[LLM Adapter]
Runner --> Tools[Tool Registry]
Runner --> Policy[Policy Engine]
Runner --> MW[Middleware Chain]
MW --> SkillsMW[Skills]
MW --> MemoryMW[Memory]
MW --> PlanMW[Planning]
end
Commands
| Command | Usage | Description |
|---|---|---|
chat |
./sea chat |
Start interactive session. |
run |
./sea run <skill> |
Execute a skill non-interactively. |
skills |
./sea skills |
List all discovered skills. |
validate |
./sea validate |
Check validity of all skills. |
help |
./sea help |
Show help message. |
Inside the REPL (chat), you can use slash commands:
- /help - List commands
- /init - Initialize persona/config for current dir
- /compress - Compress conversation history (save tokens)
- /quit - Exit
Contributing
sea is an open engine. We welcome contributions!
- Issues: Report bugs or suggest features.
- PRs: Submit improvements to the engine or new built-in skills.
License
MIT
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.