Agent skill · Audited from source

axiom-integration

skill · charleswiltgen/axiomMIT licenceAudited 28 Oct 2026 · source 2a84b9c2c3eb

★ 1,231pushed today
!CAUTIONGrade C · 79/100 · 11 findings · 2a84b9c
1,231repo stars · whole charleswiltgen/axiom

Is it safe? With care — CAUTION, grade C (79/100). We read this skill's source at commit 2a84b9c2c3eb and found no filesystem, network or shell access and no hard-coded secrets. The audit raised 11 findings, 1 critical or high. What it does: Use when work crosses into Apple's system surfaces rather than your own UI or data — Siri and Shortcuts, widgets, Live Activities, in-app purchase, localization, privacy prompts, alarms, timers, calendar, reminders,…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “axiom-integration (charleswiltgen/axiom)”. Retrieved 28 Oct 2026. https://modelsatlas.com/skills/charleswiltgen/axiom-integration

Trust audit

Audit 0.4.1 · source read 28 Oct 2026

Trust score79/100!CAUTION C
0 critical1 high0 medium10 low0 info

CAUTION means the audit found things worth knowing before you trust this skill. Grade C is shared by 84 of 14,816 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeNA0
L2 InstructionsPrompt injection, authority framing, hidden directivesFAIL11
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: instruction override, no behavioural pass.

Findings (11)

