← All agents

Cursor logo

Cursor + psh.now

Ask before the agent touches the repo.

Cursor reads skills from ~/.cursor/skills. The agent already has a terminal, which is all psh.now needs: one call, one blocking wait, one boolean back.

Install it

Two commands, either one. The first is the packaged skill; the second needs no npm and no git.

npx skills add passy-ai/psh-now-skill -g -y
curl -fsSL https://psh.now/install.sh | sh

It lands in ~/.cursor/skills/psh-now, so only Cursor picks it up from there. The shared directory is written too, which is why the same install works everywhere else.

Connect a channel

Open the dashboard, copy the prompt from a channel card, and give it to Cursor. The link carries the channel, so nothing new is minted and the key it gets is ask-only - it can request approvals, never approve.

I'd like you to use psh.now and join this channel: https://psh.now/c/<channel>

What it asks with

Once installed, the agent's side of the contract is one command:

psh ask "Deploy the new build?" "This pushes to production."

It blocks until you answer, then exits 0 on approval and non-zero otherwise. A timeout or an error means do not act - silence is never consent.

Ask or gate

Cursor runs the skill, and a skill is an ask: the model can skip it. If your setup exposes hooks, wire psh hook and the same call becomes a gate instead. Claude Code is the reference: see its hook.

Check it works

psh status

Expect the host, auth ✓, the plan and the request count. psh doctor goes further: the skill path, the keys, the workspace and any stale record.

Get a channel Read the docs

Other agents

Anything else that can run a shell command can ask too - the skill installer supports 79 agents, and the CLI is the same everywhere.