Problem Routing
Use this page when you know the answer shape but not the exact skill name. If the subsystem is already clear, use the Skills page for topic families instead.
Start Here
Section titled “Start Here”apple-text: Use when the user has an Apple text-system problem but the right specialist skill is not obvious, or when the request mixes multiple text subsystems.apple-text-audit: Use when reviewing Apple text code for TextKit fallback risk, editing lifecycle bugs, deprecated APIs, or Writing Tools breakage.apple-text-recipes: Use when building common text features or looking up quick recipes — background colors, line numbers, character limits, links, placeholders.apple-text-texteditor-26: Use when building rich-text editing with SwiftUI TextEditor on iOS 26+ or evaluating whether it replaces a UITextView wrapper.apple-text-textkit-diag: Use when debugging broken text — stale layout, editing crashes, fallback, Writing Tools issues, or rendering artifacts.apple-text-views: Use when choosing between SwiftUI Text/TextField/TextEditor, UITextView, or NSTextView — capabilities and tradeoffs.
Route By Answer Type
Section titled “Route By Answer Type”Router Skills
Section titled “Router Skills”Broad intake and redirection when the problem is clearly Apple text but still mixed.
Example route: /skill apple-text
apple-text: Use when the user has an Apple text-system problem but the right specialist skill is not obvious, or when the request mixes multiple text subsystems.
Workflow Skills
Section titled “Workflow Skills”Guided scans or integration flows where the steps matter as much as the end state.
Example route: /skill apple-text-audit
apple-text-audit: Use when reviewing Apple text code for TextKit fallback risk, editing lifecycle bugs, deprecated APIs, or Writing Tools breakage.apple-text-recipes: Use when building common text features or looking up quick recipes — background colors, line numbers, character limits, links, placeholders.apple-text-accessibility: Use when implementing VoiceOver, Dynamic Type, or accessibility traits in custom Apple text editors.apple-text-drag-drop: Use when customizing drag and drop in Apple text editors — UITextDraggable, UITextDroppable, drag previews, or custom drop handling.apple-text-find-replace: Use when implementing find and replace in text editors — UIFindInteraction, NSTextFinder, highlighting, or replace-all.apple-text-interaction: Use when customizing selection, edit menus, link taps, gestures, cursor appearance, or long-press actions in text editors.apple-text-pasteboard: Use when handling copy, cut, or paste in text editors — format stripping, rich text sanitization, custom pasteboard types.apple-text-representable: Use when wrapping UITextView or NSTextView in SwiftUI — binding, focus, sizing, cursor preservation, or update loops.apple-text-spell-autocorrect: Use when implementing spell checking, autocorrect, or text completion — UITextChecker, NSSpellChecker, UITextInputTraits.apple-text-undo: Use when implementing or debugging undo/redo in text editors — grouping, coalescing, or NSUndoManager integration.apple-text-writing-tools: Use when integrating Writing Tools — writingToolsBehavior, UIWritingToolsCoordinator, protected ranges, or inline vs panel mode.
Diagnostic Skills
Section titled “Diagnostic Skills”Symptom-first debugging for broken behavior, regressions, and failure analysis.
Example route: /skill apple-text-textkit-diag
apple-text-textkit-diag: Use when debugging broken text — stale layout, editing crashes, fallback, Writing Tools issues, or rendering artifacts.
Decision Skills
Section titled “Decision Skills”Tradeoff questions where the main task is choosing the right approach.
Example route: /skill apple-text-views
apple-text-views: Use when choosing between SwiftUI Text/TextField/TextEditor, UITextView, or NSTextView — capabilities and tradeoffs.apple-text-attributed-string: Use when choosing between AttributedString and NSAttributedString, defining custom attributes, or converting between them.apple-text-layout-manager-selection: Use when choosing between TextKit 1 and TextKit 2, evaluating migration risk, or comparing NSLayoutManager vs NSTextLayoutManager.apple-text-swiftui-bridging: Use when deciding whether a text type or attribute crosses the SwiftUI/TextKit boundary cleanly, or checking interoperability rules.apple-text-appkit-vs-uikit: Use when comparing NSTextView and UITextView capabilities or porting editor behavior between macOS and iOS.apple-text-parsing: Use when deciding between Swift Regex and NSRegularExpression, bridging regex results to NSRange, or choosing a parsing strategy.
Reference Skills
Section titled “Reference Skills”Direct API and behavior reference for users who already know the stack.
Example route: /skill apple-text-texteditor-26
apple-text-texteditor-26: Use when building rich-text editing with SwiftUI TextEditor on iOS 26+ or evaluating whether it replaces a UITextView wrapper.apple-text-exclusion-paths: Use when text needs to wrap around images or shapes, building multi-column text layout, or using exclusion paths, linked containers, and NSTextTable.apple-text-fallback-triggers: Use when debugging or preventing TextKit 2 fallback to TextKit 1 — complete trigger catalog, detection, and recovery.apple-text-layout-invalidation: Use when debugging stale layout or working with ensureLayout, invalidateLayout, or the invalidation model in TextKit 1 and 2.apple-text-measurement: Use when text is clipping, truncating unexpectedly, or when measuring text size, calculating boundingRect, or sizing views to fit text content.apple-text-storage: Use when working with NSTextStorage, NSTextContentStorage, or NSTextContentManager — subclassing, processEditing, or delegate hooks.apple-text-apple-docs: Use when you need official Apple-authored documentation, exact API signatures, or Swift diagnostic explanations from Xcode-bundled docs.apple-text-attachments-ref: Use when embedding images, custom views, Genmoji, or other non-text content inline — NSTextAttachment, view providers, bounds, baseline.apple-text-bidi: Use when handling bidirectional text, RTL languages, writing direction controls, or cursor behavior in Arabic/Hebrew.apple-text-colors: Use when choosing text colors, semantic colors, dark mode adaptation, or wide-color/HDR text across UIKit, AppKit, and SwiftUI.apple-text-core-text: Use when working with Core Text for glyph-level access, custom typesetting, hit testing, font tables, or when TextKit 2 lacks the glyph APIs you need.apple-text-dynamic-type: Use when implementing Dynamic Type scaling, custom font metrics, accessibility sizes, or content size category changes.apple-text-formatting-ref: Use when looking up NSAttributedString.Key values, underline styles, shadows, lists, tables, or view-compatibility rules.apple-text-foundation-ref: Use when using Foundation or NaturalLanguage text utilities — NSRegularExpression, NSDataDetector, NLTagger, NLTokenizer, or NSString bridging.apple-text-input-ref: Use when implementing or debugging UITextInput, UIKeyInput, or NSTextInputClient — marked text, selection UI, custom input.apple-text-line-breaking: Use when configuring line break mode, hyphenation, truncation, line height, paragraph spacing, or tab stops via NSParagraphStyle.apple-text-markdown: Use when working with Markdown in SwiftUI Text or AttributedString — what renders, PresentationIntent, or rendering gaps.apple-text-textkit1-ref: Use when working with TextKit 1 and you need NSLayoutManager, NSTextStorage, or NSTextContainer APIs — glyphs, temporary attributes, multi-container.apple-text-textkit2-ref: Use when working with TextKit 2 and you need NSTextLayoutManager or NSTextContentManager APIs — viewport layout, fragments, rendering attributes.apple-text-viewport-rendering: Use when working with viewport layout, line-fragment geometry, rendering attributes, font substitution, or scroll-driven layout.