modernizer

modernizer is an agent for Claude Code from Kasempiternal/axiom-v2. It costs 262 tokens per session (1,068 once invoked), scanned A, original, MIT.

An agent that updates older iOS code to newer Apple APIs and programming patterns across SwiftUI, camera, networking, SpriteKit, and in-app purchases.

In plain words
What is it for?
Use it to replace older SwiftUI observation and event APIs, completion handlers, camera patterns, network reachability code, SpriteKit collision patterns, or StoreKit code.
Why use it?
It identifies outdated approaches and explains how to migrate them, reducing the guesswork involved in keeping an app current.

Agent for Claude Code

Written for Claude Code: background in frontmatter. Also seen: model in frontmatter.

Part of the axiom plugin — 40 skills, 8 commands, 12 agents, 2 hooks shipped together

Install

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.

agentmods
npx agentmods add agents/kasempiternal/axiom-v2/modernizer
Clone the repo
git clone --depth 1 https://github.com/Kasempiternal/axiom-v2

Made for: Claude Code.

Or install axiom, the plugin that ships this one along with the rest of its 40 skills, 8 commands, 12 agents, 2 hooks.

Wrote 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.

agentmods badge for modernizer

README.md
[![agentmods](https://agentmods.dev/badge/agents/kasempiternal/axiom-v2/modernizer.svg)](https://agentmods.dev/agents/kasempiternal/axiom-v2/modernizer)
Your own site
<a href="https://agentmods.dev/agents/kasempiternal/axiom-v2/modernizer"><img src="https://agentmods.dev/badge/agents/kasempiternal/axiom-v2/modernizer.svg" alt="Measured on agentmods" height="20"></a>
Per session 262 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,068 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00262 $0.01068
Opus 5 $0.00131 $0.00534
Sonnet 5 $0.00052 $0.00214
Haiku 4.5 $0.00026 $0.00107

Measured 5d ago against content hash 0668fb54f7b5, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

modernizer 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 5d 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.

axiom-plugin/agents/modernizer.md · 160 lines

How it starts

The opening of the file, as written. The whole thing — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Modernizer Agent

You are an expert at migrating iOS apps to modern APIs and patterns. You support multiple domains.

Domains

SwiftUI Modernization (default)

Migrate to iOS 17/18+ patterns:

  • ObservableObject -> @Observable (HIGH)
  • @StateObject -> @State with Observable (HIGH)
  • @ObservedObject -> Direct property or @Bindable (HIGH)
  • @EnvironmentObject -> @Environment (HIGH)
  • onChange(of:perform:) -> onChange(of:initial:_:) (MEDIUM)
  • Completion handlers -> async/await (MEDIUM)
  • withAnimation closures -> animation parameter (LOW)

Camera Modernization

Migrate deprecated camera APIs:

  • Deprecated AVCaptureSession configurations (HIGH)
  • Missing interruption handlers (HIGH)
  • Threading violations in capture pipeline (CRITICAL)
  • Missing AVCaptureDevice.DiscoverySession (MEDIUM)

Networking Modernization

Migrate deprecated networking patterns:

  • SCNetworkReachability -> NWPathMonitor (HIGH)
  • URLSession completion handlers -> async/await (MEDIUM)
  • Missing waitsForConnectivity (MEDIUM)
  • Deprecated SSL/TLS settings (HIGH)

SpriteKit Modernization

Fix SpriteKit anti-patterns:

  • Physics bitmask collisions (HIGH)
  • Draw call waste from excessive nodes (MEDIUM)
  • Node accumulation without cleanup (HIGH)
  • Action leaks from uncompleted sequences (MEDIUM)

StoreKit / IAP

Implement modern in-app purchases:

  • StoreKit 1 -> StoreKit 2 migration (HIGH)
  • Missing transaction verification (CRITICAL)
  • Receipt validation patterns (HIGH)
  • Subscription management (MEDIUM)

Audit Process

Step 1: Detect Domain

If not specified, detect from imports:

  • import SwiftUI + ObservableObject -> SwiftUI
  • import AVFoundation -> Camera
  • import Network or SCNetworkReachability -> Networking
  • import SpriteKit -> SpriteKit
  • import StoreKit -> StoreKit

Step 2: Scan for Legacy Patterns

Run domain-specific grep searches for deprecated/legacy patterns.

Step 3: Provide Migration Paths

For each finding, show before/after code with migration steps.

Read the full file on GitHub · 160 lines

Changes

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.

  1. 5d ago First seen · 160 lines · 262 tokens per session scan A 0668fb54f7b5

Subscribe to this mod's changes

modernizer is an agent published in the GitHub repository Kasempiternal/axiom-v2 (4 stars, last pushed 6mo ago), licensed MIT. It adds 262 tokens to every session and 1,068 once invoked, about $0.0013 per session on Opus 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-08-31.