artemnovichkov
- 20 skills
- 0 followers
- 12 hours ago last updated
- ▌ Swiftui Specialist · artemnovichkov bundleAuthoritative SwiftUI best practices and performance guidance from Apple; supersedes prior training on these topics. For code generation, consult the relevant references when generating any SwiftUI code related to: - animation (the @Animatable macro vs AnimatableValues vs AnimatablePair, and custom animatableData setter logic) - Environment and @Entry (closure or class-typed defaults, unstable defaults, high-frequency updates) - @Observable best practices and efficient invalidation - ForEach and List row identity and structure (id: \.self, indices, offsets, AnyView or multi-view rows, inline filter/sort, cached collections, List fast path) - localization (String vs LocalizedStringResource, the right bundle in packages and frameworks, .textCase, .formatted(.list()), translator comments) - soft-deprecated APIs such as NavigationView and the old onChange, and when to surface them during feature work.
- ▌ Swiftui Whats New 27 · artemnovichkov bundleNew SwiftUI APIs, behaviors, and deprecations in the 2027 OS releases (iOS 27 and aligned macOS/watchOS/tvOS/visionOS). Consult when asked what's new in SwiftUI 27, or when working with: - @State compile errors after an SDK update ("used before being initialized", "invalid redeclaration of synthesized property") or @State becaming a macro - @ViewBuilder/@ContentBuilder ambiguous overloads or type-check regressions; drag-to-reorder in any container (List, stacks, grids, custom layouts) via reorderable()/reorderContainer and its drag-and-drop - AsyncImage caching, reloading on scroll, or a custom URLSession - Swipe actions outside List (ScrollView, LazyVStack, LazyVGrid) via swipeActions()/swipeActionsContainer() - Toolbar overflow, visibility (visibilityPriority, ToolbarOverflowMenu, toolbarMinimizeBehavior), and pinning - Presenting a confirmationDialog or alert from an optional item binding
- ▌ App Intents Specialist · artemnovichkov bundleAuthoritative App Intents best practices from Apple. Consult for any App Intents best-practices or correctness review, and when writing, reviewing, refactoring, or extending App Intents code. Supersedes prior training on these topics. For code generation, consult the relevant reference when working on any of the following: - execution-model: perform() is Sendable, not @MainActor (hop with await MainActor.run); it's retriable (restartPerform), so do irreversible work last; requestConfirmation before destructive work; return via .result(...) factories, never a bare value. - entities-and-queries: AppEntity.id must be stable across launches/devices; entities(for:) (batched) vs empty-default suggestedEntities(); EntityStringQuery.entities(matching:) is not auto-filtered; only @Property members are system-visible; EnumerableEntityQuery loads all (use EntityPropertyQuery for large stores). - entity-property-queries: EntityPropertyQuery for Shortcuts "Find X where…" — properties/sortingOptions/comparators; you execut
- ▌ Uikit App Modernization · artemnovichkov bundleModernizes UIKit apps for multi-window environments by replacing legacy shared-state APIs with context-appropriate modern alternatives. This includes references to mainScreen, interfaceOrientation, application and scene lifecycle, as well as safe area inset updates.
- ▌ App Intents Whats New 27 · artemnovichkov bundleNew App Intents APIs, behaviors, and deprecations introduced in the iOS 26 (2025) and iOS 27 (2026) releases (and their macOS/watchOS/tvOS/visionOS siblings). Use when adopting, migrating to, or asked about: declaring where an intent runs with supportedModes / IntentModes (.background / .foreground) or migrating off the deprecated openAppWhenRun; pulling a background run into the foreground with continueInForeground / needsToContinueInForegroundError; UndoableIntent; asking the person to pick from a small set mid-perform with requestChoice / IntentChoiceOption; cancelling with CancellableIntent / IntentCancellationReason; long-running or background work with LongRunningIntent / performBackgroundTask; restricting where an intent runs with IntentExecutionTargets / allowedExecutionTargets; returning interactive snippets with SnippetIntent and Button(intent:); Visual Intelligence camera/onscreen search with IntentValueQuery + SemanticContentDescriptor (import VisualIntelligence) + @UnionValue; associating onscree
- ▌ Adopt C Bounds Safety · artemnovichkov bundleGuide for the C -fbounds-safety language extension. Covers the language model, pointer annotations, adopting bounds-safety in existing C code, compiler build settings and modes, and runtime debugging of bounds violations.
- ▌ Sdlc · artemnovichkov bundleRun an artifact-driven software lifecycle where each stage commits a markdown artifact that triggers the next - intent.md, spec.md, plan.md, verified diff, reviewed PR, monitored production. Use when the user asks to capture an idea as intent, write a spec, plan before implementing, set up a verification loop, define review policy, add agent-config evals, or wire production alerts back into the loop.
- ▌ Oslog · artemnovichkov bundleRead, stream, and analyze Apple unified logs (OSLog) for iOS/macOS apps. Auto-detects subsystem from Logger usage or bundle identifier. Supports live log show, real-time streaming, and .logarchive analysis with full predicate reference. Use when the user asks to check app logs, stream console output, debug with OSLog, or analyze .logarchive files on iOS/macOS.
- ▌ Crashlytics · artemnovichkov bundleGenerate crash reports from Firebase Crashlytics with automated fix proposals, severity scoring, and developer assignments via git blame. Use when analyzing crashes, triaging production issues, or generating crash triage reports.
- ▌ Design Compare · artemnovichkov bundleCompare Figma designs against implementation screenshots, identifying layout, typography, color, and sizing discrepancies. Generates a structured visual review table and an interactive HTML comparison page with swipe and side-by-side modes. Use when the user asks to compare design with preview, compare Figma with screenshot, check design implementation, or provides a Figma URL alongside a screenshot.
- ▌ Xcodebuild Notify · artemnovichkov bundleSends macOS notifications after xcodebuild commands, showing Build Succeeded or Build Failed with scheme and project info. Mimics Xcode's native build notifications. Auto-triggers on xcodebuild via PostToolUse hook.
- ▌ Translation · artemnovichkov bundleTranslate strings in Xcode String Catalogs (.xcstrings files). Prefer to use the `xcode-skills:translation-coordinator` skill for task-coordination. Use this skill when translating individual strings or working with String Catalogs. Should only be activated when translating a single string or a small batch of known string keys. The `translation-coordinator` skill should be used for anything else.
- ▌ Modernize Tests · artemnovichkovModernize test suites to use modern Swift Testing features or migrate from XCTest.
- ▌ Device Interaction · artemnovichkovVerify app behavior on device or simulator via screenshots, UI hierarchy, and touch interactions.
- ▌ Translation Coordinator · artemnovichkovCoordinates translation of an Xcode project or its String Catalogs (.xcstrings) into other languages. This is the main skill to activate when asked to work on translating strings, adding languages or working with .xcstrings files. Handles the full workflow: preparing the project for a new language, fetching untranslated strings, delegating translation work, and verifying results.
- ▌ Audit Xcode Security Settings · artemnovichkov bundleAudit and enable security-oriented Xcode build settings. Progressively enables compiler warnings, static analyzer checkers, and Enhanced Security features. Use when: user wants to secure their Xcode project, audit security settings, enable hardening, review security posture of build configuration, set up security-focused static analysis, enable static analysis, improve warning coverage, harden diagnostics, or catch more bugs at compile time in C/C++/Objective-C/Swift. SKIP: network security (TLS/ATS), code signing, privacy APIs.
- ▌ Accessibility Voiceover Specialist · artemnovichkov bundleAudits views for compliance with Apple's VoiceOver accessibility nutrition label. Checks that interactive elements have accessibility labels, labels are human-readable, accessibility traits are correct, images are properly configured, and custom controls are exposed to assistive technologies. Use when the user asks to check VoiceOver support, verify accessibility labels, audit the VoiceOver nutrition label, or review a view for screen reader compatibility.
- ▌ Accessibility Dynamic Type Specialist · artemnovichkov bundleAudits views for compliance with Apple's Dynamic Type accessibility nutrition label. Checks that text scales with the user's preferred size, fonts use text styles or UIFontMetrics, and layouts adapt for accessibility sizes. Use when the user asks to check Dynamic Type support, verify text scaling, or audit the Dynamic Type nutrition label.
- ▌ Accessibility Sufficient Contrast Specialist · artemnovichkovAudits views for compliance with Apple's Sufficient Contrast accessibility nutrition label (WCAG 2.1 contrast ratios). Use when the user asks to check color contrast, audit contrast ratios, verify the Sufficient Contrast nutrition label, or review a view for accessibility.
- ▌ Building Document Based Swiftui Applications · artemnovichkov bundleAuthoritative guide for building and migrating document-based apps in SwiftUI using the Document protocol (iOS 27 and aligned releases, including macOS Golden Gate). Consult when building a new document-based app; implementing open, edit, save, or export document flows; working with DocumentGroup or DocumentGroupLaunchScene; implementing DocumentReader or DocumentWriter; using FileWrapper via FileWrapperDocumentReader or FileWrapperDocumentWriter; working with package documents; accessing a document's file URL directly; reporting progress during read/write; registering undo actions; migrating from FileDocument or ReferenceFileDocument to the new API; building a read-only document viewer; when autosave is not working in a document app; declaring custom UTType as document formats.