Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ios-workflow-claude

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.

demo

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 run vhs docs/assets/demo.tape.


Why this exists

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:

  • A complete Swift 6 migration pipeline (/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.
  • A generalizable SDK-removal pattern (/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.


What's in here

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 subagents

Drop 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.

Third-party plugins (recommended - install via marketplace)

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 packaging
  • memorydetective (Apache 2.0) - Disciplined iOS perf + leak investigation playbooks via MCP
  • codex (OpenAI, Apache 2.0) - Delegate stuck/second-opinion tasks to Codex CLI (/codex:setup, /codex:rescue)
  • code-review (official) - Generic code review command
  • security-guidance (official) - /security-review for pending changes
  • pr-review-toolkit (official) - /review PR + subagents (simplifier, comment-analyzer, type-design)

Built into Claude Code (no install needed)

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 agents
  • claude-api - build/debug Anthropic SDK apps (caching, model migration)
  • Skills: update-config (hooks/permissions/env), keybindings-help, fewer-permission-prompts, simplify, init

Quickstart

# 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.

Installation

Install via the plugin marketplace (recommended)

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.

No per-project configuration

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.

Local fork (development)

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.


Layout

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

Setup for local-fast / local-smart (optional)

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>.

License

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).

About

iOS-opinionated Claude Code workflow automation: Swift 6 migration, Apollo->native SDK removal, stacked PRs, Jira integration, Xcode build optimization.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages