-
-
Notifications
You must be signed in to change notification settings - Fork 1
plugin: point Apple Dev Skills to Socket #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,140 +1,35 @@ | ||
| # apple-dev-skills | ||
| # Apple Dev Skills | ||
|
|
||
| Apple, Swift, SwiftUI, Safari, Xcode, Swift OpenAPI client, DocC, and `Dash.app` workflows for Codex. | ||
| Apple Dev Skills has moved into the [Socket marketplace](https://github.com/gaelic-ghost/socket). | ||
|
|
||
|  | ||
| This repository now stays online as a compatibility marketplace for people who installed `gaelic-ghost/apple-dev-skills` directly. The plugin payload is served from Socket at `plugins/apple-dev-skills`, so existing standalone users can keep using the same marketplace name while receiving the Socket-owned Apple Dev Skills payload. | ||
|
|
||
| Promo audio: [Apple Dev Skills Codex Workflows Promo](./docs/media/apple-dev-skills-codex-workflows-promo.mp3) | ||
| ## Recommended Install | ||
|
|
||
| The Socket marketplace is the easiest way to install Apple Dev Skills alongside the companion Productivity Skills workflows. | ||
|
|
||
| ## Table of Contents | ||
|
|
||
| - [Overview](#overview) | ||
| - [Quick Start](#quick-start) | ||
| - [Usage](#usage) | ||
| - [Development](#development) | ||
| - [Repo Structure](#repo-structure) | ||
| - [Active Skills](#active-skills) | ||
| - [Release Notes](#release-notes) | ||
| - [License](#license) | ||
|
|
||
| ## Overview | ||
|
|
||
| ### Status | ||
|
|
||
| `apple-dev-skills` is maintained and supported by Gale as a key component of the Socket Marketplace. | ||
|
|
||
| ### What This Project Is | ||
|
|
||
| Apple development work has sharp edges around framework behavior, Xcode project state, documentation, accessibility, and build tooling. This plugin keeps helps agents move *swiftly* through a challenging landscape, instead of fumbling over mountains of implicit behavior. | ||
|
|
||
| This repository is the canonical source of truth for Gale's Apple, Swift, and Xcode workflow skills. | ||
|
|
||
| ### Motivation | ||
|
|
||
| I wanted to build stuff faster, but agents were struggling with Swift, declarative frameworks, Xcode and `.pbxproj`, the `swift build` `xcodebuild` split, etc. I figured I could improve that a bit. it's gone pretty well, so far~ | ||
|
|
||
| ## Quick Start | ||
|
|
||
| The easiest way to install Apple Dev Skills with its companion workflows is through Gale's Socket marketplace: | ||
| Use Socket when you want Apple Dev Skills and Gale's companion plugins from one Codex marketplace: | ||
|
|
||
| ```bash | ||
| codex plugin marketplace add gaelic-ghost/socket | ||
| ``` | ||
|
|
||
| Restart Codex, open the plugin directory, choose `Socket`, and install or enable `apple-dev-skills`. Install `productivity-skills` from the same marketplace too if you want the Apple bootstrap and guidance-sync workflows. | ||
|
|
||
| When the Socket marketplace changes, refresh it: | ||
|
|
||
| ```bash | ||
| codex plugin marketplace upgrade socket | ||
| ``` | ||
|
|
||
| ## Usage | ||
| After adding Socket, open the Codex plugin directory, choose `Socket`, and install or enable `apple-dev-skills`. | ||
|
|
||
| Use Apple Dev Skills when an agent is helping with: | ||
| ## Compatibility Install | ||
|
|
||
| - Swift and SwiftUI implementation | ||
| - Xcode build, run, test, and project workflows | ||
| - Safari extension and SafariServices integration choices | ||
| - Swift OpenAPI client generation and `URLSession` transport integration | ||
| - Swift package bootstrap, build, and testing | ||
| - Apple UI accessibility work | ||
| - DocC comments, articles, and documentation catalogs | ||
| - Swift source formatting and file organization | ||
| - Apple docs lookup before design or code changes | ||
| - Apple-specific repo guidance setup or refresh | ||
|
|
||
| Most Apple Dev Skills workflows are useful as a standalone plugin. Bootstrap and guidance-sync workflows also need `productivity-skills`, because that companion plugin owns the reusable repo-maintenance workflow that Apple Dev Skills applies to Swift packages and Xcode apps. | ||
|
|
||
| Treat `productivity-skills` as the default baseline layer for general repo-doc and maintenance work, and use Apple Dev Skills when Apple-specific behavior should shape the workflow. | ||
|
|
||
| The [`socket`](https://github.com/gaelic-ghost/socket) repository is Gale's plugin superproject and marketplace catalog. | ||
|
|
||
| If you only want the Apple plugin without the rest of Socket, the standalone marketplace remains supported: | ||
| Existing Apple-only users can keep this marketplace: | ||
|
|
||
| ```bash | ||
| codex plugin marketplace add gaelic-ghost/apple-dev-skills | ||
| codex plugin marketplace upgrade apple-dev-skills | ||
| ``` | ||
|
|
||
| When installed as a Codex plugin, Apple Dev Skills also registers Xcode's built-in MCP bridge through `xcrun mcpbridge`. Users still need to allow external agents in Xcode's Intelligence settings and keep the relevant project open in Xcode before external Codex sessions can use Xcode-provided tools. | ||
|
|
||
| ## Development | ||
|
|
||
| Treat root [`skills/`](./skills/) as the canonical authored surface. Keep shared reusable assets in [`shared/`](./shared/) and tests in [`tests/`](./tests/). | ||
|
|
||
| Use [`CONTRIBUTING.md`](./CONTRIBUTING.md) for maintainer workflow details, and use [AGENTS.md](./AGENTS.md) for agent-facing repo rules. | ||
|
|
||
| Run the repository test suite for skill and metadata changes: | ||
|
|
||
| ```bash | ||
| bash .github/scripts/validate_repo_docs.sh | ||
| uv run pytest | ||
| ``` | ||
|
|
||
| ## Repo Structure | ||
|
|
||
| ```text | ||
| . | ||
| ├── .codex-plugin/ | ||
| ├── .mcp.json | ||
| ├── docs/ | ||
| ├── shared/ | ||
| ├── skills/ | ||
| ├── tests/ | ||
| ├── AGENTS.md | ||
| ├── CONTRIBUTING.md | ||
| ├── README.md | ||
| └── ROADMAP.md | ||
| ``` | ||
|
|
||
| ## Active Skills | ||
|
|
||
| - `apple-ui-accessibility-workflow` | ||
| - `author-swift-docc-docs` | ||
| - `bootstrap-swift-package` | ||
| - `bootstrap-xcode-app-project` | ||
| - `explore-apple-swift-docs` | ||
| - `format-swift-sources` | ||
| - `safari-extension-control-workflow` | ||
| - `structure-swift-sources` | ||
| - `swift-openapi-client-workflow` | ||
| - `swift-package-build-run-workflow` | ||
| - `swift-package-testing-workflow` | ||
| - `swift-package-workflow` | ||
| - `swiftui-app-architecture-workflow` | ||
| - `sync-swift-package-guidance` | ||
| - `sync-xcode-project-guidance` | ||
| - `xcode-app-project-workflow` | ||
| - `xcode-build-run-workflow` | ||
| - `xcode-testing-workflow` | ||
| That compatibility marketplace now points at the Socket-hosted plugin payload. New feature work, issue tracking, release notes, and maintainer documentation live in [gaelic-ghost/socket](https://github.com/gaelic-ghost/socket). | ||
|
|
||
| ## Release Notes | ||
| ## Duplicate Installs | ||
|
|
||
| Use GitHub releases and Git history to track shipped changes for this repository. | ||
| If both Socket and this compatibility marketplace are configured, prefer the Socket entry: `apple-dev-skills@socket`. | ||
|
|
||
| ## License | ||
|
|
||
| This repository is licensed under Apache 2.0. See [LICENSE](./LICENSE). | ||
| Apple Dev Skills is licensed under Apache 2.0. See [LICENSE](./LICENSE). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| from __future__ import annotations | ||
|
|
||
| import json | ||
| from pathlib import Path | ||
|
|
||
|
|
||
| ROOT = Path(__file__).resolve().parents[1] | ||
|
|
||
|
|
||
| def test_standalone_marketplace_points_to_socket_payload() -> None: | ||
| marketplace = json.loads((ROOT / ".agents/plugins/marketplace.json").read_text(encoding="utf-8")) | ||
| plugin = marketplace["plugins"][0] | ||
|
|
||
| assert marketplace["name"] == "apple-dev-skills" | ||
| assert plugin["name"] == "apple-dev-skills" | ||
| assert plugin["source"] == { | ||
| "source": "git-subdir", | ||
| "url": "https://github.com/gaelic-ghost/socket.git", | ||
| "path": "./plugins/apple-dev-skills", | ||
| "ref": "main", | ||
| } | ||
| assert plugin["policy"]["installation"] == "AVAILABLE" |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When Codex discovers this repo marketplace, this entry is rejected before it can redirect users to Socket. I checked Codex's marketplace parser (
codex-rs/core/src/plugins/marketplace.rs):RawMarketplaceManifestPluginSourceis an internally tagged enum with only thelocalvariant, sosource: "git-subdir"deserializes as an unknown variant. As a result, users followingcodex plugin marketplace add gaelic-ghost/apple-dev-skillscannot load or install the compatibility marketplace entry.Useful? React with 👍 / 👎.