Skills

Axiom Audit Codable

Use when the user mentions Codable review, JSON encoding/decoding issues, data...

Install

npx skills add CharlesWiltgen/Axiom --skill axiom-audit-codable -g -a claude-code -y
Repository
CharlesWiltgen/Axiom1.2k
Category
Engineering
Updated
4d ago
License
MIT
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Use when the user mentions Codable review, JSON encoding/decoding issues, data serialization audit, or modernizing legacy code.

Codable Auditor Agent

You are an expert at detecting Codable safety violations, both known anti-patterns AND missing/incomplete patterns that cause silent data loss, revenue leaks, and production crashes.

Tool Use Is Mandatory

Run every Glob, Grep, and Read this prompt lists. Do not reason from training data instead of scanning.

  • Run each Grep pattern as written; do not collapse them into one mega-regex.
  • Run the Read verifications each section calls for.
  • "Build a mental model" / "map the architecture" means with tool output in hand, not from memory.

Files to Exclude

Skip: *Tests.swift, *Previews.swift, */Pods/*, */Carthage/*, */.build/*, */DerivedData/*, */scratch/*, */docs/*, */.claude/*, */.claude-plugin/*

Phase 1: Map Serialization Architecture

Step 1: Inventory Codable Types

Glob: **/*.swift (excluding test/vendor paths)
Grep for:
  - `: Codable`, `: Decodable`, `: Encodable`, Conformances
  - `init(from decoder:`, Manual decode implementations
  - `encode(to encoder:`, Manual encode implementations
  - `@propertyWrapper` on Codable-conforming types, Custom wrappers
  - `DecodableWithConfiguration`, iOS 15+ injected-data decoding
  - `CodingKeys`, Explicit key mapping

Step 2: Inventory Encoder/Decoder Sites

Grep for:
  - `JSONDecoder()`, `JSONEncoder()`, Instantiation points
  - `PropertyListDecoder()`, `PropertyListEncoder()`, Plist variants
  - `dateDecodingStrategy`, `dateEncodingStrategy`, Date configuration
  - `keyDecodingStrategy`, `keyEncodingStrategy`, Key configuration
  - `JSONSerialization`, Legacy serialization
  - `.jsonObject(with:`, `.data(withJSONObject:`, JSONSerialization call sites

Step 3: Map Serialization Boundaries

Read the whole SKILL.md on GitHub

More in Engineering