Use this skill when:
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionaxiom-swiftui-debugging-diagExecute the skills CLI command in your project's root directory to begin installation:
Fetches axiom-swiftui-debugging-diag from charleswiltgen/axiom and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate axiom-swiftui-debugging-diag. Access via /axiom-swiftui-debugging-diag in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
716
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
716
stars
Use this skill when:
axiom-swiftui-debugging skill patterns but issue persistsUnder pressure, you'll be tempted to shortcuts that hide problems instead of diagnosing them. NEVER do these:
❌ Guessing with random @State/@Observable changes
❌ Adding .id(UUID()) to force updates
❌ Using ObservableObject when @Observable would work (iOS 17+)
❌ Ignoring intermittent issues ("works sometimes")
❌ Shipping without understanding
Before diving into diagnostic patterns, establish baseline environment:
# 1. Verify Instruments setup
xcodebuild -version # Must be Xcode 26+ for SwiftUI Instrument
# 2. Build in Release mode for profiling
xcodebuild build -scheme YourScheme -configuration Release
# 3. Clear derived data if investigating preview issues
rm -rf ~/Library/Developer/Xcode/DerivedData
Time cost: 5 minutes Why: Wrong Xcode version or Debug mode produces misleading profiling data
SwiftUI view issue after basic troubleshooting?
│
├─ View not updating?
│ ├─ Basic check: Add Self._printChanges() temporarily
│ │ ├─ Shows "@self changed" → View value changed
│ │ │ └─ Pattern D1: Analyze what caused view recreation
│ │ ├─ Shows specific state property → That state triggered update
│ │ │ └─ Verify: Should that state trigger update?
│ │ └─ Nothing logged → Body not being called at all
│ │ └─ Pattern D3: View Identity Investigation
│ └─ Advanced: Use SwiftUI Instrument
│ └─ Pattern D2: SwiftUI Instrument Investigation
│
├─ View updating too often?
│ ├─ Pattern D1: Self._printChanges() Analysis
│ │ └─ Identify unnecessary state dependencies
│ └─ Pattern D2: SwiftUI Instrument → Cause & Effect Graph
│ └─ Trace data flow, find broad dependencies
│
├─ Intermittent issues (works sometimes)?
│ ├─ Pattern D3: View Identity Investigation
│ │ └─ Check: Does identity change unexpectedly?
│ ├─ Pattern D4: Environment Dependency Check
│ │ └─ Check: Environment values changing frequently?
│ └─ Reproduce in preview 30+ times
│ └─ If can't reproduce: Likely timing/race condition
│
└─ Preview crashes (after basic fixes)?
├─ Pattern D5: Preview Diagnostics (Xcode 26)
│ └─ Check diagnostics button, crash logs
└─ If still fails: Pattern D2 (profile preview build)
Time cost: 5 minutes
Symptom: Need to understand exactly why view body runs
When to use:
Technique:
struct MyView: View {
@State private var count = 0
@Environment(AppModel.self) private var model
var body: some View {
let _ = Self._printChanges() // Add temporarily
VStack {
Text("Count: \(count)")
Text("Model value: \(model.value)")
}
}
}
Output interpretation:
# Scenario 1: View parameter changed
MyView: @self changed
→ Parent passed new MyView instance
→ Check parent code - what triggered recreation?
# Scenario 2: State property changed
MyView: count changed
→ Local @State triggered update
→ Expected if you modified count
# Scenario 3: Environment property changed
MyView: @self changed # Environment is part of @self
→ Environment value changed (color scheme, locale, custom value)
→ Pattern D4: Check environment dependencies
# Scenario 4: Nothing logged
→ Body not being called
→ Pattern D3: View identity investigation
Common discoveries:
"@self changed" when you don't expect
Property shows changed but you didn't change it
Multiple properties changing together
Verification:
Self._printChanges() call before committingCross-reference: For complex cases, use Pattern D2 (SwiftUI Instrument)
Time cost: 25 minutes
Symptom: Complex update patterns that Self._printChanges() can't fully explain
When to use:
Prerequisites:
Steps:
# Build Release
xcodebuild build -scheme YourScheme -configuration Release
# Launch Instruments
# Press Command-I in Xcode
# Choose "SwiftUI" template
Fix: Move expensive operation to model layer, cache result
Graph nodes:
[Blue node] = Your code (gesture, state change, view body)
[System node] = SwiftUI/system work
[Arrow labeled "update"] = Caused this update
[Arrow labeled "creation"] = Caused view to appear
Common patterns:
# Pattern A: Single view updates (GOOD)
[Gesture] → [State Change in ViewModelA] → [ViewA body]
# Pattern B: All views update (BAD - broad dependency)
[Gesture] → [Array change] → [All list item views update]
└─ Fix: Use granular view models, one per item
# Pattern C: Cascade through environment (CHECK)
[State Change] → [Environment write] → [Many view bodies check]
└─ If environment value changes frequently → Pattern D4 fix
Click on nodes:
Verification:
Cross-reference: axiom-swiftui-performance skill for detailed Instruments workflows
Time cost: 15 minutes
Symptom: @State values reset unexpectedly, or views don't animate
When to use:
Root cause: View identity changed unexpectedly
Investigation steps:
// ❌ PROBLEM: Identity changes with condition
if showDetails {
CounterView() // Gets new identity each time showDetails toggles
}
// ✅ FIX: Use .opacity()
CounterView()
.opacity(showDetails ? 1 : 0) // Same identity always
Find: Search codebase for views inside if/else that hold state
// ❌ PROBLEM: .id() changes when data changes
DetailView()
.id(item.id + "-\(isEditing)") // ID changes with isEditing
// ✅ FIX: Stable ID
DetailView()
.id(item.id) // Stable ID
Find: Search codebase for .id( — check if ID values change
// ❌ WRONG: Index-based ID
ForEach(Array(items.enumerated()), id: \.offset) { index, item in
Text(item.name)
}
// ❌ WRONG: Non-unique ID
ForEach(items, id: \.category) { item in // Multiple items per category
Text(item.name)
}
// ✅ RIGHT: Unique, stable ID
ForEach(items, id: \.id) { item in
Text(item.name)
}
Find: Search for ForEach — verify unique, stable IDs
Fix patterns:
| Issue | Fix |
|---|---|
| View in conditional | Use .opacity() instead |
| .id() changes too often | Use stable identifier |
| ForEach jumping | Use unique, stable IDs (UUID or server ID) |
| State resets on navigation | Check NavigationStack path management |
Verification:
Time cost: 10 minutes
Symptom: Many views updating when unrelated data changes
When to use:
Root cause: Frequently-changing value in environment OR too many views reading environment
Investigation steps:
# Search for environment modifiers in current project
grep -r "\.environment(" --includeImplementation Guide
Prerequisites
- ›Claude Desktop or compatible AI client with skill support
- ›Clear understanding of task or problem to solve
- ›Willingness to iterate and refine outputs
Time Estimate
15-45 minutes depending on use case complexity
Steps
- 1Install skill using provided installation command
- 2Test with simple use case relevant to your work
- 3Evaluate output quality and relevance
- 4Iterate on prompts to improve results
- 5Integrate into regular workflow if valuable
Common Pitfalls
- ⚠Expecting perfect results without iteration
- ⚠Not providing enough context in prompts
- ⚠Using skill for tasks outside its intended scope
- ⚠Accepting outputs without review and validation
Best Practices
✓ Do
- +Start with clear, specific prompts
- +Provide relevant context and constraints
- +Review and refine all outputs before using
- +Iterate to improve output quality
- +Document successful prompt patterns
✗ Don't
- −Don't use without understanding skill limitations
- −Don't skip validation of outputs
- −Don't share sensitive information in prompts
- −Don't expect skill to replace human judgment
💡 Pro Tips
- ★Be specific about desired format and style
- ★Ask for multiple options to choose from
- ★Request explanations to understand reasoning
- ★Combine AI efficiency with human expertise
When to Use This
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
Learning Path
- 1Familiarize yourself with skill capabilities and limitations
- 2Start with low-risk, non-critical tasks
- 3Progress to more complex and valuable use cases
- 4Build expertise through regular use and experimentation
Related Skills
frontend-design
662anthropics/claude-code
Frontendsame categoryui-animation
242mblode/agent-skills
Frontendsame categorypremium-frontend-ui
236github/awesome-copilot
Frontendsame categoryantigravity-design-expert
209sickn33/antigravity-awesome-skills
Frontendsame categoryhigh-end-visual-design
193leonxlnx/taste-skill
Frontendsame categoryinterior-design-expert
145erichowens/some_claude_skills
Frontendsame categoryReviews
4.6★★★★★31 reviews- NNeel Anderson★★★★★Dec 12, 2024
Useful defaults in axiom-swiftui-debugging-diag — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- PPratham Ware★★★★★Dec 8, 2024
axiom-swiftui-debugging-diag has been reliable in day-to-day use. Documentation quality is above average for community skills.
- SSakshi Patil★★★★★Nov 27, 2024
Solid pick for teams standardizing on skills: axiom-swiftui-debugging-diag is focused, and the summary matches what you get after install.
- CChaitanya Patil★★★★★Oct 18, 2024
We added axiom-swiftui-debugging-diag from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- AAmelia Verma★★★★★Sep 25, 2024
Solid pick for teams standardizing on skills: axiom-swiftui-debugging-diag is focused, and the summary matches what you get after install.
- AAanya Lopez★★★★★Sep 13, 2024
Registry listing for axiom-swiftui-debugging-diag matched our evaluation — installs cleanly and behaves as described in the markdown.
- OOshnikdeep★★★★★Sep 1, 2024
axiom-swiftui-debugging-diag reduced setup friction for our internal harness; good balance of opinion and flexibility.
- GGanesh Mohane★★★★★Aug 20, 2024
I recommend axiom-swiftui-debugging-diag for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- CChen Wang★★★★★Aug 16, 2024
We added axiom-swiftui-debugging-diag from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- AAmina Anderson★★★★★Aug 4, 2024
Keeps context tight: axiom-swiftui-debugging-diag is the kind of skill you can hand to a new teammate without a long onboarding doc.
showing 1-10 of 31
1 / 4Discussion
Comments — not star reviews- No comments yet — start the thread.