Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add agentmail-to/agentmail-plugins --skill agentidgit clone --depth 1 https://github.com/agentmail-to/agentmail-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/agentmail-to/agentmail-plugins/agentid)<a href="https://agentmods.dev/skills/agentmail-to/agentmail-plugins/agentid"><img src="https://agentmods.dev/badge/skills/agentmail-to/agentmail-plugins/agentid/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/agentmail-to/agentmail-plugins/agentid"><img src="https://agentmods.dev/badge/skills/agentmail-to/agentmail-plugins/agentid.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00142 | $0.03295 |
| Opus 5.5 | $0.00057 | $0.01318 |
| Sonnet 5.5 | $0.00028 | $0.00659 |
| Haiku 4.5 | $0.00014 | $0.00330 |
Grade A, and why
agentid scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 131 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AgentID: Accounts at Apps
AgentID lets an agent create an account at a third-party service, and sign back in later, using an AgentMail inbox as its identity. No password and no sign-up form: the inbox address is the account's email, and the app's mail arrives in that inbox. An app is a service in the AgentID marketplace, such as a scraping, search, or database API. An account is one inbox signed in at one app.
What users ask for
| The user says | Play |
|---|---|
| "Create an account at Firecrawl", "sign my agent up for Turso" | Create an account |
| "My agent needs a web search API", "find a database for my agent" | Find an app for a need, then create an account |
| "Log my agent back in to Firecrawl" | Sign back in |
| An app's Sign in with AgentID page shows an auth token, or the app is not registered with AgentID | Sign in with an auth token |
| "Where does my agent have accounts?", "who is signed up for Turso?" | Check accounts |
"Connect to app <uuid>" |
Create an account, using the ID directly |
The goal is almost never the sign-in itself. It is a working account the agent can use, usually for an API key. Carry the job through to Finish the job.
Create an account
-
Find the app.
- The user named the app: call
get_appwith its slug, the name lowercased without spaces or punctuation (firecrawl). A catalog app resolves in one call. - The slug 404s: call
search_appswith the name. One match: use it. Several: show name, description, and ID, and ask. Never pick between look-alike names yourself. No match: see Not on AgentID. - The user gave an app ID: call
get_appwith it. List, search, and slugs cover only the curated catalog, but any registered app resolves by ID and can be connected once it has a sign-in entry point.
From here on, pass the
appIdthatget_appreturned.list_accountsandconnect_appalso accept the slug, but the ID is permanent: use it in anything you store or report. - The user named the app: call
-
Pick the inbox that will own the account. The inbox is the agent's identity at the app.
- The user named one: use it.
- The organization has one inbox (
list_inboxes): use it and say which. - Several: ask, and suggest a dedicated agent inbox over a person's.
- None: offer to create one for the agent with
create_inbox, then continue.
-
Check for an existing account. Call
list_accountswith theappIdand page untilnextPageTokenis absent.- This inbox already has one: this is a sign-in, not a new account. Say so and continue with Sign back in.
- Another inbox has one: prefer signing in with that inbox over creating a second account, and say why. Apps can cap sign-ups per organization.
ownerSignupLimitonget_appis a hint, not a count to check against.0means new sign-ups are paused, so use an inbox that already has an account. Otherwise do not work out the headroom fromlist_accounts: the cap counts every inbox that ever signed up, including disabled accounts thatlist_accountsdoes not show. Try the connect, and let its limit error decide.
-
Show what the user is agreeing to: app name and description, terms and privacy links from
get_app, and the inbox. An unlisted app returns only its ID, plus its name when one is registered, with noupdatedAt; say it is not a reviewed catalog entry. If the user named both the app and the inbox, that request is the go-ahead; if you inferred either one, confirm first. -
Call
connect_appwithappIdandinboxId.inboxIdcan be omitted only when the credential is scoped to one inbox. -
Hand off the sign-in URL. The response has
magicUrl,expiresAt, andapiKeyId. OpenmagicUrlin the browser that should hold the sign-in:- If you control a browser, open it there. That browser keeps the agent's session at the app.
- Otherwise give the link to the user and say what happens: it opens
auth.agentid.com, may ask them to accept what the app will receive, then lands them in the app signed in as the inbox, with the account created. It works once, within five minutes. Their browser then holds the agent's session.
-
Confirm with
list_accountsfor thatappId: the inbox should appear with a freshlastSignedInAt. If it does not, the browser sign-in has not finished. Do not callconnect_appagain until the earlier URL has expired.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago Changed f719dcc248bd
- 1mo ago Changed · +22 lines · +11 tokens per session 68bbf98736ea
- 1mo ago Changed b78da21bc2d9
- 1mo ago First seen · 109 lines · 131 tokens per session scan A eed57302c8d0
agentid is a skill published in the GitHub repository agentmail-to/agentmail-plugins (36 stars, last pushed 11d ago), licensed MIT. It adds 142 tokens to every session and 3,295 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-30.
agentid compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| agentidagentmail-to/agentmail-plugins | Skill | 36 | 11d ago | MIT | A | 142 | Claude Code, Codex |
| imagegenopenai/codex | Skill | 133k | yesterday | Apache-2.0 | A | 113 | Codex |
| playwright-climicrosoft/playwright | Skill | 99k | yesterday | Apache-2.0 | A | 19 | Claude Code |
| local-ai-agentsmicrosoft/ai-agents-for-beginners | Skill | 79k | 4d ago | MIT | A | 200 | Claude Code, Codex |
| systematic-debuggingobra/superpowers | Skill | 313k | 3d ago | MIT | A | 21 | Claude Code |
| next-cache-components-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 95 | Claude Code |
| next-partial-prefetching-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 103 | Claude Code |