CtrlK
BlogDocsLog inGet started
Tessl Logo

native-app-performance

Native app performance: xctrace, Time Profiler, traces, hotspots.

58

Quality

66%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/native-app-performance/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

93%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 an exemplar of a lean CLI skill: goal statement, copy-paste-ready commands for both attach and launch flows, practical workflow notes, verified script references, and gotchas that carry real non-obvious knowledge (ASLR load address, symbol/binary matching). The only notable gap is the absence of explicit validation checkpoints between capture and symbolication, e.g., confirming the trace actually contains samples before ranking hotspots.

DimensionReasoningScore

Conciseness

The body is lean throughout: "Goal: record Time Profiler via xctrace, extract samples, symbolicate, and propose hotspots without opening Instruments", five numbered command blocks, and terse notes/gotchas — no explanation of concepts Claude already knows (what xctrace or ASLR tutorials, etc.). Every line earns its place, matching the 'Lean and efficient' anchor; there is no padding to justify a 4.

5 / 5

Actionability

Commands are fully executable and copy-paste ready with appropriate placeholders: "xcrun xctrace record --template 'Time Profiler' --time-limit 90s --output /tmp/App.trace --attach <pid>", "vmmap <pid> | rg -m1 \"__TEXT\" -n", and the two script invocations with real flags. The common cases (attach vs launch recording, empty stacks, ASLR load addresses) are each covered, matching the 'Fully executable' anchor.

5 / 5

Workflow Clarity

The five steps (record → extract → get load address → symbolicate/rank) are clearly numbered with rationale, and there are error-recovery hints ("If stacks are empty, capture longer or avoid idle sections", "Always confirm you're profiling the correct binary"). It falls short of the anchor-5 example's explicit validate-then-proceed checkpoints: there is no stated step to verify the trace contains samples or that the load address resolved before running symbolication, so it fits 'Clear sequence with most checkpoints present; minor validation gaps'.

4 / 5

Progressive Disclosure

The SKILL.md is a compact overview with well-organized sections (Quick start, Workflow notes, Included scripts, Gotchas), and the heavy logic is correctly pushed into bundle scripts — all three referenced paths (scripts/extract_time_samples.py, scripts/record_time_profiler.sh, scripts/top_hotspots.py) exist in the bundle. References are one level deep, clearly signaled in the 'Included scripts' section, and there is nothing that should have been split out further, matching the 'Clear overview with well-signaled one-level-deep references' anchor.

5 / 5

Total

19

/

20

Passed

Description

40%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 functions as a terse topic label rather than a capability statement: it names the right domain and tools but includes no actions, no 'use when' trigger guidance, and no natural user phrases like 'slow app' or 'profile'. It is distinct enough to avoid most conflicts, but it under-communicates what the skill actually does and when it should fire.

Suggestions

State the concrete actions the skill performs, e.g., "Records Time Profiler traces via xctrace, extracts and symbolicates samples, and ranks hotspots in native apps."

Add an explicit trigger clause, e.g., "Use when the user reports a slow or CPU-heavy native/macOS/iOS app, mentions Instruments, Time Profiler, xctrace, or asks to find performance hotspots."

Include the natural synonyms users would say — "profile", "slow", "CPU usage", "laggy", "Instruments" — alongside the existing technical terms.

DimensionReasoningScore

Specificity

The description "Native app performance: xctrace, Time Profiler, traces, hotspots." names the domain and tools but states no actions at all — it is a noun list, matching the anchor 'Names the domain but actions are minimal or generic'. It is not a 3 because that anchor requires 1-2 concrete actions (e.g., 'Records Time Profiler traces, symbolicates samples'), and none are stated.

2 / 5

Completeness

There is no 'when' clause at all ("Use when profiling a slow native app..." is absent), which caps completeness at 3 per the guidelines, and the 'what' is itself vague — no capability is stated, only topics/tools. This fits anchor 2 ('Has a vague what and no when') better than anchor 3, whose example lists explicit actions like 'Extract text and tables from PDF files'.

2 / 5

Trigger Term Quality

Terms like "Time Profiler", "xctrace", and "hotspots" are relevant and somewhat natural for this domain, but common variations a user would actually say are missing: "profile my app", "slow app", "CPU usage", "Instruments". This matches 'Some relevant keywords but missing common variations or synonyms' rather than a 4, which requires good coverage with only a few terms missing.

3 / 5

Distinctiveness Conflict Risk

"Native app performance" with xctrace/Time Profiler carves a fairly specific Apple-profiling niche that is unlikely to grab unrelated skills, though it could overlap with a generic performance-optimization skill and does not distinguish iOS vs macOS. This matches 'Mostly distinct; minor overlap risk' — not a 5, since the triggers are not distinctive enough to eliminate overlap with a broader performance skill.

4 / 5

Total

11

/

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
steipete/agent-scripts
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.