by r1c7
AI coding agent with one Python core and three front-ends — headless CLI, Textual TUI, and an Electron desktop. Works with any OpenAI-compatible API, with risk-tiered permissions, event-sourced replayable sessions, and a fail-closed OS-level sandbox.
# Add to your Claude Code skills
git clone https://github.com/r1c7/CluxMateLast scanned: 9/5/2026
{
"issues": [
{
"file": "AGENTS.md",
"line": 41,
"type": "dangerous-command",
"message": "Dangerous command (writes to Claude config): \">/CLAUDE.md`, `~/.claude/\"",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-09-05T08:05:49.944Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how CluxMate compares with popular alternatives.
CluxMate is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by r1c7. AI coding agent with one Python core and three front-ends — headless CLI, Textual TUI, and an Electron desktop. Works with any OpenAI-compatible API, with risk-tiered permissions, event-sourced replayable sessions, and a fail-closed OS-level sandbox. It has 146 GitHub stars.
Yes. CluxMate passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/r1c7/CluxMate" and add it to your Claude Code skills directory (see the Installation section above).
CluxMate is primarily written in Python. It is open-source under r1c7 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh CluxMate against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
An AI coding agent — one Python core, three front-ends.
English · 中文文档
CluxMate is an AI coding agent that reads your codebase, plans changes, edits files, runs commands, and answers questions. A single Python core powers three interchangeable front-ends:
| Front-end | What you get |
|---|---|
| Headless CLI | One-shot prompts for scripts, CI, and automation (cluxmate -p "...") |
| Textual TUI | A full interactive terminal UI (cluxmate) |
| Electron desktop | A polished GUI that drives the same core over JSON-RPC (stdio) |
It speaks the OpenAI-compatible API, so it works with DeepSeek, Qwen, GLM, OpenAI, OpenRouter, Ollama, or any self-hosted endpoint using the same protocol — just point it at a base_url. No vendor lock-in.
turn/start/turn/end, every step logs step/start, request/header, and tool results, so the exact prompt sent at any step can be reconstructed and replayed verbatim, and context compaction rewrites a summary region without erasing the underlying events. See Sessions you can replay below.safe / write / dangerous / critical); four modes (plan / default / acceptEdits / yolo) plus two persistent always-allow lists (write tier + dangerous tier — delete_file, and bash per category like bash:rm / bash:python / bash:run, never whole-tool) control approval. Running code (python script.py, node app.js, npm run, ./x.sh, …) is dangerous, not safe. plan mode is read-only by construction; dangerous commands prompt unless explicitly always-allowed, and critical commands (format/mkfs/dd, etc.) and sandbox escalation always prompt.bash commands run inside an OS-level sandbox (Windows Low-integrity token, Linux bubblewrap, macOS Seatbelt). Sandboxing is fail-closed and only yolo mode — the explicit opt-out — disarms it. An opt-in read denylist hides secrets (.env, *.pem, ~/.ssh, …) from the model and from shell/MCP subprocesses. See Security: sandbox.web_fetch / web_search pass through an SSRF guard in every mode (including yolo): internal/private addresses (RFC1918, loopback, link-local, cloud metadata, …) are denied by default, every redirect hop is re-validated, and DNS resolution failures close the request. Allow/block rules are configurable (~/.cluxmate/ssrf.json), managed from desktop Settings → Sandbox → Network access. See Security: network access (SSRF guard).shared (unrestricted), off (kernel-level deny — bwrap --unshare-net / Seatbelt deny network*), or proxy (allowlist-only via a local filtering proxy). Default shared; Windows off is fail-closed for now. See Security: network egress (bash/MCP).cluxmate worktree …, so parallel sessions stop fighting over the same files. Inside a tree the composer stops offering branch switches (the tree is its branch) and the project's branch list hides what other trees hold; deleting the session can take the tree with it. See Session worktrees.general-purpose, read-only explore, and an evidence-gated reviewer that fixes nothing), or define your own in Markdown. Recursion is capped at depth 4, parallelism is bounded (4 at once, 2 of them writers), and every child gets a turn budget, a machine-readable status header, and its own replayable session log.lsp tool exposes 10 navigation operations (go-to-definition, find-references, hover, call hierarchy, diagnostics, …) across seven language-server specs (Python, TypeScript, JavaScript, Go, Java, Rust, C/C++). Nothing is bundled: servers come from your PATH, and after every edit the language server's error-level diagnostics ride back in the write tool's result. See Code intelligence (LSP).MAX_TURNS remains the hard backstop.AGENTS.md), opt-in retrieval memory, and Model Context Protocol servers (stdio / HTTP) plug into the same context pipeline.cluxmate mcp auth / logout / status. Tokens live in ~/.cluxmate/mcp-auth.json, are always denied to the model's read path, and — deliberately — no tool exists that can trigger authorization. See Remote MCP servers & OAuth.UserPromptSubmit / PreToolUse / PostToolUse / Stop / SessionStart / SessionEnd / SubagentStop / PreCompact / Notification, receiving context as stdin JSON and deciding to block or inject context via stdout JSON. Hooks are your own trusted config, never sandboxed; crashes/timeouts degrade to a no-op.success while its own audit says otherwise is downgraded to partial. See Trust, but verify.bash, file read/write/edit/delete, grep, list_dir, lsp, web_fetch, web_search, ask_user_question, todo_write, subagents, skills, memory updates and more; every tool's output is bounded — an oversized result keeps a head/tail preview and spills the rest to disk instead of flooding the context.┌──────────────────────────────────────────────┐
│ Front-ends │
│ CLI ─── REPL ─── Textual TUI ─── Desktop │
└──────────────────────────────────────────────┘
│
JSON-RPC over stdio (desktop)
│
┌──────────────────────────────────────────────┐
│ Python agent core │
│ AgentLoop ── SessionLog (event-sourced) │
│ Builder ── Permissions ── Checkpoints │
│ WriteFence ── Bash/MCP sandbox │
│ LSP ── Skills ── Memory ── MCP ── Subagents │
│ Hooks ── Grants │
└──────────────────────────────────────────────┘
│
OpenAI-compatible API (httpx)
│
┌──────────────────────────────────────────────┐
│ DeepSeek · Qwen · GLM · OpenAI · any base │
└──────────────────────────────────────────────┘
The session log is the source of truth: an append-only sequence of events from which the model's message history is derived. This keeps request prefixes stable (prompt-cache friendly), enables exact replay, and survives crashes.
Everything the agent does is recorded in an append-only event log — one .jsonl file per session — and the provider message history is derived from those events, never stored separately. That single source of truth buys a lot:
turn/start / turn/end; inside it, every model request logs step/start + request/header (config, system prompt, tool schemas — only when they change), and every tool call logs its result. The exact prompt sent at any step can be reconstructed verbatim (session/context