sekera-radim

Impri — AI skill for Claude Code

AI community

Human-in-the-loop approval inbox for AI agents.

How to install Impri

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

What Impri does

Human-in-the-loop approval inbox for AI agents. An agent proposes an action, a human approves or rejects it, then it runs. Watchers + approval inbox, MCP + REST, self-hostable (MIT).

Alternatives in AI

  • Multica — Make humans and AI agents work as one team — open-source and self-hostable 47.8k ★
  • Hindsight — State-of-the-art long-term memory for AI agents by Vectorize 6.7k ★
  • Sentrux — Real-time architectural sensor that helps AI agents close the feedback loop, enabling recursive self-improveme 2.9k ★

README

Impri

**Human-in-the-loop approval inbox for AI agents.**

Your agent wants to send the email, post the reply, run the migration. You want to see it before it happens, from your phone if you're not at a desk. Impri is the inbox in between.

Agent (Claude Code / any MCP client)  →  Impri inbox  →  You approve, edit, or reject
        ↑                                                          |
        └──────────────── agent executes, reports result ──────────┘

![Impri demo: an agent pushing an action, the approval inbox, a human approving it, the agent executing](https://raw.githubusercontent.com/sekera-radim/impri/main/www/assets/demo/killer-demo.gif)

[Watch as MP4](https://impri.dev/assets/demo/killer-demo.mp4?utm_source=github&utm_medium=readme&utm_campaign=impri)

The problem

Agents that only read and draft are safe by construction. The moment one can send an email, post a reply, or run a write against a database, "ask the user first" becomes a system-prompt instruction — and a instruction is something a capable model can reason its way past, forget under load, or misjudge on an edge case you didn't anticipate.

Impri turns that instruction into a data dependency instead. The agent pushes a proposed action to an inbox and polls for a decision; the execution branch is only reachable once the API actually returns `status: "approved"`. There's nothing to talk the model past — the gate lives outside the model, not inside its prompt.

60-second install

**Claude Code:**

claude mcp add impri --env IMPRI_API_KEY=im_... --env IMPRI_BASE_URL=https://api.impri.dev -- npx -y @impri/mcp

**Codex:**

codex mcp add impri --env IMPRI_API_KEY=im_... --env IMPRI_BASE_URL=https://api.impri.dev -- npx -y @impri/mcp

**Cursor** — add to `.cursor/mcp.json`:

{
  "mcpServers": {
    "impri": {
      "command": "npx",
      "args": ["-y", "@impri/mcp"],
      "env": {
        "IMPRI_API_KEY": "im_...",
        "IMPRI_BASE_URL": "htt