К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

swiftdata-pro — скилл для Claude Code: проверка и улучшение

Скилл для написания, проверки и улучшения кода SwiftData с соблюдением современных API и best practices. Нужен, если вы работаете с SwiftData в проектах на Swift.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add twostraws/SwiftData-Agent-Skill --skill swiftdata-pro -a claude-code
Открыть на GitHub

Что делает swiftdata-pro

swiftdata-pro анализирует SwiftData-код по пяти направлениям: базовые правила фреймворка, безопасность и поддерживаемость предикатов, особенности CloudKit, возможности индексирования для iOS 18+ и паттерны наследования классов для iOS 26+. Скилл загружает только релевантные справочники — если проект не использует CloudKit, эта проверка не запускается.

При анализе скилл находит настоящие проблемы, а не придираться к стилю. Проверяет удаление связей, корректность работы @Query внутри SwiftUI-представлений, предикаты, которые падают в runtime (например, isEmpty == false), и правильность структуры проекта. Если вы просите улучшить код, скилл применяет исправления сразу, если только написать отчёт — показывает проблемы по файлам с примерами до и после.

Скилл ориентирован на Swift 6.2 и не предложит Core Data вместо SwiftData без вашего согласия. Не добавляет внешних фреймворков самостоятельно.

Какие задачи решает

  • Проверить SwiftData-код на соответствие современным API и best practices
  • Найти ошибки в предикатах, которые приводят к краху во время выполнения
  • Убедиться, что delete rules и relationships настроены правильно
  • Оптимизировать индексирование для iOS 18+
  • Проверить CloudKit-специфичные ограничения в моделях

Примеры запросов агенту

  • Проверь код в `DestinationListView.swift` на ошибки SwiftData
  • Напиши скилл swiftdata-pro для моделей в этом проекте, обнови их по best practices
  • Проанализируй предикаты в этом файле — есть ли там опасные паттерны?

Как установить swiftdata-pro

1Через Skills CLI (Vercel)

npx skills add twostraws/SwiftData-Agent-Skill --skill swiftdata-pro -a claude-code

2Вручную: положить файлы

~/.claude/skills/swiftdata-pro/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/swiftdata-pro/

Похожие

mcp-security-audit официальный github Проверяет конфигурации MCP-серверов на секреты, shell-инъекции, подвижные версии пакетов и незакреплённые серверы. Пригодится перед изменением .mcp.json. GitHub Copilot 1 100установок arize-trace официальный arize Скилл экспортирует трейсы и спаны Arize по ID, а также помогает разбирать ошибки и поведение LLM-приложения. Пригодится, когда нужно исследовать уже собранные данные. GitHub Copilot 1 100установок dart-use-path-package flutter Учит агента работать с путями файлов в Dart через package:path, избегая строковых операций, которые ломаются на Windows. Claude Code CX Codex Cursor +1 5 900установок lint-and-validate sickn33 Скилл запускает настроенные линтеры и проверку типов, отличая сбои в коде от незапущенных утилит. Пригодится после правок кода перед сдачей задачи агентом. Claude Code CX Codex Cursor +1 1 300установок architect-review sickn33 Скилл для случаев, когда агенту нужно оценить архитектуру целиком: риски, компромиссы, план проверки. Claude Code CX Codex Cursor +1 1 300установок vulnerability-scanner sickn33 Скилл обучает ИИ-агента поиску уязвимостей в коде по стандартам OWASP 2025 и оценке цепочки поставок. Пригодится при аудите репозитория перед релизом. Claude Code CX Codex Cursor +1 1 300установок improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. Claude Code 1 163 035установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. Claude Code 1 141 062установок

Вопросы о swiftdata-pro

Как установить swiftdata-pro в Claude Code?

Выполните npx skills add twostraws/SwiftData-Agent-Skill --skill swiftdata-pro -a claude-code, затем откройте ~/.claude/skills/swiftdata-pro/SKILL.md. Для Cursor команда: npx skills add twostraws/SwiftData-Agent-Skill --skill swiftdata-pro -a cursor, файл будет в .cursor/skills/swiftdata-pro/SKILL.md.

