LogoAwesome Skills
  • Search
  • Category
  • Tag
  • Blog
LogoAwesome Skills
LogoAwesome Skills

Discover Open-Source Agent Skills for AI Coding Assistants

Product

  • Search
  • Category
  • Tag
  • Blog

Resources

  • Claude Skill Docs
  • Antigravity Skills Docs

Tools

  • Claude Code
  • OpenCode
  • Cursor
  • Codex
  • Antigravity

Company

  • Privacy Policy
  • Terms of Service
  • Sitemap

©2026 Awesome Skills. All rights reserved.

Privacy PolicyTerms
Back to Skills

paperkit

Add drawings, shapes, and a consistent markup experience using PaperKit. Use when integrating PaperMarkupViewController for markup editing, adding shape recognition, working with PaperMarkup data models, embedding markup tools in document editors, or building annotation features that need the system-standard markup toolbar. New in iOS 26.

857stars43forksUpdated 7/9/2026
Developer Tools#ios#annotation#swift#markup#drawing#pencilkit

Security Assessment

Safe(100/100)
Security Score100/100

About paperkit

PaperKit is Apple's unified markup framework, new in iOS/iPadOS 26, macOS 26, and visionOS 26, and the same technology behind markup in Notes, Screenshots, QuickLook, and Journal. The guide explains how to combine PencilKit freeform drawing with structured markup elements (shapes, text boxes, images, and lines) inside a single canvas managed by PaperMarkupViewController, targeting Swift 6.3 and the iOS 26+ SDK with no entitlements or special Info.plist entries required. It documents the three core components: PaperMarkupViewController (the interactive, scrollable canvas), PaperMarkup (a Sendable data model that serializes all markup and drawing), and the MarkupEditViewController / MarkupToolbarViewController insertion UI. A UIKit setup shows wiring the view controller with a page-bounds PaperMarkup, a FeatureSet, a PKToolPicker, and the delegate that saves on change. Key properties (markup, selectedMarkup, isEditable, isRulerActive, drawingTool, contentView, zoomRange, supportedFeatureSet), TouchMode cases for finger drawing versus selection, and content-background alignment for annotating PDF pages or images are covered. The data-model section walks through creating an empty markup with a coordinate-space bounds, loading from a dataRepresentation, saving via the async throws dataRepresentation(), and inserting text boxes, images, shapes, and arrow-tipped lines programmatically. Available shape types include rectangle, roundedRectangle, ellipse, line, arrowShape, star, chatBubble, and regularPolygon. Additional operations merge another PaperMarkup or a PKDrawing, apply affine transforms, strip unsupported elements, and expose indexableContent for search. Delegate callbacks report markup changes, drawing start, selection, and visible-frame changes. Because the framework is beta-sensitive, the guide flags that its API surface may change and should be verified against current Apple documentation before shipping. Appropriate when embedding a system-standard markup toolbar, building annotation features, or persisting structured drawings.

FAQ

Which platforms and OS versions support PaperKit?

iOS 26.0+, iPadOS 26.0+, Mac Catalyst 26.0+, macOS 26.0+, and visionOS 26.0+, using Swift 6.3 and the iOS 26+ SDK.

Does PaperKit need any entitlements or Info.plist setup?

No. It requires no entitlements or special Info.plist entries; you just import PaperKit.

How is markup saved and restored?

PaperMarkup serializes to Data via the async throws dataRepresentation() method, and you reload it with PaperMarkup(dataRepresentation:).

What shapes can be inserted programmatically?

rectangle, roundedRectangle, ellipse, line, arrowShape, star, chatBubble, and regularPolygon, via insertNewShape and insertNewLine using a ShapeConfiguration.

How do I annotate a PDF page or image accurately?

Set the background through contentView and keep the PaperMarkup(bounds:) coordinate space aligned to the background content size so saved annotations restore in the right place.

All Files

3 files
evals/evals.json4.3 KB
View
SKILL.md17.0 KB
View
references/paperkit-patterns.md18.3 KB
View

Install paperkit

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

dpearson2699/swift-ios-skills

Related Skills

ccf-idea-reviewer

2,958

ccf-integrity-auditor

2,958

finance-sentiment

3,382

ccf-humanization

2,958