prisma-labs-dev/apple-skills/core-animation
- community
Checking that the SKILL.md file is still in the repository.
API reference: Core Animation (QuartzCore). Query for CALayer, CAAnimation, CABasicAnimation, CAKeyframeAnimation, CASpringAnimation, CATransaction, CAShapeLayer, CAGradientLayer, CAEmitterLayer, CATransform3D, CADisplayLink.
Install
npx vskill@latest install prisma-labs-dev/apple-skills/core-animationSKILL.md
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:
- Summary — answer the question concisely.
- File paths — list relevant files for full details, e.g.:
calayer.mdfor layer geometry, contents, hierarchycabasicanimation.mdfor animating a single property between two valuescatransaction.mdfor 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
CADisplayLinkper-frame callback (custom drawing loops, scrubbing, physics). - You're rendering thousands of particles with
CAEmitterLayeror replicating sublayers withCAReplicatorLayer.
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
- Search this skill's local
.mdfiles first. - If the topic is not here, check the other installed Apple skills, then grep their local files.
- If no installed skill has the page, the QuartzCore path on Apple's site is
/documentation/quartzcore/<symbol>— fetch via thesosumi.aiMarkdown mirror (e.g.https://sosumi.ai/documentation/quartzcore/camediatimingfunction) or by runningpnpm fetch-docagainst the apple-skills tooling.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/core-animation/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/prisma-labs-dev/apple-skills/core-animation)