core-animation — скилл для Claude Code: справка по QuartzCore
Скилл помогает агенту находить справку по Core Animation и отвечать на вопросы о слоях и анимациях. Пригодится, когда нужен явный контроль над свойствами CALayer или кадрами анимации.
npx skills add Prisma-Labs-Dev/apple-skills --skill core-animation -a claude-codeЧто делает core-animation
Скилл ищет сведения в документации QuartzCore и помогает разобраться с CALayer, ключевыми и пружинными анимациями, транзакциями, градиентами, частицами и CADisplayLink. Внутри — индекс и отдельные Markdown-файлы по классам и протоколам, например cabasicanimation.md и catransaction.md. В ответ агент должен включить краткое резюме и пути к подходящим файлам.
Это справка для работы с Core Animation напрямую: например, для анимации CAShapeLayer.strokeEnd или управления частицами через CAEmitterLayer. Если задача укладывается в withAnimation в SwiftUI или UIView.animate в UIKit, в описании скилла предпочтение отдано этим API. Для SwiftUI-анимаций советуют использовать отдельный скилл swiftui-specialist, а не эту справку.
Какие задачи решает
- найти документацию по свойствам и иерархии
CALayer - выбрать класс для ключевой или пружинной анимации
- разобраться с отключением неявной анимации через
CATransaction - настроить частицы или покадровый вызов через
CADisplayLink
Примеры запросов агенту
- Объясни, как анимировать
CAShapeLayer.strokeEnd, и укажи нужные файлы справки. - Подскажи, как отключить неявные анимации при изменении свойств слоя.
- Чем
CASpringAnimationотличается отCAKeyframeAnimationдля анимации свойства слоя?
Как установить core-animation
1Через Skills CLI (Vercel)
npx skills add Prisma-Labs-Dev/apple-skills --skill core-animation -a claude-code2Вручную: положить файлы
~/.claude/skills/core-animation/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/core-animation/
1Через Skills CLI (Vercel)
npx skills add Prisma-Labs-Dev/apple-skills --skill core-animation -a codex2Вручную: положить файлы
.agents/skills/core-animation/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Prisma-Labs-Dev/apple-skills --skill core-animation -a cursor2Вручную: положить файлы
.cursor/skills/core-animation/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Prisma-Labs-Dev/apple-skills core-animation2Вручную: положить файлы
.github/skills/core-animation/SKILL.md1Через Skills CLI (Vercel)
npx skills add Prisma-Labs-Dev/apple-skills --skill core-animation -a gemini-cli2Командой платформы
gemini skills install https://github.com/Prisma-Labs-Dev/apple-skills --path skills/core-animationВручную: положить файлы
.devin/skills/core-animation/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Prisma-Labs-Dev/apple-skills --skill core-animation -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о core-animation
Как установить core-animation в Claude Code?
Выполните npx skills add Prisma-Labs-Dev/apple-skills --skill core-animation -a claude-code. Файл скилла находится по пути ~/.claude/skills/core-animation/SKILL.md.
Что делает core-animation?
Ищет справку по QuartzCore и помогает отвечать на вопросы о слоях, анимациях и связанных классах. В ответ включает краткое резюме и пути к полезным файлам.
Подходит ли core-animation для анимаций SwiftUI?
Для декларативной анимации SwiftUI с withAnimation, Animation и переходами скилл советует обратиться к swiftui-specialist. Core Animation предназначен для прямой работы с QuartzCore.
Исходный текст
SKILL.md · MIT
---
name: core-animation
user-invocable: true
description: "API reference: Core Animation (QuartzCore). Query for CALayer, CAAnimation, CABasicAnimation, CAKeyframeAnimation, CASpringAnimation, CATransaction, CAShapeLayer, CAGradientLayer, CAEmitterLayer, CATransform3D, CADisplayLink."
context: fork
agent: Explore
---
# Core Animation Reference
Search these docs to answer questions about Core Animation (the QuartzCore framework). Use this skill when working directly with `CALayer`, layer-backed UIKit/AppKit views, explicit keyframe or spring animations on layer properties, particle systems, or per-frame callbacks via `CADisplayLink`.
For SwiftUI's declarative animation API (`withAnimation`, `Animation`, `.animation(_:value:)`, transitions), use Apple's `swiftui-specialist` skill (its animations reference) instead. For SwiftUI immediate-mode drawing, use `swiftui/canvas.md` and `swiftui/graphicscontext.md`.
## Return Format
Always include:
1. **Summary** — answer the question concisely.
2. **File paths** — list relevant files for full details, e.g.:
- `calayer.md` for layer geometry, contents, hierarchy
- `cabasicanimation.md` for animating a single property between two values
- `catransaction.md` for batching, disabling implicit animations, or changing default duration
## Files
| File | Content |
|------|---------|
| `core-animation-index.md` | Full QuartzCore framework index — layer basics, animation classes, transactions, layer subclasses |
| `calayer.md` | `CALayer` — the root layer class: geometry, contents, hierarchy, layout, animations |
| `caanimation.md` | `CAAnimation` — abstract base class for all Core Animation animation types |
| `capropertyanimation.md` | `CAPropertyAnimation` — abstract subclass animating a single layer property |
| `cabasicanimation.md` | `CABasicAnimation` — interpolate a layer property between two values |
| `cakeyframeanimation.md` | `CAKeyframeAnimation` — animate a property through a sequence of keyframes |
| `caspringanimation.md` | `CASpringAnimation` — spring-based interpolation with mass, stiffness, damping |
| `caanimationgroup.md` | `CAAnimationGroup` — run multiple animations together with a shared duration |
| `catransition.md` | `CATransition` — fade, push, reveal, and move-in transitions between layer states |
| `camediatiming.md` | `CAMediaTiming` — protocol shared by layers and animations (beginTime, duration, repeat, speed) |
| `catransaction.md` | `CATransaction` — batch property changes, disable implicit animations, set default duration/timing |
| `catransform3d.md` | `CATransform3D` — 4×4 matrix used by `CALayer.transform` for 3D transforms |
| `cashapelayer.md` | `CAShapeLayer` — vector-shape layer driven by a `CGPath` (stroke, fill, line dash) |
| `cagradientlayer.md` | `CAGradientLayer` — axial, radial, and conic gradient layers |
| `caemitterlayer.md` | `CAEmitterLayer` — particle emitter layer (fire, smoke, confetti, sparkles) |
| `caemittercell.md` | `CAEmitterCell` — individual particle definition used by `CAEmitterLayer` |
| `careplicatorlayer.md` | `CAReplicatorLayer` — replicate a sublayer with offsets and transforms |
| `cametallayer.md` | `CAMetalLayer` — layer backed by a Metal drawable for GPU-rendered content |
| `catextlayer.md` | `CATextLayer` — layer that renders plain or attributed text |
| `catiledlayer.md` | `CATiledLayer` — tile-based asynchronous content rendering for large or zoomable layers |
| `cadisplaylink.md` | `CADisplayLink` — timer synchronized to the display's refresh rate |
## When to Reach for Core Animation
- You need to animate a layer property SwiftUI/UIKit doesn't expose declaratively (e.g., `CAGradientLayer.colors`, `CAShapeLayer.strokeEnd`, `CAEmitterLayer.birthRate`).
- You need explicit keyframe or spring control with timing functions (`CAMediaTimingFunction`) per segment.
- You want to batch implicit animations off (`CATransaction.setDisableActions(true)`).
- You need a `CADisplayLink` per-frame callback (custom drawing loops, scrubbing, physics).
- You're rendering thousands of particles with `CAEmitterLayer` or replicating sublayers with `CAReplicatorLayer`.
If your problem fits inside `withAnimation { ... }` in SwiftUI or `UIView.animate { ... }` in UIKit, prefer those — Core Animation sits underneath both and is rarely the right starting point in 2026-era code.
## Fetching More Docs
1. Search this skill's local `.md` files first.
2. If the topic is not here, check the other installed Apple skills, then grep their local files.
3. If no installed skill has the page, the QuartzCore path on Apple's site is `/documentation/quartzcore/<symbol>` — fetch via the `sosumi.ai` Markdown mirror (e.g. `https://sosumi.ai/documentation/quartzcore/camediatimingfunction`) or by running `pnpm fetch-doc` against the apple-skills tooling.
© Prisma-Labs-Dev · MIT · Prisma-Labs-Dev/apple-skills