Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add existential-birds/beagle --skill "swift-testing-code-review"
Install specific skill from multi-skill repository
# Description
Reviews Swift Testing code for proper use of #expect/#require, parameterized tests, async testing, and organization. Use when reviewing .swift files with import Testing, @Test, #expect, @Suite, or confirmation patterns.
# SKILL.md
name: swift-testing-code-review
description: Reviews Swift Testing code for proper use of #expect/#require, parameterized tests, async testing, and organization. Use when reviewing .swift files with import Testing, @Test, #expect, @Suite, or confirmation patterns.
Swift Testing Code Review
Quick Reference
| Issue Type | Reference |
|---|---|
| #expect vs #require, expression capture, error testing | references/expect-macro.md |
| @Test with arguments, traits, zip() pitfalls | references/parameterized.md |
| confirmation, async sequences, completion handlers | references/async-testing.md |
| @Suite, tags, parallel execution, .serialized | references/organization.md |
Review Checklist
- [ ] Expressions embedded directly in
#expect(not pre-computed booleans) - [ ]
#requireused only for preconditions,#expectfor assertions - [ ] Error tests check specific types (not generic
(any Error).self) - [ ] Parameterized tests with pairs use
zip()(not Cartesian product) - [ ] No logic mirroring implementation in parameterized expected values
- [ ] Async sequences tested with
confirmation(expectedCount:) - [ ] Completion handlers use
withCheckedContinuation, notconfirmation - [ ]
.serializedapplied only where necessary (shared resources) - [ ] Sibling serialized suites nested under parent if mutually exclusive
- [ ] No assumption of state persistence between
@Testfunctions - [ ] Disabled tests have explanations and bug links
When to Load References
- Reviewing #expect or #require usage -> expect-macro.md
- Reviewing @Test with arguments or traits -> parameterized.md
- Reviewing confirmation or async testing -> async-testing.md
- Reviewing @Suite or test organization -> organization.md
Review Questions
- Could pre-computed booleans in
#expectlose diagnostic context? - Is
#requirestopping tests prematurely instead of revealing all failures? - Are multi-argument parameterized tests creating accidental Cartesian products?
- Could
zip()silently drop test cases due to unequal array lengths? - Are completion handlers incorrectly tested with
confirmation?
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.