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 ComeOnOliver/skillshub --skill axiom-passkeysgit clone --depth 1 https://github.com/ComeOnOliver/skillshubWrote 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/comeonoliver/skillshub/axiom-passkeys)<a href="https://agentmods.dev/skills/comeonoliver/skillshub/axiom-passkeys"><img src="https://agentmods.dev/badge/skills/comeonoliver/skillshub/axiom-passkeys/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/comeonoliver/skillshub/axiom-passkeys"><img src="https://agentmods.dev/badge/skills/comeonoliver/skillshub/axiom-passkeys.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.00066 | $0.04755 |
| Opus 5 | $0.00033 | $0.02377 |
| Sonnet 5 | $0.00013 | $0.00951 |
| Haiku 4.5 | $0.00007 | $0.00475 |
Grade C, and why
axiom-passkeys scanned grade C with 2 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 9d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -s "https://example.com/.well-known/apple-app-site-association" | python3 -m json.tool Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s "https://example.com/.well-known/apple-app-site-association" | python3 -m json.tool How it starts
The opening of the file, as written. The whole thing — 463 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Passkeys
Passkey authentication for iOS apps — registration, assertion, AutoFill-assisted requests, automatic upgrades, combined credential flows, and migration from password-based auth.
When to Use This Skill
Use when you need to:
- ☑ Add passkey sign-in to an iOS app
- ☑ Replace password-based authentication with passkeys
- ☑ Configure ASAuthorizationController for passkey registration or assertion
- ☑ Set up AutoFill-assisted passkey requests (QuickType bar)
- ☑ Add automatic passkey upgrades for existing password users (iOS 18+)
- ☑ Support combined credential requests (passkey + password + Sign in with Apple)
- ☑ Configure associated domains for webauthn/webcredentials
- ☑ Debug passkey assertion failures or missing QuickType suggestions
Example Prompts
"How do I add passkey sign-in to my app?" "My passkeys aren't showing in the QuickType bar" "How do I migrate existing password users to passkeys?" "ASAuthorizationError.canceled — what's going wrong?" "How do I support both passkeys and passwords during migration?" "How do I set up associated domains for passkeys?" "What's the difference between performRequests and performAutoFillAssistedRequests?" "How do I add automatic passkey upgrades on iOS 18?"
Red Flags
Signs you're heading in the wrong direction:
- ❌ Still using passwords as primary auth when passkeys are available — Passkeys are not "extra security." They are the replacement. Every password-only sign-in is a phishing opportunity you're leaving open.
- ❌ Not annotating the username field with
.usernametextContentType — Without this, the system can't associate the field with passkey credentials. AutoFill won't suggest passkeys for unlabeled fields. - ❌ Using
performRequests()for the primary sign-in flow — this shows a modal sheet instead of putting passkeys in the QuickType bar. UseperformAutoFillAssistedRequests()for the primary path. ReserveperformRequests()for registration and explicit "Sign In" button taps. - ❌ Setting
userVerificationto"required"on the server — This prevents sign-in on devices without biometrics. The platform handles verification appropriately per device. Use"preferred"(the default). - ❌ Creating passkeys in an extension or non-main-app context — Passkey creation requires the main app target. Extensions can perform assertions but not registrations.
- ❌ Not supporting combined credential requests — During migration, users may have a passkey, a password, or neither. A single ASAuthorizationController handles all three. Offering only passkeys locks out users who haven't upgraded.
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.
- 9d ago First seen · 463 lines · 66 tokens per session scan C ae746bc91c99
axiom-passkeys is a skill published in the GitHub repository ComeOnOliver/skillshub (63 stars, last pushed 2mo ago), licensed MIT. It adds 66 tokens to every session and 4,755 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
content-engine
Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.
deploy-docker-compose
Run the Omnigent server as a Docker compose stack (server + Postgres) on any Docker host — your laptop, a VPS, EC2 by hand, or as the base layer of any container-platform deploy. Invoke when the user wants to build the image, bring up the compose stack, debug the stack on a host they already have, or extend the stack…
plan-validate
Deterministic plan.json validation via Python script, replacing most plan-validator agent calls. Performs JSON parsing, schema validation, task checkbox regex, required section checks, sync validation, and data extraction. Only semantic consistency checks (storage/query alignment) require the LLM agent. Triggers on…
opik-optimizer
Optimize LLM prompts, tools, and agents in Opik using standardized optimizer workflows (prompt optimization, tool optimization, and parameter tuning), dataset/metric wiring, and result interpretation.
graincrawl
Maintain, verify, and release graincrawl, the local-first Granola archive CLI, including SQLite archive behavior, read-only Granola source boundaries, Homebrew tap packaging, and crawlkit-powered TUI/snapshot surfaces.
code-review
Review ServiceNow server-side scripts for ES5 violations, ACL/injection/XSS issues, N+1 queries, missing setLimit/error handling, hard-coded sysids, and business-rule recursion risks.