Codex + psh.now
A skill in the shared directory. Nothing to configure.
Codex reads the universal skills directory, so installing psh.now is the whole integration. Any command it runs can then route a question to you instead of stalling.
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 ~/.agents/skills/psh-now - the shared directory every harness reads, so the install is the setup.
Connect a channel
Open the dashboard, copy the prompt from a channel card, and give it to Codex. 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
Codex 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.
Other agents
~/.claude/skills/psh-now
~/.cursor/skills/psh-now
shared skills dir
shared skills dir
~/.config/opencode/skills/psh-now
~/.trae/skills/psh-now
~/.hermes/skills/psh-now
shared skills dir
shared skills dir
Anything else that can run a shell command can ask too - the skill installer supports 79 agents, and the CLI is the same everywhere.