HIGHPrompt injectionprompt.override · skills/background-assets-ref.md:809
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
Runs a local HTTPS mock server for testing asset packs without uploading. Requires Developer Mode enabled on test devices.
Why
asks the agent to drop prior instructions or safety
Fix
remove the instruction
LOWPrompt injectionprompt.authority_framing · skills/contacts.md:49
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
"Full access" [shape=box, label="Full Access\nCNContactStore\nRead/write all contacts"];
Why
No further detail recorded for this rule.
Fix
—
LOWPrompt injectionprompt.authority_framing · skills/contacts.md:58
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
"Read entire contact database?" -> "Full access" [label="yes, core feature"];
Why
No further detail recorded for this rule.
Fix
—
LOWPrompt injectionprompt.authority_framing · skills/contacts.md:72
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
User selected specific contacts to share. Your app sees only those contacts via `CNContactStore`. The API surface is identical to full access — only the visible contacts differ.
Why
No further detail recorded for this rule.
Fix
—
LOWPrompt injectionprompt.authority_framing · skills/contacts.md:76
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
### Full Access
Why
No further detail recorded for this rule.
Fix
—
LOWPrompt injectionprompt.authority_framing · skills/contacts.md:78
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
Read/write access to all contacts. Users must explicitly choose "Full Access" in the two-stage prompt. Reserve this for apps where contacts are the core feature.
Why
No further detail recorded for this rule.
Fix
—
LOWPrompt injectionprompt.transfer_instruction · skills/callkit-livecommunicationkit-ref.md:132
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
// credentials.token — send to your server
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
LOWPrompt injectionprompt.transfer_instruction · skills/extensions-widgets-ref.md:744
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
2. Adopt `WidgetPushHandler` and send the token to your server from `pushTokenDidChange(_:widgets:)`.
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
LOWPrompt injectionprompt.transfer_instruction · skills/extensions-widgets-ref.md:746
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
4. Send the WidgetKit push notification from your server to APNs with the tokens.
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
LOWPrompt injectionprompt.transfer_instruction · skills/extensions-widgets-ref.md:752
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
// Send pushInfo.token and subscription info to your remote notification server
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
LOWPrompt injectionprompt.transfer_instruction · skills/live-activities.md:94
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
**Phase 2 — per-activity push (`.token`).** Each activity has a unique push token; send it to your server and push updates to APNs. Right when each viewer needs *different* data (your delivery, your r
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine

Audit 0.4.1 · source sha 2a84b9c2c3eb · 28 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publishercharleswiltgen GitHub userOwner of the repository this skill is read from
  • Source foldercharleswiltgen/axiom/axiom-codex/skills/axiom-integrationThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdict2a84b9c2c3ebA new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Use when work crosses into Apple's system surfaces rather than your own UI or data — Siri and Shortcuts, widgets, Live Activities, in-app purchase, localization, privacy prompts, alarms, timers, calendar, reminders,…

---
name: axiom-integration
description: Use when work crosses into Apple's system surfaces rather than your own UI or data — Siri and Shortcuts, widgets, Live Activities, in-app purchase, localization, privacy prompts, alarms, timers, calendar, reminders, contacts, SharePlay, VoIP and CallKit, accessory pairing, weather, Spotlight indexing, background tasks, Background Assets, push, or push on networks with no internet.
license: MIT
---

# iOS System Integration

**You MUST use this skill for ANY iOS system integration including Siri, Shortcuts, widgets, in-app purchases, background tasks, push notifications, and more.**

<!-- AXIOM_AUDITOR_INLINE_BEGIN — rewritten for Codex by scripts/build-codex.ts; do not hand-edit -->
> **Auditors are skills here.** Where this router says "Launch `some-auditor` agent", invoke the
> matching Codex skill instead — same procedure, no Claude Code agent required.
>
> Available: `axiom-audit-iap`, `axiom-scan-security-privacy`.
>
> The ones that shell out — builds, tests, simulators, crash symbolication — need shell access to run.
<!-- AXIOM_AUDITOR_INLINE_END -->

## Quick Reference

| Symptom / Task | Reference |
|----------------|-----------|
| Siri, App Intents, entity queries (audio apps → `skills/siri-audio.md`) | See `skills/app-intents-ref.md` |
| Siri playback in an audio app ("play X in MyApp"), `.audio.*` schemas, `AudioSearch`, `INPlayMediaIntent` | See `skills/siri-audio.md` |
| Audio schema members, parameters, enum cases, build errors; SiriKit media setup and authorization | See `skills/siri-audio-ref.md` |
| Any schema domain's required parameters, properties, enum cases, return types, deprecated schemas; `Missing required parameter`/`property` and other schema build errors | See `skills/app-schemas-ref.md` |
| Notes, to-do, or list app and Siri — SiriKit Lists/Notes (`INAddTasksIntent`, `INCreateNoteIntent`) deprecated in 27, `.notes.*`/`.reminders.*` schemas, watchOS | See `skills/siri-notes-reminders.md` |
| Siri audio playback fails — "I can't play that", "hasn't added support for that with Siri", works only while the app is open, duplicate results | See `skills/siri-audio-diag.md` |
| App Shortcuts, phrases, Spotlight | See `skills/app-shortcuts-ref.md` |
| App discoverability strategy | See `skills/app-discoverability.md` |
| Core Spotlight indexing | See `skills/core-spotlight-ref.md` |
| LLM search over app content, SpotlightSearchTool | See `skills/core-spotlight-ref.md` |
| Widgets, Control Center controls | See `skills/extensions-widgets.md` |
| Widget API reference | See `skills/extensions-widgets-ref.md` |
| Live Activities, Dynamic Island, push-to-start, broadcast | See `skills/live-activities.md` |
| Live Activities / ActivityKit API reference | See `skills/live-activities-ref.md` |
| Apple Pay (physical goods, services, donations) | **Use `axiom-payments` instead** |
| In-app purchases, subscriptions | See `skills/in-app-purchases.md` |
| StoreKit 2 API reference | See `skills/storekit-ref.md` |
| Commitment billing plans, subscription bundles/suites, group/volume subscriptions, retention offers, offer codes | See `skills/storekit-ref.md` |
| In-game content (Unity plug-ins, asset packs + IAP) | See `skills/in-app-purchases.md`, `skills/background-assets.md` |
| The system Calendar and Reminders stores (EventKit) | See `skills/eventkit.md` |
| EventKit API reference | See `skills/eventkit-ref.md` |
| Contacts, contact picker | See `skills/contacts.md` |
| Contacts API reference | See `skills/contacts-ref.md` |
| Localization, String Catalogs | See `skills/localization.md` |
| Apple terminology matching, glossary, pseudolocalization, TMS | See `skills/localization-research-ref.md` |
| Privacy manifests, permissions UX | See `skills/privacy-ux.md` |
| Bluetooth/Wi-Fi accessory pairing (AccessorySetupKit, iOS 18+) | See `skills/accessorysetupkit.md` |
| AccessorySetupKit API (descriptor fields, events, auth-settings flow) | See `skills/accessorysetupkit-ref.md` |
| Measure distance/direction to a paired accessory (Bluetooth Channel Sounding, iOS 27) | See `skills/accessorysetupkit-ref.md` (Part 7) |
| Weather data, forecasts, attribution (WeatherKit) | See `skills/weatherkit.md` |
| VoIP calls, CallKit, VoIP push, caller ID/blocking | See `skills/callkit-livecommunicationkit.md` |
| CallKit / LiveCommunicationKit / IdentityLookup API reference | See `skills/callkit-livecommunicationkit-ref.md` |
| SharePlay, GroupActivities, shared sessions, spatial Personas | See `skills/shareplay.md` |
| GroupActivities API reference (GroupSession, messenger, journal) | See `skills/shareplay-ref.md` |
| SharePlay coordinated audio/video playback | Use axiom-media (`skills/shareplay-playback.md`) instead |
| Suggested actions for a messaging conversation (`SuggestedActionsView`, `com.apple.developer.suggested-actions` entitlement, `OS27`) | Use axiom-ai (skills/suggested-actions.md) instead — Apple-Intelligence-backed; the entitlement/capability is the integration half |
| AlarmKit (iOS 26+) | See `skills/alarmkit-ref.md` |
| Timer patterns, scheduling | See `skills/timer-patterns.md` |
| Timer API reference | See `skills/timer-patterns-ref.md` |
| Background tasks, BGTaskScheduler | See `skills/background-processing.md` |
| Background task debugging | See `skills/background-processing-diag.md` |
| Background task API reference | See `skills/background-processing-ref.md` |
| Background Assets (large content delivery, FM adapter shipping, Apple-hosted vs server-hosted) | See `skills/background-assets.md` |
| Background Assets API reference (incl. localized asset packs, Steam conversion) | See `skills/background-assets-ref.md` |
| On-Demand Resources migration (deprecated in 27) | See `skills/background-assets.md` |
| Push notifications, APNs | See `skills/push-notifications.md` |
| Push notification debugging | See `skills/push-notifications-diag.md` |
| Push notification API reference | See `skills/push-notifications-ref.md` |
| Push without 

Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 2a84b9c

Download folder ↗
git clone https://github.com/charleswiltgen/axiom
git -C axiom checkout 2a84b9c2c3eb

The author documents no install command, so this uses the repository directly. Our verdict covers commit 2a84b9c2c3eb only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
CodexMentioned in its text, not testedSkills for Codex · About Codex
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. !CAUTION C 79 / 100

    first audit · source 2a84b9c2c3eb

README badge

For maintainers · shows the latest audit

ModelsAtlas: CAUTION CMODELSATLASCAUTION · C
[![ModelsAtlas: CAUTION C](https://modelsatlas.com/skills/charleswiltgen/axiom-integration/badge.svg)](https://modelsatlas.com/skills/charleswiltgen/axiom-integration/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

Add this badge to your README

[![ModelsAtlas: CAUTION C](https://modelsatlas.com/skills/charleswiltgen/axiom-integration/badge.svg)](https://modelsatlas.com/skills/charleswiltgen/axiom-integration/)

Questions about axiom-integration

What does the axiom-integration skill do?
Battle-tested Claude Code skills for modern xOS (iOS, iPadOS, watchOS, tvOS) development
Is axiom-integration safe to install?
With care. The audit graded it C (79/100) and found 11 things worth knowing before you trust this skill, listed below with the exact line each was found on.
What can axiom-integration access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does axiom-integration work with?
Its documentation mentions claude-code and codex. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (2a84b9c2c3eb), read on 2026-10-28. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.