A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
iOS-opinionated Claude Code workflow automation: Swift 6 migration, Apollo->native SDK removal, stacked PRs, Jira integr
English · Português brasileiro
Reusable Claude Code slash-commands, skills, and workflows extracted from real iOS / backend projects. Packaged as three installable plugins - register the marketplace and /plugin install what you need.

No per-project setup: the commands resolve project-specific values (app scheme, Jira key, feature-flag files, …) at runtime by detecting them, inferring from git, or asking.
The GIF above is reproducible - see
docs/assets/demo.tape. Install VHS (brew install vhs) and runvhs docs/assets/demo.tape.
There are good Claude Code kits for iOS, and good kits for workflow automation. There aren't any that do both.
| Kit | What it covers | What it doesn't |
|---|---|---|
| keskinonur/claude-code-ios-dev-guide (705⭐) | iOS architect agent, SwiftUI specialist, Swift reviewer | Jira, PRs via gh, stacked PRs, Apollo→native, feature-flag cleanup, perf playbook, SwiftLint fixer |
| schovi/claude-schovi (MIT) | Jira auto-detect, /review, /publish | Anything iOS |
| kylehughes/apple-platform-build-tools (57⭐) | xcodebuild / simctl / devicectl wrapper, builder subagent | Workflow automation |
ios-workflow-claude (this repo) | The intersection. Swift 6 migration pipeline, Apollo→native SDK removal, stacked PRs ≤600 lines, Jira-driven PR opener, Xcode build orchestrator, perf playbook with concrete pattern matches, SwiftLint fixer | - |
Two things in here I couldn't find anywhere else public:
/swift6-check → /swift6-fix one category at a time → /swift6-status). Most kits give you a Swift reviewer that flags issues; this one runs the loop until you're done./apollo-*). Five commands built for Apollo iOS removal, but the pattern - investigate one repo → migrate to a protocol-based replacement with mandatory tests → self-review → stacked PRs - maps to any SDK swap: Realm → SwiftData, Combine → async/await, custom networking → URLSession.Zero per-project setup is also rare - instead of a template system you fork and edit by hand, every command resolves project-specific values (scheme, Jira key, flag files) at runtime by detecting them, inferring from git, or asking.
Not for you if: you're not on iOS, you don't use Jira, or your team doesn't ship through GitHub PRs reviewed via gh. The xcode-build-suite plugin is the most stack-portable piece - install just that one if Xcode optimization is all you want.
commands/ - slash commands| Command | What it does | Triggers on |
|---|---|---|
swift6-check / swift6-fix / swift6-status | Swift 6 concurrency migration: scan → fix one category at a time → track progress. | Swift codebases moving 5 → 6 |
apollo-check / apollo-migrate / apollo-review / apollo-status / apollo-tasks | Apollo iOS SDK removal pipeline: investigate one repo → migrate to native GraphQLClientProtocol with mandatory tests → self-review → PR. The pattern generalizes to any SDK removal (Realm → SwiftData, Combine → async/await, etc.). | iOS projects on Apollo |
feature-flag-check / feature-flag-remove / feature-flag-completed / feature-flag-status | Feature-flag cleanup: trace the dependency chain → remove dead code → tests → Slack/Notion post. | Any codebase with flags |
code-review | Apply DRY / SOLID / naming / formatting standards to changed files. | After implementation, before PR |
stacked-prs | Split a branch into semantic commits and stacked upstream PRs ≤600 lines each. | Large multi-concern branches |
verified-pr | Gate: full local build + test pass before opening a PR. Use when CI doesn't run tests on PRs. | iOS projects |
create-pr-from-staged-changes | Open a PR directly from staged changes (skips build/test gates). | Quick PRs |
request-review | Re-request review on an existing PR. | Existing PRs |
update-jira | Update a Jira task with PR link / status. | Jira-driven workflows |
perf-investigate | Performance / leak investigation playbook (Time Profiler + memgraph). | "App is slow", "leak suspected" |
bump | Bump app version / build number across all Xcode targets. | Pre-release iOS |
open-pr | Opinionated PR opener: detects Jira ticket from branch, attaches evidence screenshots, transitions the Jira status. | Jira-driven workflows |
review-pr | Friendly PR review on a branch or PR number - posts inline comments via gh. | Reviewing teammates' PRs |
skills/ - model-invoked skills| Skill | What it does |
|---|---|
create-tasks | Turn meeting notes / specs / feature descriptions into Jira tasks with sequencing, dependencies, and acceptance criteria. |
xcode-build-orchestrator + xcode-build-benchmark + xcode-compilation-analyzer + xcode-project-analyzer + xcode-build-fixer | End-to-end Xcode build-time optimization: benchmark → analyze (compile / project / SPM) → recommend → apply with approval → re-benchmark. |
spm-build-analysis | Audit SwiftPM dependencies, plugins, module variants, CI overhead. |
content | Turn recent technical work (bug fix / release / case study) into LinkedIn / Twitter / Instagram drafts. Saves to /content/drafts/. Acts both reactively (/content linkedin <topic>) and proactively (suggests at end of content-worthy sessions). |
knowledge | Federated search + lifecycle for .md docs across ~/Desktop/knowledge/, the current repo, and Claude's memory dir. Subcommands: stale, drafts, related, suggest, new, index. |
local-fast / local-smart | Delegate low-risk / heavier-reasoning tasks to a local LLM via ollama. Requires: bin/qwen-task.sh + bin/dots-task.sh placed at the project's .claude/bin/, plus ollama with the referenced models pulled. See bin/ for the wrapper scripts. |
agents/ - specialized subagentsDrop into .claude/agents/ (or ~/.claude/agents/) and they become available via the Agent tool.
| Agent | Use for |
|---|---|
ios-code-reviewer | Swift / iOS code review - proactively after features, refactors, or before PRs. Returns prioritized findings with rationale. |
ios-test-writer | XCTest suite generation with proper mocking. Triggers on "write tests", "add coverage", or after new features. |
swiftlint-fixer | Check + fix SwiftLint violations against the project's .swiftlint.yml. |
These ship as Claude Code plugins. Don't copy them here - install them so you get upstream updates. See docs/PLUGINS.md for one-command install steps.
ios-swift-skills (Patrick Serrano, MIT) - SwiftUI performance audit, native app profiling via xctrace, Swift concurrency expert, SwiftUI view refactor, SwiftUI patterns, Liquid Glass (iOS 26+), iOS debugger agent, App Store release changelog, macOS SPM packagingmemorydetective (Apache 2.0) - Disciplined iOS perf + leak investigation playbooks via MCPcodex (OpenAI, Apache 2.0) - Delegate stuck/second-opinion tasks to Codex CLI (/codex:setup, /codex:rescue)code-review (official) - Generic code review commandsecurity-guidance (official) - /security-review for pending changespr-review-toolkit (official) - /review PR + subagents (simplifier, comment-analyzer, type-design)Available out of the box - just invoke them. See docs/BUILTINS.md for short descriptions.
/init - bootstrap CLAUDE.md from the current codebase/loop - run a prompt / slash command on an interval or self-paced/schedule - cron-style scheduled remote agentsclaude-api - build/debug Anthropic SDK apps (caching, model migration)update-config (hooks/permissions/env), keybindings-help, fewer-permission-prompts, simplify, init# Inside Claude Code, one-time: register this repo as a marketplace
/plugin marketplace add carloshpdoc/ios-workflow-claude
# Then install whichever plugins you want
/plugin install xcode-build-suite@carloshpdoc-plugins # Xcode build-time optimizer
/plugin install ios-workflow@carloshpdoc-plugins # iOS commands + agents
/plugin install claude-utilities@carloshpdoc-plugins # content, knowledge, create-tasks
New slash commands appear in Claude Code tab-completion immediately. There is no setup step - project-specific values (app scheme, Jira key, feature-flag files, …) are auto-detected from the project, inferred from git/the branch name, or asked at runtime.
This repo is a Claude Code plugin marketplace (.claude-plugin/marketplace.json) shipping three independent plugins. Register it once, then install just the plugins you need:
/plugin marketplace add carloshpdoc/ios-workflow-claude
/plugin install xcode-build-suite@carloshpdoc-plugins
/plugin install ios-workflow@carloshpdoc-plugins
/plugin install claude-utilities@carloshpdoc-plugins
| Plugin | What you get | Stack |
|---|---|---|
xcode-build-suite | Build benchmark → compile/project/SPM analysis → recommend → apply → re-benchmark | Any Xcode project |
ios-workflow | Swift 6 migration, Apollo→native removal, stacked PRs, Jira-driven PR opener, feature-flag cleanup, perf playbook, SwiftLint fixer, iOS code-review / test-writer agents | iOS + Jira + GitHub PRs |
claude-utilities | content (work → LinkedIn/Twitter drafts), knowledge (federated doc search), create-tasks (notes → Jira tickets) | Cross-stack |
Run /plugin to see installed plugins. Restart Claude Code if new commands don't show up in tab-completion.
Earlier versions copied files into each project and substituted {{PLACEHOLDER}} tokens via a bootstrap.sh script. That step is gone - plugins can't template at install time, and they don't need to. The commands now resolve project-specific values at runtime:
| Value | How it's resolved |
|---|---|
| App scheme / test target | xcodebuild -list -json; if ambiguous, asks |
| Jira project key | inferred from the branch name (feature/KEY-123-…); else asks |
| GitHub repo / owner | gh repo view / git remote get-url origin |
| Jira host / board / cloud / assignee | discovered via the Atlassian MCP, or asked |
| Feature-flag enum / files, font tokens | found by searching the codebase; else asked |
Nothing to edit, nothing to re-run when values change.
To hack on the plugins, clone the repo and add it as a local marketplace:
/plugin marketplace add /path/to/ios-workflow-claude
The local-fast / local-smart skills and the bin/ wrapper scripts are not part of any plugin (they depend on a personal local-LLM runtime). Copy them into ~/.claude/ by hand if you want them - see the local-fast / local-smart section below.
ios-workflow-claude/
├── .claude-plugin/
│ └── marketplace.json # marketplace manifest (3 plugins under ./plugins)
├── plugins/
│ ├── xcode-build-suite/
│ │ ├── .claude-plugin/plugin.json
│ │ └── skills/ # 6 Xcode build-optimization skills
│ ├── ios-workflow/
│ │ ├── .claude-plugin/plugin.json
│ │ ├── commands/ # slash commands (.md per command)
│ │ └── agents/ # specialized subagents (Agent tool)
│ └── claude-utilities/
│ ├── .claude-plugin/plugin.json
│ └── skills/ # content, knowledge, create-tasks
├── skills/ # NOT plugins: local-fast / local-smart (personal runtime)
├── bin/ # helper scripts for local-fast / local-smart
├── docs/
│ ├── PLUGINS.md # third-party plugin install steps
│ └── BUILTINS.md # Claude Code built-in commands cheat sheet
└── README.md
These two skills delegate to local LLMs via ollama. If you don't use them, skip this section.
# 1. Install ollama and pull the models referenced by the wrapper scripts
brew install ollama
ollama pull qwen3.5:35b-a3b-coding-nvfp4 # used by local-fast
ollama pull dots.llm1 # used by local-smart
# 2. Drop the wrapper scripts into your project's .claude/bin/
mkdir -p .claude/bin
cp ~/Development/ios-workflow-claude/bin/*.sh .claude/bin/
chmod +x .claude/bin/*.sh
If you prefer different local models, edit the scripts in bin/ - they're 3-line wrappers around ollama run <model>.
The commands, skills, and agents in plugins/ are released under Apache 2.0 - see LICENSE.
Third-party plugins documented in docs/PLUGINS.md keep their own licenses (MIT for ios-swift-skills, Apache 2.0 for codex and memorydetective, Anthropic license for the official claude-plugins-official set).
Native macOS app to monitor Claude AI usage limits and watch your coding sessions live
npx CLI installing 100+ agents, commands, hooks, and integrations in one command
干净、强大、属于你的 AI Agent 平台 --AI agents, without the clutter.
Pocket Flow: Codebase to Tutorial