.claude/skills/architecture/SKILL.md
SOLID principles, DRY, Clean Architecture, and design patterns for macOS development. Use when making architectural decisions or reviewing code structure.
npx skillsauth add brdohman/agile-maestro architecture-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reference material for architectural decisions in macOS Swift/SwiftUI applications.
During code review, watch for these patterns:
| Smell | Signal | Fix |
|-------|--------|-----|
| God Object | Class > 300 lines or > 10 methods | Split into focused types |
| Feature Envy | Method uses more properties from another class than its own | Move method to the other class |
| Primitive Obsession | Strings/ints used for domain concepts (status as String) | Create enum or value type |
| Long Parameter List | Function with > 4 parameters | Group into config struct |
| Shotgun Surgery | One change requires edits in 5+ files | Consolidate related logic |
| Message Chain | a.b.c.d.doThing() | Introduce delegation or facade |
Review function signatures for:
fetchItems() not getData())Result<T, Error> for operations that commonly fail, throws for exceptional failures, Optional for absent values// BAD — vague name, unclear return
func process(_ data: Any) -> Any
// GOOD — clear name, typed, documented intent
func importTransactions(from csv: CSVFile) throws -> [Transaction]
High cohesion (good): All methods in a class relate to the same concept. A TransactionService only deals with transactions.
Low coupling (good): Classes depend on protocols, not concrete types. Changes to one module don't cascade.
Review checks:
import statements — more than 3 internal imports suggests high couplingBeyond @MainActor, verify during code review:
Sendablenonisolated is intentional, not accidentalTask.checkCancellation())// REVIEW FLAG — mutable state without isolation
class SharedCache {
var items: [String: Item] = [:] // NOT thread-safe
}
// CORRECT — actor-isolated
actor SharedCache {
var items: [String: Item] = [:] // Thread-safe by actor isolation
}
testing
XCTest patterns for macOS Swift apps. Unit tests, async tests, Core Data tests, mock patterns, and assertion reference. Use when writing or reviewing tests.
tools
How to transition workflow state between review stages. Rules for setting review_stage and review_result fields on Stories and Epics.
documentation
Comment structure and rules for task workflow updates. Use when adding any comment to a task during implementation, review, or fix cycles.
testing
Validate task/story/epic/bug/techdebt metadata against schema v2.0. Run after TaskCreate or TaskUpdate to verify compliance. Returns pass/fail with actionable details.