paperkit

Integrate PaperMarkupViewController for unified markup and PencilKit drawing in iOS apps.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/KumarAdi8/AgentKit --skill paperkit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: paperkit
Source: https://github.com/KumarAdi8/AgentKit/tree/main/skills/paperkit
Command: npx skills add https://github.com/KumarAdi8/AgentKit --skill paperkit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Provides a unified, system-standard markup and drawing framework so apps can offer high-quality annotation, shape recognition, and PencilKit-backed drawing without building custom editors from scratch.

Core Features & Use Cases

  • Integrated Markup Editor: PaperMarkupViewController hosts freeform PencilKit drawing alongside structured markup elements like shapes, text boxes, and images.
  • Data Model & Persistence: PaperMarkup supports async dataRepresentation persistence, content-version checks, merging PKDrawing, and safe forward-compatibility handling.
  • Platform Integration & Tools: Includes insertion controllers (MarkupEditViewController / MarkupToolbarViewController), FeatureSet configuration, PKToolPicker integration, HDR rendering options, and SwiftUI wrappers for multi-platform apps.
  • Use Case: Embed PaperMarkupViewController to let users annotate documents, save a thumbnail for previews, migrate existing PencilKit drawings, and restrict features via custom FeatureSet presets.

Quick Start

Ask the skill to integrate PaperMarkupViewController into your view controller and provide a PaperMarkup-backed save/load flow for iOS 26+.

Frequently Asked Questions about paperkit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I integrate PencilKit drawing and annotations into my iOS app?

You can integrate PencilKit drawing by embedding PaperMarkupViewController, which hosts freeform drawing alongside structured markup elements like shapes, text boxes, and images. It provides a unified editor without building custom views from scratch.

What is the best way to save and persist PencilKit drawings across app sessions?

The best way to persist PencilKit drawings is using the PaperMarkup async dataRepresentation model. It supports content-version checks, merging PKDrawing objects, and safe forward-compatibility handling to ensure your annotation data saves and loads reliably.

Can I use this markup framework to render thumbnails for document previews?

Yes, you can use this markup framework to render thumbnails for document previews. The PaperMarkupViewController integration explicitly supports saving thumbnail previews alongside standard document annotation and saving flows.

Does this annotation framework support SwiftUI and macOS platforms?

Yes, the annotation framework supports SwiftUI, macOS, iPadOS, Mac Catalyst, and visionOS. It includes SwiftUI wrappers for multi-platform apps and platform-specific insertion controllers like MarkupEditViewController and MarkupToolbarViewController.

How do I restrict certain drawing tools and features in my document editor?

You can restrict drawing tools and features by applying custom FeatureSet configuration presets. This allows you to configure PKToolPicker integration and limit the available markup elements within your PaperMarkupViewController editor interface.

How do I migrate existing PencilKit drawings to a unified markup editor?

You can migrate existing PencilKit drawings by merging your PKDrawing objects into the PaperMarkup data model. The framework handles this migration through its content-version checks and async dataRepresentation persistence for forward compatibility.