Inspector MCP
ipedro/Inspector
A skill your agent uses when an agent needs to inspect a live iOS app through the Inspector MCP bridge, register or troubleshoot InspectorMCPServer for a consumer Xcode project, or query, resolve…
Diagnose and fix Swift strict-concurrency warnings in WooCommerce iOS.
$ npx skills add woocommerce/woocommerce-ios --skill woo-ios-swift-6-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install woocommerce/woocommerce-ios woo-ios-swift-6-migration --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-ios.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/woo-ios-swift-6-migration .claude/skills/woo-ios-swift-6-migration && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "woo-ios-swift-6-migration" agent skill from https://github.com/woocommerce/woocommerce-ios/tree/trunk/.claude/skills/woo-ios-swift-6-migration into .claude/skills/woo-ios-swift-6-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "woo-ios-swift-6-migration", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/woocommerce/woocommerce-ios/tree/trunk/.claude/skills/woo-ios-swift-6-migrationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add woocommerce/woocommerce-ios --skill woo-ios-swift-6-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install woocommerce/woocommerce-ios woo-ios-swift-6-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-ios.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/woo-ios-swift-6-migration .agents/skills/woo-ios-swift-6-migration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "woo-ios-swift-6-migration" agent skill from https://github.com/woocommerce/woocommerce-ios/tree/trunk/.claude/skills/woo-ios-swift-6-migration into .agents/skills/woo-ios-swift-6-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "woo-ios-swift-6-migration", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add woocommerce/woocommerce-ios --skill woo-ios-swift-6-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install woocommerce/woocommerce-ios woo-ios-swift-6-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-ios.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/woo-ios-swift-6-migration .cursor/skills/woo-ios-swift-6-migration && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "woo-ios-swift-6-migration" agent skill from https://github.com/woocommerce/woocommerce-ios/tree/trunk/.claude/skills/woo-ios-swift-6-migration into .cursor/skills/woo-ios-swift-6-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "woo-ios-swift-6-migration", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/woocommerce/woocommerce-ios.git --path .claude/skills/woo-ios-swift-6-migration--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add woocommerce/woocommerce-ios --skill woo-ios-swift-6-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install woocommerce/woocommerce-ios woo-ios-swift-6-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-ios.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/woo-ios-swift-6-migration .gemini/skills/woo-ios-swift-6-migration && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "woo-ios-swift-6-migration" agent skill from https://github.com/woocommerce/woocommerce-ios/tree/trunk/.claude/skills/woo-ios-swift-6-migration into .gemini/skills/woo-ios-swift-6-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "woo-ios-swift-6-migration", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install woocommerce/woocommerce-ios woo-ios-swift-6-migrationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add woocommerce/woocommerce-ios --skill woo-ios-swift-6-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-ios.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/woo-ios-swift-6-migration .github/skills/woo-ios-swift-6-migration && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "woo-ios-swift-6-migration" agent skill from https://github.com/woocommerce/woocommerce-ios/tree/trunk/.claude/skills/woo-ios-swift-6-migration into .github/skills/woo-ios-swift-6-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "woo-ios-swift-6-migration", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add woocommerce/woocommerce-ios --skill woo-ios-swift-6-migration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install woocommerce/woocommerce-ios woo-ios-swift-6-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-ios.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/woo-ios-swift-6-migration .opencode/skills/woo-ios-swift-6-migration && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "woo-ios-swift-6-migration" agent skill from https://github.com/woocommerce/woocommerce-ios/tree/trunk/.claude/skills/woo-ios-swift-6-migration into .opencode/skills/woo-ios-swift-6-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "woo-ios-swift-6-migration", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
woo-ios-swift-6-migrationDiagnose and fix Swift strict-concurrency warnings in WooCommerce iOS.
Woo iOS Swift 6 Migration is an agent skill from woocommerce/woocommerce-ios. Diagnose and fix Swift strict-concurrency warnings in WooCommerce iOS. Use for Swift 6 migration, actor-isolation changes, and Sendable diagnostics in this repository.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/patterns.md`, `references/runtime-boundaries.md` and `references/session-services.md`).
It sits in Mobile, covering iOS development. It works with Swift, iOS, WooCommerce and Xcode. The licence is GPL-2.0.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 37235f8. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWriteEditGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Woo iOS Swift 6 Migration loads about 3.2k tokens when it runs, and up to ~8.7k if it reads all its reference files. Until then it costs about 48 tokens; SKILL.md has 1,692 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Write, Edit, Grep, GlobAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from woocommerce/woocommerce-ios at commit 37235f8, republished under its GPL-2.0 licence (© woocommerce). 1,692 words, ~3,205 tokens.
.claude/skills/woo-ios-swift-6-migration/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Make small changes in the requested scope. Verify each change. For diagnosis or review requests, read the code without changing it. Change the Swift language mode or target scope only when requested.
Read the repository instructions and the documentation for the affected module. Check these settings before you analyze warnings:
Identify the affected targets and dependencies.
The strict-concurrency level has three sources. In order of precedence, they are the xcodebuild command line, the target build settings, and the project build settings. Swift package targets ignore the Xcode build settings. They use only the command-line value or swiftSettings in Modules/Package.swift. Pass SWIFT_STRICT_CONCURRENCY=complete on the command line, or package targets are not measured. The command-line value also overrides target-level fences. The WordPressAuthenticator target keeps a trailing -strict-concurrency=minimal in OTHER_SWIFT_FLAGS for this reason. Do not change WordPressAuthenticator. It is fenced on purpose, and Swift 6.3.3 crashes while formatting one of its diagnostics under complete checking.
Do not set SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor on a whole target. On the pinned toolchain, it caused compiler crashes, an optimizer crash in Release-Alpha archives (swiftlang/swift#88173), and XCTest crashes in swift_task_deinitOnExecutorMainActorBackDeploy. Its warning counts are not comparable with normal measurements. Use explicit @MainActor, nonisolated, and Sendable declarations instead.
Use the repository build, test, and simulator workflows. To measure workspace warnings, use the existing script with a new DerivedData directory:
Scripts/StrictConcurrency/count-warnings.sh /tmp/<task>-before.jsonRead the script before you change its build settings. For a smaller scope, select the affected scheme and an available simulator. Use build-for-testing with SWIFT_STRICT_CONCURRENCY=complete. Use a separate DerivedData directory for each build configuration. Check disk space before large builds.
Save the build log. Record warnings by target, file path relative to the repository, and diagnostic text. Use the same build scope and settings before and after the change. Remove repeated compiler output with the same method in both logs. Compare warnings without line and column numbers. Keep the file path and number of occurrences.
Use a clean build for each measurement. If you use an incremental build, confirm that every measured file compiled. An incremental log can omit unchanged files. Use a partial build result only if every file in the measured scope compiled. Do not use a partial build to measure the workspace or update its baseline.
The CI toolchain in .xcode-version is authoritative. A different local Xcode produces a different warning set. For example, local Xcode 26.2 measured 10,992 warnings where CI's Xcode 26.6 measured 11,158. Some Xcode versions cannot compile trunk at all. Label local counts as local.
Record the base commit, head commit, and toolchain used for measurement. For stacked PRs, identify changes from the parent PR separately. The baseline guard is advisory. It can report warnings already on trunk. Its parser counts all Swift warnings in the repository. Check the base result and original diagnostics before you attribute new warnings to the change. Label estimates separately from measured counts. Check incomplete or repeated log lines before you change the baseline. See the guard discussion and inherited regressions.
Start at the warning. Check the owner, protocol, conformers, direct callers, and dependencies. Before you edit code, identify which actor owns each value or operation:
| Ownership | Preferred approach |
|---|---|
| UI, navigation, or main-thread-owned state | @MainActor on the owner or relevant requirement |
| Shared mutable state | An actor or an existing owner that serializes access |
| Values passed between actors | Sendable, with safe stored values and access |
| Legacy dependency outside the scope | A limited compatibility annotation with safety evidence |
Apply isolation to the required declarations and callers. Stop where the existing code has isolation that the compiler checks. Keep construction order, service lifetime, cancellation, retry, cached state, and UI presentation unchanged. Build after each isolation change. Check for new warnings in callers.
Isolation violations are errors, not warnings, at every strictness level. A synchronous call from nonisolated code to a @MainActor member of the same module fails under minimal and Swift 5 too. Only Sendable diagnostics are warnings at that level. Change every nonisolated caller in the same commit, including tests. Emit-module stops at the first error, so each hop of callers costs one build. Change the obvious callers together before you build. See the product image handler.
When a slice must change a shared contract, such as a widely used protocol or a closure type, change it in place. Do not add a parallel API to keep the baseline guard flat. Swift cannot overload on @Sendable alone. Do not deprecate the old API either, because the guard counts deprecation warnings too. Raise the affected baseline entries in the same PR and explain why. Later slices lower them.
Some diagnostics show an architectural boundary, not a missing annotation. An example is "non-Sendable parameter type cannot be sent from caller of protocol requirement into main actor-isolated implementation". It needs a decision about the isolation contract of that boundary. Stop and report the decision to the user. Do not treat it as a mechanical fix.
Read the reference that applies to the change:
For general Swift concurrency guidance, use the swift-concurrency skill if available. Otherwise, read the public Swift Concurrency skill. Read only the reference needed for the diagnostic. Resolve its relative links from the upstream skill directory. Check guidance against the active toolchain. Keep this repository's scope and verification rules.
If complete isolation needs a larger migration, use a limited adapter when possible. The compiler must check its isolation, and it must keep the same behavior. Describe the remaining work and when to remove the adapter. Expand ServiceLocator or StoresManager only when the required ownership change justifies it.
For @preconcurrency, @unchecked Sendable, and nonisolated(unsafe), provide evidence that access is safe. Prefer an annotation on a declaration or conformance. Use @preconcurrency import only for third-party modules, never for this repository's own modules. Use it only if the dependency has no usable concurrency contract and a more specific annotation is insufficient. Do not add @unchecked Sendable only to silence a diagnostic. Fix the type, or isolate it.
For an unchecked reference or conformance, check every alias and access path. Show how each path protects mutable state. A let reference does not make the referenced object thread-safe. Add a nearby comment. State which concurrency contract is missing and when to remove the annotation. Describe the remaining risk in the PR.
@preconcurrency on a conformance does not move execution to an actor. A synchronous protocol call can compile and then fail a runtime isolation check. Confirm which actor executes each entry point. Test the actual protocol or callback path. Build the callers again. See SE-0423.
Use MainActor.assumeIsolated only where a documented contract guarantees main-actor execution. It checks the current executor. It does not move work to the main actor. For app-owned construction and calls, use isolation declarations that the compiler checks.
The target result is zero warnings in the requested scope. There must be no new warning occurrences in files built under comparable conditions. A new file has no baseline entry, so it must have zero warnings. Compare diagnostic text as well as counts. A lower total can hide new warnings in callers. An unchanged file count can hide a different unsafe operation. If dependencies prevent completion, report the remaining warnings and proposed work. Explain each baseline increase separately. Warnings removed elsewhere do not justify an increase.
assumeIsolated before you report that none were added.Report failed checks as failed. Report blocked checks as inconclusive. A passing test with a smaller scope does not change these results.
If a baseline update is requested, use Scripts/StrictConcurrency/update-baseline.sh with the guard's CI artifact only. Local measurements use a different toolchain. The script treats missing files as zero warnings. Input from a smaller scope would remove unrelated baseline entries. Use compare-baseline.sh to check the result. Do not use partial measurements with that script to claim workspace improvements.
baseline.json, take one side of the file. Then run update-baseline.sh with a new artifact. Do not merge the counts by hand.update-baseline.sh only lowers counts. To reset a baseline that has inherited increases from trunk, copy the trunk artifact over baseline.json. Then run compare-baseline.sh and expect equal totals. Use an artifact from trunk or from the reset PR's own run, never from another PR. See the first reset..md, .txt, or docs/ files. should-skip-job.sh skips the guard for those changes.Report the root cause first. Give warning counts before and after for each file in scope. Identify new warnings. Include passed, failed, and inconclusive checks. List compatibility annotations and when to remove them.
Explain changes outside the named feature that were necessary after isolation changed. Verify their user flows too. Reviewers can miss these changes, as shown in the onboarding review.
Include generated logs, screenshots, and local notes in the change only when requested. Update baselines, issue state, PRs, or remote branches only when the user authorizes that action.
© woocommerce, GPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in .claude/skills/woo-ios-swift-6-migration of woocommerce/woocommerce-ios.
Open the folder on GitHubat commit 37235f8
Woo iOS Swift 6 Migration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Woo iOS Swift 6 Migration this skillwoocommerce/woocommerce-ios | 358 | — | ~3.2k | Automated safety check: Notes | GPL-2.0 | |
| Inspector MCPipedro/Inspector | 170 | — | ~3.4k | Automated safety check: Pass | MIT | |
| Mlkit Released-date/google-mlkit-swiftpm | 148 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Dt Setup iOSDynatrace/dynatrace-for-ai | 163 | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Bootstrap iOSRayFernando1337/rayfernando-skills | 130 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Swift iOS Standardsbladeofgod/flutter-ai-harness | 116 | — | ~375 | Automated safety check: Pass | MIT |
ipedro/Inspector
A skill your agent uses when an agent needs to inspect a live iOS app through the Inspector MCP bridge, register or troubleshoot InspectorMCPServer for a consumer Xcode project, or query, resolve…
d-date/google-mlkit-swiftpm
A skill your agent uses when triaging incoming issues or PRs for google-mlkit-swiftpm, or when cutting a release.
Dynatrace/dynatrace-for-ai
Set up the Dynatrace iOS SDK (OneAgent) in an iOS project using Swift Package Manager.
RayFernando1337/rayfernando-skills
Bootstrap agents for iOS, iPadOS, macOS, Swift, SwiftUI, SwiftData/Core Data, Swift Testing, Xcode build/test/debug, Simulator, App Intents, or XcodeBuildMCP work.
bladeofgod/flutter-ai-harness
适用:编写或审查 iOS Swift Native Module、Bridge Adapter、Host 接线、Info.plist/Entitlements、SwiftPM 和原生 UI。不适用:Kotlin/Android、Dart Client 或 Wire Contract…
softspark/ai-toolkit
Swift/iOS: SwiftUI, Combine, async/await, actors, SPM, Core Data, UIKit interop.
woocommerce/woocommerce-ios
Launch the WooCommerce app on a simulator already authenticated into a given store (site credentials, application password, or WPCom), skipping the manual login UI.
woocommerce/woocommerce-ios
Set up the ContextA8C MCP server for accessing Automattic internal resources (Slack, Linear, P2s, GitHub Enterprise, etc.)
woocommerce/woocommerce-ios
Use swift-snapshot-testing to visually verify SwiftUI views during implementation.
woocommerce/woocommerce-ios
Build the app, launch on simulator, and verify feature behavior via mobile-mcp interaction.
woocommerce/woocommerce-ios
Debug a failing test or build error in WooCommerce iOS. An agent skill from woocommerce/woocommerce-ios.
woocommerce/woocommerce-ios
Start or stop the WireMock API mock server for UI testing and E2E verification.
Works with
Categories
Diagnose and fix Swift strict-concurrency warnings in WooCommerce iOS. Woo iOS Swift 6 Migration is an agent skill from woocommerce/woocommerce-ios. Diagnose and fix Swift strict-concurrency warnings in WooCommerce iOS.
Woo iOS Swift 6 Migration fits situations like: swift 6 migration; actor-isolation changes; sendable diagnostics in this repository.
Run `npx skills add woocommerce/woocommerce-ios --skill woo-ios-swift-6-migration -a claude-code`. Or copy the skill folder (.claude/skills/woo-ios-swift-6-migration in woocommerce/woocommerce-ios) into .claude/skills/woo-ios-swift-6-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add woocommerce/woocommerce-ios --skill woo-ios-swift-6-migration -a codex`. Or copy the skill folder (.claude/skills/woo-ios-swift-6-migration in woocommerce/woocommerce-ios) into .agents/skills/woo-ios-swift-6-migration in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add woocommerce/woocommerce-ios --skill woo-ios-swift-6-migration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/woo-ios-swift-6-migration, .gemini/skills/woo-ios-swift-6-migration, .github/skills/woo-ios-swift-6-migration and .opencode/skills/woo-ios-swift-6-migration in your project.
SKILL.md names no scripts, command-line tools or credentials: Woo iOS Swift 6 Migration is instructions for the agent only. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Grep, Glob.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Woo iOS Swift 6 Migration is published under the GPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Woo iOS Swift 6 Migration: Inspector MCP (ipedro/Inspector, 170 stars), Mlkit Release (d-date/google-mlkit-swiftpm, 148 stars), Dt Setup iOS (Dynatrace/dynatrace-for-ai, 163 stars) and Bootstrap iOS (RayFernando1337/rayfernando-skills, 130 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
woocommerce (a GitHub organization) maintains it in woocommerce/woocommerce-ios, which has 358 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 9, 2026.
Source: woocommerce/woocommerce-ios on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.