liminal-ai

Liminal Builder — AI skill for Claude Code

AI community

Agentic IDE wrapping AI coding CLIs with organized session management.

How to install Liminal Builder

This entry records only its repository, not the path inside it, so there is no exact command to give. Open liminal-ai/liminal-builder and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Liminal Builder does

Agentic IDE wrapping AI coding CLIs with organized session management.

Alternatives in AI

  • HolyClaude — AI coding workstation: Claude Code + web UI + 7 AI CLIs + headless browser + 50+ tools 2k ★
  • Botmux — Bridge Feishu/Lark to AI coding CLIs — Claude Code, Codex, Gemini, OpenCode… every DM, group or topic spawns i 1.2k ★
  • CliRelay — Self-hosted AI gateway for coding CLIs — one OpenAI/Claude/Gemini/Codex-compatible endpoint, with a multi-tena 1k ★

README

Liminal Builder

An agentic IDE that replaces the friction of juggling CLI terminals with an organized, session-based interface for parallel AI-assisted development. Move between projects and agent conversations fluidly — no more lost terminal windows, no more "which tab was that Codex session in?"

What It Does

Liminal Builder wraps AI coding CLIs (Claude Code, Codex) via the [Agent Control Protocol (ACP)](https://github.com/anthropics/claude-code/tree/main/packages/agent-control-protocol) and provides:

  • Project sidebar — Add project directories, browse agent sessions grouped by project, collapse/expand folders
  • Chat interface — Send messages, stream responses, see tool calls and thinking blocks inline with status indicators
  • Tab management — Multiple sessions open simultaneously, instant switching (content stays alive in background iframes), drag-to-reorder
  • Multi-CLI support — Claude Code and Codex sessions side by side, same interface
  • Session persistence — Sessions survive app restart; conversation history loads from ACP agents on demand

Architecture

flowchart LR
    subgraph Browser["Browser (vanilla HTML/JS)"]
        Shell["Shell (single page)"]
        Sidebar
        Tabs["Tab Bar"]
        Portlets["Portlet iframes\n(one per session)"]
        Shell --- Sidebar
        Shell --- Tabs
        Shell --- Portlets
    end

    subgraph Server["Bun + Fastify Server"]
        WS["WebSocket Bridge"]
        PS["ProjectStore"]
        SM["SessionManager"]
        AM["AgentManager"]
        ACP["AcpClient"]
        WS --- PS
        WS --- SM
        WS --- AM
        AM --- ACP
    end

    subgraph Agents["ACP Agent Processes"]
        CC["claude-code-acp"]
        CX["codex-acp"]
    end

    Shell <-->|WebSocket| WS
    ACP <-->|JSON-RPC/stdio| CC
    ACP <-->|JSON-RPC/stdio| CX

**Shell/portlet model:** The shell manages the sidebar, tab bar, and a single WebSocket connection. Each open session is an iframe