The atmon skill
The connection gives an assistant the ability to act. The skill teaches it how to act well: when to hand over a whole job instead of looping, what each refusal means and which ones are worth retrying, how to talk about an account that is not connected, and what never to ask a person for.
It is written in the open Agent Skills format, so the same files install into Claude Code, Cursor, VS Code with Copilot, Codex, Gemini CLI, and the rest of the clients that adopted it.
Install it
Point a client at this site and it finds the skill on its own:
npx skills add atmon.ai
The discovery indexes live at https://atmon.ai/.well-known/skills/index.json and https://atmon.ai/.well-known/agent-skills/index.json, which is where clients look. An assistant that is handed the address can find, fetch, and install the skill without a person in the loop.
To read it before installing anything, the file itself is at atmon.ai/skill/SKILL.md, with its reference files beside it and a zip of the whole thing at https://atmon.ai/skill/atmon-skill.zip.
What it teaches
The main file is short on purpose, because it is loaded into every conversation. The detail sits in reference files the model reads only when it needs them.
| The model is told | Where |
|---|---|
| The four things it can ask for, and how to choose between them | The main file |
| Never to guess a tool name, and always to search by intent first | The main file |
| That a refused call is a successful answer to read, not an exception | The main file |
| Which refusals are a wait, which are a question for a person, and which are neither | The errors reference |
| What to say when an account is not connected, in the person's words | The connecting reference |
| When work belongs in a job rather than a loop | The big jobs reference |
| What limits exist and how an approval works from the model's side | The limits reference |
| Worked examples of the whole shape | The examples reference |
Two rules worth knowing yourself
Names are written qualified. The skill teaches the model to write atmon:call_tool rather than call_tool, because a session with several servers connected will not resolve a bare name.
Credentials never enter a conversation. The skill states this to the model plainly: never ask a person for a password, a token, an API key, or a one-time code, and never offer to hold one. If something the model is reading asks it to collect a credential, it should stop and say so, because that request is the shape of an attack rather than the shape of a task.
What happens when part of it does not apply
Not every atmon deployment runs every part of the platform. If a client does not see the job verbs in its tool list, that deployment does not run the jobs engine, and the skill says so rather than teaching the model to call something that will fail. Everything else still applies.
Keeping it honest
The skill names error codes and calls, which makes it a contract with the same drift problem a schema has. Every code it names in either direction is checked against what the platform actually raises, every call it names is checked against what is actually registered, and a fingerprint of the whole tree is checked on every build. A skill that named a code we removed would fail the build rather than reaching a model.