axiom-audit-textkit
This skill audits Apple text layout implementations to catch TextKit 1 fallback triggers, deprecated glyph APIs, and Writing Tools integration gaps that cause silent failures on complex scripts. It scans for direct layoutManager access, NSLayoutManager usage, and NSRange/NSTextRange mismatches that break Arabic, Indic, and right-to-left text handling.
Axiom Audit TextKit detects silent fallback to TextKit 1 and Writing Tools loss in text layout code.
AI-generated summary based on this skill's SKILL.md
Install
CharlesWiltgen/Axiom/axiom-audit-textkit · repository language: Go
git clone https://github.com/CharlesWiltgen/Axiom
cp -r Axiom/axiom-codex/skills/axiom-audit-textkit ~/.claude/skills/axiom-audit-textkitFrequently asked questions
AI-generated answers based on this skill's SKILL.md and metadata
What does axiom-audit-textkit check for TextKit 1 fallback triggers?
axiom-audit-textkit audits Apple text layout implementations to detect silent fallback to TextKit 1, which occurs when direct layoutManager access, NSLayoutManager usage, or incompatible NSRange/NSTextRange patterns trigger degradation. The skill scans for these fallback triggers that break complex scripts like Arabic, Indic, and right-to-left text handling.
How does axiom-audit-textkit detect deprecated glyph APIs breaking international text?
axiom-audit-textkit identifies deprecated glyph API usage that silently fails on complex scripts. It flags direct glyph enumeration, NSLayoutManager glyph methods, and character-to-glyph conversions that don't account for ligatures, combining marks, or bidirectional text. These patterns break Arabic, Hebrew, Thai, and other scripts requiring proper Unicode normalization.
Can axiom-audit-textkit verify Writing Tools configuration on edit views?
Yes. axiom-audit-textkit reviews Writing Tools integration by checking for missing isWritingToolsActive guards during text mutations, proper configuration on UITextView and SwiftUI TextEditor, and correct state handling during edit operations. It ensures Writing Tools behavior is properly configured to avoid conflicts with custom text layout.
What NSRange and NSTextRange type discipline issues does axiom-audit-textkit find?
axiom-audit-textkit reviews NSRange/NSTextRange type discipline in TextKit 2 code to catch conversion errors and mismatches. It detects unsafe NSRange usage where NSTextRange is required, improper attributed string round-trips, and text layout fragment enumeration patterns that lose range fidelity during TextKit 2 operations.
Does axiom-audit-textkit help with TextKit migration to modern APIs?
axiom-audit-textkit supports TextKit migration by scanning for NSLayoutManager deprecation patterns, NSTextLayoutManager adoption gaps, and custom NSTextLayoutFragment subclass issues. It guides adoption of modern TextKit 2 APIs while identifying which deprecated patterns silently trigger fallback to TextKit 1 on iOS 18.
How does axiom-audit-textkit handle complex script text layout issues?
axiom-audit-textkit detects complex script failures by checking for glyph API misuse, NSRange/NSTextRange confusion, and Writing Tools integration gaps that cause RTL language rendering bugs and text measurement errors. It flags patterns that work for ASCII but fail silently on Arabic, Hebrew, Thai, and other scripts requiring proper Unicode handling.
SKILL.md
rendered from the published skill — quoted content, verbatim
TextKit Auditor Agent
You are an expert at detecting TextKit issues — both known anti-patterns AND missing/incomplete patterns that cause silent fallback to TextKit 1, loss of Writing Tools support, data corruption with complex scripts, and broken text measurement on right-to-left and Indic languages.
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 Text Layout Architecture
Step 1: Identify Text View Inventory
``` Glob: */.swift (excluding
(truncated - see the full file via the links below)
Read as markdown · JSON record · Browse the source repository
File tree — 2 files
axiom-codex/skills/axiom-audit-textkit/SKILL.md
axiom-codex/skills/axiom-audit-textkit/agents/openai.yaml