# Axiom Audit Codable

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

- Repository: https://github.com/CharlesWiltgen/Axiom (1242 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add CharlesWiltgen/Axiom --skill axiom-audit-codable -g -a claude-code -y`
Codex: `npx skills add CharlesWiltgen/Axiom --skill axiom-audit-codable -g -a codex -y`
Cursor: `npx skills add CharlesWiltgen/Axiom --skill axiom-audit-codable -g -a cursor -y`
Gemini CLI: `npx skills add CharlesWiltgen/Axiom --skill axiom-audit-codable -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add CharlesWiltgen/Axiom`

## Description

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

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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

The rest: https://github.com/CharlesWiltgen/Axiom/blob/HEAD/axiom-codex/skills/axiom-audit-codable/SKILL.md