Что делает swiftdata-pro?

Анализирует и улучшает SwiftData-код: проверяет предикаты на опасные паттерны, корректность связей и delete rules, особенности CloudKit и iOS 18+ индексирования. Находит реальные ошибки и показывает примеры исправлений.

Как skилл работает с CloudKit?

Если в проекте используется CloudKit, скилл дополнительно проверяет ограничения на уникальность, optionality полей и особенности eventual consistency. Для проектов без CloudKit эта проверка не запускается.

Исходный текст

SKILL.md · MIT
---
name: swiftdata-pro
description: Writes, reviews, and improves SwiftData code using modern APIs and best practices. Use when reading, writing, or reviewing projects that use SwiftData.
license: MIT
metadata:
  author: Paul Hudson
  version: "1.0"
---

Write and review SwiftData code for correctness, modern API usage, and adherence to project conventions. Report only genuine problems - do not nitpick or invent issues.

Review process:

1. Check for core SwiftData issues using `references/core-rules.md`.
1. Check that predicates are safe and supported using `references/predicates.md`.
1. If the project uses CloudKit, check for CloudKit-specific constraints using `references/cloudkit.md`.
1. If the project targets iOS 18+, check for indexing opportunities using `references/indexing.md`.
1. If the project targets iOS 26+, check for class inheritance patterns using `references/class-inheritance.md`.

If doing partial work, load only the relevant reference files.


## Core Instructions

- Target Swift 6.2 or later, using modern Swift concurrency.
- The user strongly prefers to use SwiftData across the board. Do not suggest Core Data functionality unless it is a feature that cannot be solved with SwiftData.
- Do not introduce third-party frameworks without asking first.
- Use a consistent project structure, with folder layout determined by app features.


## Output Format

If the user asks for a review, organize findings by file. For each issue:

1. State the file and relevant line(s).
2. Name the rule being violated.
3. Show a brief before/after code fix.

Skip files with no issues. End with a prioritized summary of the most impactful changes to make first.

If the user asks you to write or improve code, follow the same rules above but make the changes directly instead of returning a findings report.

Example output:

### Destination.swift

**Line 8: Add an explicit delete rule for relationships.**

```swift
// Before
var sights: [Sight]

// After
@Relationship(deleteRule: .cascade, inverse: \Sight.destination) var sights: [Sight]
```

**Line 22: Do not use `isEmpty == false` in predicates – it crashes at runtime. Use `!` instead.**

```swift
// Before
#Predicate<Destination> { $0.sights.isEmpty == false }

// After
#Predicate<Destination> { !$0.sights.isEmpty }
```

### DestinationListView.swift

**Line 5: `@Query` must only be used inside SwiftUI views.**

```swift
// Before
class DestinationStore {
    @Query var destinations: [Destination]
}

// After
class DestinationStore {
    var modelContext: ModelContext

    func fetchDestinations() throws -> [Destination] {
        try modelContext.fetch(FetchDescriptor<Destination>())
    }
}
```

### Summary

1. **Data loss (high):** Missing delete rule on line 8 of Destination.swift means sights will be orphaned when a destination is deleted.
2. **Crash (high):** `isEmpty == false` on line 22 will crash at runtime – use `!isEmpty` instead.
3. **Incorrect behavior (high):** `@Query` on line 5 of DestinationListView.swift only works inside SwiftUI views.

End of example.


## References

- `references/core-rules.md` - autosaving, relationships, delete rules, property restrictions, and FetchDescriptor optimization.
- `references/predicates.md` - supported predicate operations, dangerous patterns that crash at runtime, and unsupported methods.
- `references/cloudkit.md` - CloudKit-specific constraints including uniqueness, optionality, and eventual consistency.
- `references/indexing.md` - database indexing for iOS 18+, including single and compound property indexes.
- `references/class-inheritance.md` - model subclassing for iOS 26+, including @available requirements, schema setup, and predicate filtering.

© Paul Hudson · MIT · twostraws/SwiftData-Agent-Skill

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой