Skip to content
Back to skills

Ony

ASecurity

Control how Ony gates this agent by phone. Use when the user types /ony, or asks to set Ony to off, on (high-risk only), away (call me for every actionable step), here (back at the keyboard), or status. The requested mode is in the arguments.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
ai-agentsbash

Works with

  • claude code
  • terminal

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 17, 2026

npx -y skills add ony-ai/ony --skill ony --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ony?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ony
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ony-ai-ony/badge)](https://www.skillsdirectory.com/skills/ony-ai-ony)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ony
description: Control how Ony gates this agent by phone. Use when the user types /ony, or asks to set Ony to off, on (high-risk only), away (call me for every actionable step), here (back at the keyboard), or status. The requested mode is in the arguments.
---

# /ony - control how Ony gates this agent

Ony phones the developer to approve the agent's risky actions and relays the decision back as allow
or deny. As a marketplace plugin this skill is invoked as `/ony:ony <mode>` (the project-level
install generated by `ony hooks install` exposes the same skill as `/ony <mode>`); the mode is in
`$ARGUMENTS`.

When invoked, run the matching command with the Bash tool and report the new mode in one line. Do
not ask for confirmation first. If `$ARGUMENTS` is empty or not a mode below, run the `status`
command and tell the user the valid modes.

| Mode (`$ARGUMENTS`) | Run | Meaning |
| --- | --- | --- |
| `on` | `ony on` | At the keyboard: phone me only for high-risk actions |
| `away` | `ony away` | Remote control: phone me for EVERY actionable step (I left the keyboard) |
| `here` | `ony here` | Back at the keyboard: return to high-risk-only calls |
| `off` | `ony off` | Ony does nothing; tool calls use normal permissions |
| `status` | `ony status` | Show the current mode |

The mode is PROJECT-scoped (stored in this project's `.ony/project.json`): every session in this
project shares it; other projects are unaffected. It is read by the gate hooks this plugin
installs, so a change takes effect on the next tool call.

## How the gate composes with Claude Code

Ony inherits Claude Code's own decision surface: it rings exactly when Claude itself would stop
and ask you for permission - never for work you pre-authorized (allowlisted commands,
accept-edits, bypass-permissions). `away` answers EVERY such ask by phone; `on` answers only the
high-risk ones and leaves the rest to the terminal dialog. `away` also turns an `AskUserQuestion`
into a real phone menu - Ony reads each option, marks the recommended one, and delivers the keypad
choice back as the answer - so ask multiple-choice questions normally instead of avoiding them;
the user answers by phone.

## Prerequisite

The `ony` connector must be installed and enrolled on this machine:

```bash
pip install ony
ony enroll --url <your-ony-url> --email <you>
```

(You are prompted for the password; it is not accepted on the command line.) If a command reports
"Not enrolled", tell the user to run `ony enroll` first. `ony doctor` diagnoses a setup that never
calls.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.