Version 0.6.0
Create decks with Claude — official extension & skill • Share decks with anyone via .supercards files • Faster saves and more reliable iCloud sync
New Features
Create Decks with Claude (macOS)
SuperCards now connects directly to Claude, so you can point an AI assistant at your lecture notes, a PDF, a codebase — anything — and study the result on your phone minutes later:
- Official Claude Desktop Extension: The new SuperCards extension for Claude Desktop gives Claude everything it needs to author complete decks — the SuperCards Exchange Format reference, example decks, and a validator that runs your deck through the real SuperCards importer before anything is sent. When Claude finishes a deck, it lands in the app with one click to confirm
- Claude.ai Skill: Prefer Claude in the browser? The companion deck-authoring skill produces a deck file you simply drop onto the SuperCards window
- Guided Setup: A new “Use SuperCards with Claude” walkthrough on the Home screen explains the workflow, links you to the extension and skill downloads, and flips to “Connected to Claude — you’re all set” automatically the first time the extension runs
- Nothing Imports Without Your Say-So: Decks from Claude arrive in the new Import Inbox (below), never straight into your Library
Deck Sharing (macOS)
Your decks are files — now they travel like files:
- Share Deck: Right-click any deck in the Library and choose Share Deck to send it through the native macOS share sheet — AirDrop it to a classmate, drop it in Messages, or attach it to an email
- Export Deck…: Save any deck as a single self-contained
.supercardsarchive — cards, images, math, previews and all — and it’s revealed in Finder, ready to go anywhere - Effortless Receiving: Double-click a
.supercardsfile, AirDrop it to your Mac, or drag it onto the SuperCards window and it appears in the Import Inbox marked as a shared deck, validated and ready to import as a fully native deck
Import Inbox (macOS)
A new staging area for every deck that arrives from outside the app — from Claude, from a shared file, or from a drag-and-drop:
- Pending Imports at a Glance: A badge on the menu bar tile and a “Pending Imports” entry in the S menu show when decks are waiting
- Review Before You Import: The Inbox modal validates each deck with the real importer and shows the deck title, card count, size, provenance (“via Claude connector”, “opened file”, “dropped file”), plus any warnings or blocking problems — before it touches your Library
- Rename on Arrival: A duplicate deck title? The rename field opens automatically so you can resolve the conflict inline
- Missing-File Capture: If a deck references an image or PDF that wasn’t bundled, a drop zone appears so you can supply the file — or import without it and get a clean placeholder
- Nothing Is Destructive by Accident: Closing the Inbox keeps everything staged; only an explicit Dismiss discards a pending deck
Richer Imports with SEF v1.1 (macOS & iOS)
The SuperCards Exchange Format — the JSON manifest format behind AI-generated and shared decks — graduates to v1.1:
- Rich Text by Default: Imported decks now carry full rich text end-to-end; markdown in a manifest becomes real formatting on the card, not plain text
- Code Blocks & Inline Code: Fenced code blocks import as first-class syntax-highlighted code blocks, and
inline codeis now supported everywhere — in imports, in the Card Editor, and rendered in Mobile Study Mode - Archive Imports: The Import Cards picker now accepts
.supercardsarchives as well as folders - Layout Hints: Manifests can suggest text alignment, grouping, and text roles, giving deck authors (human or AI) more control over card layout
- Forward Compatible: Every valid v1.0 manifest remains valid; unknown future block types degrade to a warning instead of failing the import
Improvements
Card Editor Clipboard (macOS)
Card elements are now first-class clipboard citizens:
- Cut, Copy & Paste Elements: ⌘C / ⌘X / ⌘V (and matching context-menu items) now work on selected card elements — text and images — not just text inside a text box
- Cross-Card & Cross-Window Paste: Copy elements on one card and paste them onto another card, or into a different editor window. Pasted elements arrive with a slight offset, land selected, and undo as a single step
- Plays Well with Other Apps: Copying a text element also places plain text on the system clipboard, and pasting outside text or rich text creates a new text element on the card
- Clear Failure Feedback: If the clipboard is unavailable, you now get a toast (“Couldn’t copy — clipboard unavailable”) instead of a silent failure — and a failed cut never deletes your selection
Performance (macOS)
- Faster Saves in Big Decks: Saving a card no longer re-reads every card in the deck to update stats and thumbnails, so large decks stay snappy as they grow
- Smoother Large Syncs: A large iCloud sync (hundreds of files) now coalesces into a handful of UI refreshes instead of hundreds
- Leaner Migrations: Library migrations release memory as they go, keeping the app light even when moving very large libraries
Polish
- Live Sync Updates: Decks and cards synced in from another device now appear in the Library immediately — no app restart required
- Brain Dump Context Menu: Menu focus now follows the mouse (the first item no longer sits pre-highlighted), and the multi-select menu gained a consistent layout
- Tighter Code Blocks: Reduced padding and line height make code blocks on cards more compact
Bug Fixes
Import & Library (macOS)
assets/Folder Resolution: Decks that keep their images in anassets/subfolder now import correctly — referenced files are resolved againstassets/first, then the manifest root. Previously such images silently degraded to placeholders- Stale-Card Proliferation Fixed: A migration bug that could duplicate stale cards across Library migrations (local ↔ iCloud) has been fixed, along with a size-comparison issue that skipped files it shouldn’t have
- Card-Order Destruction Fixed: Healing logic could previously rebuild a deck’s card order from incomplete on-disk state during sync; new gates ensure order files are only healed when the deck’s contents are actually settled
- Smarter iCloud Adoption: The app now detects an existing iCloud library more reliably and preserves — rather than destroys — files it doesn’t recognize during adoption
Card Editor (macOS)
- Deleting the Last Card: Deleting or moving away the current card now creates a properly persisted replacement blank card, so follow-up edits always save
- Clipboard Robustness: Malformed, oversized, or untrusted clipboard payloads are validated and rejected gracefully instead of leaving the editor in a broken state; giant plain-text pastes are capped so they can’t wedge the editor
- Image Intake Hardening: Image validation and scaling were centralized, fixing a set of edge cases around oversized and malformed image files
Mobile Study Mode (iOS)
- Inline Code Rendering: Inline code authored on desktop (or imported via SEF v1.1) now renders in Study Mode with proper monospaced styling, matching the desktop Card Editor
Technical Updates
- New SuperCards Exchange Format v1.1 specification, including the
nativepayload kind that powers deck sharing — a.supercardsarchive is identified by parsing its contents, never by filename - Validation parity by construction: the Claude Desktop extension validates decks by invoking the installed app binary (
--sef-validate), so the extension, the CLI, and the in-app importer share one validator — a clean result from any of them is authoritative - Archive unpacking is hardened against zip bombs and path traversal with explicit archive limits
- New deep-link handling (
supercards://) routes connector deliveries and connection status into the app;.supercardsis registered as a document type for Finder/AirDrop open - The Claude Desktop extension ships as a signed
.mcpbbundle built with@anthropic-ai/mcpb, exposing four MCP tools:get_spec,get_examples,validate_deck, andsubmit_deck - Deck saves now update stats and thumbnails without O(N) card reads; file-watcher and library-index modules gained liveness upserts and a unified conflict policy
- Improved ProseMirror/TipTap JSON structure validation shared across TypeScript and Rust (
isTipTapContent/is_prose_mirror_json)
Feedback
Found a bug or have a feature request? We’d love to hear from you:
- Report issues on our Contribute page
- Email us at support@supercards.io
Thank you for using SuperCards!