← ClaudeAtlas

photoslisted

Route Photos and PhotoKit implementation tasks to the correct Knowledge Contracts -- picking assets with no authorization, requesting library access and its usage-description keys, the limited library, fetching assets, requesting images, and writing to the library. Use when presenting PhotosPicker or PHPickerViewController, configuring PHPickerConfiguration/selectionLimit/PHPickerFilter, reading PHPickerResult.itemProvider or assetIdentifier or PhotosPickerItem, calling PHPhotoLibrary.requestAuthorization(for:) or authorizationStatus(for:), declaring NSPhotoLibraryUsageDescription/NSPhotoLibraryAddUsageDescription, handling PHAuthorizationStatus.limited or presentLimitedLibraryPicker(from:), fetching with PHFetchOptions/PHFetchResult, requesting images through PHImageManager/PHCachingImageManager, or saving with performChanges and PHAssetCreationRequest. v1 is library access, reading, and saving only -- no photo editing (PHContentEditingInput/Output), no PHLivePhotoView, no AVAsset export, and no camera captu
caglarbaranbora/Apple-Agent-Kit · ★ 1 · API & Backend · score 70
Install: claude install-skill caglarbaranbora/Apple-Agent-Kit
# Photos — Foundations Skill ## Purpose Route Photos and PhotoKit implementation tasks to the minimum required Photos Knowledge Contracts. v1 scope is reaching the user's photo library: selecting assets with no permission at all, requesting access when selection is not enough, behaving correctly under limited access, reading assets and their images, and writing new ones — not editing photos, not playing Live Photos or video, and not capturing from the camera. ## Routing Load only the contracts relevant to the task. All paths relative to knowledge/photos/. - Presenting `PhotosPicker` or `PHPickerViewController`; setting `selectionLimit`/`maxSelectionCount` or a `PHPickerFilter`; reading `PHPickerResult.itemProvider`/`assetIdentifier` or a `PhotosPickerItem` -> picker-and-selection-results.md - Calling `PHPhotoLibrary.requestAuthorization(for:handler:)`/`authorizationStatus(for:)`; choosing `PHAccessLevel.addOnly` vs `.readWrite`; declaring `NSPhotoLibraryUsageDescription`/`NSPhotoLibraryAddUsageDescription`; branching on `PHAuthorizationStatus` -> authorization-and-access-levels.md - Handling `PHAuthorizationStatus.limited`; calling `presentLimitedLibraryPicker(from:)`; setting `PHPhotoLibraryPreventAutomaticLimitedAccessAlert` -> limited-library.md - Building a `PHFetchOptions` query; holding or refreshing a `PHFetchResult`; fetching a `PHAssetCollection`'s members; reading where a photo was taken from `PHAsset.location` -> asset-fetching.md - Calling `PHImageM