Files
claude-plugins/README.md
T
TomUviandClaude Opus 5 905ad2ce3e Start a plugin marketplace for Apple platform work
Skills have been living inside one app's repository, which means the next
Xcode project starts without them and a copy is the only way to share.
A marketplace makes them installable once at user scope.

Two kinds of knowledge, handled differently. What Apple ships with Xcode
stays Apple's: this repository carries a script that exports it from the
locally installed Xcode rather than a copy, so nobody redistributes
pre-release material and everyone's guidance matches their own SDK.

What we learned by shipping goes in the skill, and only if it burned us —
the file writes hidden in view bodies, the blobs that froze the main
thread, the watch target that quietly stopped compiling, the test summary
that reads as zero tests when eighty-four passed. Each of those cost real
time twice before being written down.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-16 23:07:08 +02:00

2.0 KiB

pdat-xcode

A Claude Code plugin marketplace for Apple platform work.

What is here

pdat-swift-practice — one skill, xcode-practice. Practices for SwiftUI, Core Data, XcodeGen and Swift Testing that came out of shipping apps: work that must not happen in a view body, blobs that must stay off the main thread, derived collections computed once, Keychain access outside view init, keeping every target of a multi-platform project building, and reading test output correctly.

It deliberately does not restate Apple's own guidance. Where the two overlap, Apple wins.

bin/export-apple-skills.sh — Xcode ships its own skills, written by the framework teams. They are Apple's material, so this repository carries a script to export them rather than a copy of them. Everyone exports from the Xcode they have, which keeps the guidance matched to their SDK.

bin/export-apple-skills.sh .claude/skills

Xcode must be running or the export hangs.

Install

/plugin marketplace add <url-of-this-repo>
/plugin install pdat-swift-practice@pdat-xcode

Install at user scope and it applies to every project, including ones that do not exist yet.

To hand it to a team through a repository instead, put this in that project's .claude/settings.json:

{
  "extraKnownMarketplaces": {
    "pdat-xcode": {
      "source": { "source": "git", "url": "<url-of-this-repo>" }
    }
  },
  "enabledPlugins": { "pdat-swift-practice@pdat-xcode": true }
}

Anyone who clones that project gets the skill without installing anything.

Updating

Push a change, bump version in both .claude-plugin/marketplace.json and pdat-swift-practice/.claude-plugin/plugin.json, then /plugin marketplace update locally. Without the version bump, installs will not notice.

Adding to the skill

The bar is deliberately high: something that actually went wrong, more than once, and whose fix is not obvious from the framework documentation. A rule nobody has been burned by is a rule nobody will follow.