{
  "markdown": "# swift-mvvm skill\n\n## Install\n- Claude Code:\n  - project: `.claude/skills/swift-mvvm/`\n  - user: `~/.claude/skills/swift-mvvm/`\n\n- Codex:\n  - project: `.codex/skills/swift-mvvm/`\n  - user: `~/.codex/skills/swift-mvvm/`\n\nCopy `SKILL.md` plus optional `references/` and `templates/`.\n\n## What it does\n- Helps refactor view/controller logic into a small ViewModel.\n- Keeps ViewModels UI-framework agnostic (no SwiftUI/UIKit/AppKit imports).\n- Uses protocol adapters for platform actions (e.g., NSWorkspace reveal).\n- Splits state into nested structs to reduce ViewModel sprawl.\n- Extracts pure logic into structs/functions first.\n- Extracts side-effects controllers/use cases next (still testable via protocols).\n- Adds cancellation, DI, and **Swift Testing** examples.",
  "bytes": 767,
  "sha": "11b238be4acf5b5f58a8484e095ce99cead88d11692cd1c1f6833db5ec622da8",
  "repo_slug": "tobitech/swift-mvvm",
  "fonte": "repo",
  "truncated": false,
  "api": "https://api.agentalog.com/api/listings/skl_tobitech_swift_mvvm_swift_mvvm_9283e96e/readme"
}