CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

debugging-instruments

Debug iOS apps and profile performance using LLDB, the interactive Memory Graph Debugger, and Instruments. Use for crashes, retain-cycle inspection, hangs, build failures, and generic CPU, memory, energy, or network profiling. Use ios-memgraph-analysis for .memgraph capture, leaks CLI ownership paths, or persistent heap growth; use ios-ettrace-performance for ETTrace capture and JSON.

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is dpearson2699/swift-ios-skills

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a highly actionable reference with concrete commands, exact UI paths, and clearly sequenced diagnostic workflows, backed by two well-organized companion references. Its main costs are redundancy — textbook retain-cycle patterns and Instruments material duplicated from the reference file — which inflate tokens without adding knowledge Claude lacks.

Suggestions

Trim the three LEAK/FIXED retain-cycle examples (closure, delegate, timer) to one-line mentions or move them to a reference; the [weak self]/weak-delegate patterns are standard Swift knowledge and the Review Checklist already encodes them.

Cut the Instruments template-selection table and xctrace CLI section down to a pointer to references/instruments-guide.md, keeping only the routing sentence, since that file already covers the same templates and commands in depth.

Add an explicit verification checkpoint to the build-failure triage workflow (e.g., "rebuild after the first fix and confirm zero errors before moving on") to close its feedback loop.

DimensionReasoningScore

Conciseness

The LLDB command block, xctrace CLI, Malloc Stack Logging enablement paths, and TSan Simulator-only note earn their tokens, but the three full LEAK/FIXED retain-cycle examples (closure, delegate, timer), the print() vs Logger contrast, and the actor-for-shared-state example restate textbook Swift knowledge, and the Review Checklist repeats the same retain-cycle items. This sits at "mostly efficient but includes some unnecessary explanation or could be tightened" rather than anchor 2, since most sections are dense lookups rather than padded prose.

3 / 5

Actionability

Everything is executable: copy-paste-ready (lldb) commands ("br set -f ViewModel.swift -l 42", "w set v self.score"), xcrun xctrace record/export invocations, exact UI paths ("Scheme > Run > Diagnostics > Malloc Stack Logging"), named build settings (FRAMEWORK_SEARCH_PATHS, OTHER_LDFLAGS), and a working OSSignposter snippet covering the common cases.

5 / 5

Workflow Clarity

The LLDB, Memory Graph, and Time Profiler workflows are clearly numbered with verification built in ("verify the failing state", "prove retained growth" via Mark Generation) and a Review Checklist closes the skill. Hang diagnostics and build-failure triage, however, present guidance without explicit verify/recover checkpoints, leaving minor validation gaps typical of anchor 4; no destructive or batch operations exist that would cap the score at 3.

4 / 5

Progressive Disclosure

Both referenced files exist, are one level deep, and are well signaled ("Load references/lldb-patterns.md for the complete... command tables"), with a Contents nav and a References section aiding navigation. The Instruments Overview template-selection table and xctrace CLI section, however, duplicate content that also lives in references/instruments-guide.md (its TOC covers the same templates and xctrace), so some material that belongs in the reference is inlined — good structure with minor organization gaps, not the clean split of anchor 5.

4 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is explicit about both capabilities and trigger conditions, names its tools concretely, and proactively disambiguates against sibling skills. The only weakness is a handful of missing natural synonyms (e.g., "memory leak", "battery drain") that users might phrase differently from the listed trigger terms.

Suggestions

Add common user phrasings such as "memory leaks" alongside "retain-cycle inspection" and "battery drain" alongside "energy profiling" to broaden natural trigger coverage.

Consider mentioning MetricKit or crash-report triage in the trigger list if the skill body's hang/crash coverage is meant to be discoverable from user reports.

DimensionReasoningScore

Specificity

"Debug iOS apps and profile performance using LLDB, the interactive Memory Graph Debugger, and Instruments" plus "crashes, retain-cycle inspection, hangs, build failures, and generic CPU, memory, energy, or network profiling" lists multiple concrete actions with comprehensive coverage of the skill's scope. Anchor 4 fits skills with minor coverage gaps; here the named tools and actions cover the full domain, so 5 is the best fit.

5 / 5

Completeness

It explicitly answers what ("Debug iOS apps and profile performance using LLDB, the interactive Memory Graph Debugger, and Instruments") and when ("Use for crashes, retain-cycle inspection, hangs, build failures, and generic CPU, memory, energy, or network profiling") with concrete trigger phrases, exactly matching the anchor-5 pattern.

5 / 5

Trigger Term Quality

Strong natural terms users would say — "crashes", "hangs", "build failures", "CPU, memory, energy, or network profiling" — and it even includes the ".memgraph" file extension. However, common synonyms like "memory leak", "slow/frozen UI", or "battery drain" are absent, so keyword coverage is good but not comprehensive per the anchor-5 example.

4 / 5

Distinctiveness Conflict Risk

The iOS debugging/profiling niche is distinct, and the routing clauses ("Use ios-memgraph-analysis for .memgraph capture, leaks CLI ownership paths, or persistent heap growth; use ios-ettrace-performance for ETTrace capture and JSON") explicitly carve out the nearest overlapping skills, minimizing wrong-skill triggering.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

dpearson2699/swift-ios-skills

Path

skills/debugging-instruments/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.