CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

hopper-debugger

Hopper debugging: macOS/iOS binaries, ObjC/Swift symbols, dyld, LLDB.

65

Quality

82%

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

SKILL.md
Quality
Evals
Security

Quality

Content

96%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.

This is an exemplary operational skill body: dense with hard-won failure knowledge, fully copy-paste-ready, and sequenced with explicit validation checkpoints and recovery guidance. The only structural improvement available is splitting the licensing and provenance detail into a reference file to slim the main document.

Suggestions

Split the licensing section (order id, 1Password vault location, About-panel guidance) and the provenance caveats for the pre-made dyld exports into a reference file (e.g. references/licensing.md), keeping a one-line pointer in SKILL.md.

Trim personal-context specifics (e.g. the full order id) out of the main body and into that reference to keep the core query workflow front and center.

DimensionReasoningScore

Conciseness

Nearly every line encodes non-obvious operational knowledge Claude could not infer ('mcporter accepts an unknown --params flag silently', 'preferences domain com.cryptic-apps.hopper-web-4', 'perform action "AXPress" ... never a synthetic click', 'document names carry no .hop extension'). There is no padding and no explanation of concepts Claude already knows; every token earns its place.

5 / 5

Actionability

The body is fully executable throughout: the mcporter config-add command with exact binary path, --args call examples with literal JSON payloads, a raw stdio JSON-RPC heredoc for isolating transport faults, an import poll loop, an osascript AXPress snippet, and a daemon restart. Copy-paste-ready commands cover the common cases plus failure modes.

5 / 5

Workflow Clarity

The 'Query workflow' is explicitly numbered with a validation checkpoint ('Validate the hypothesis with LLDB/logging/repro before editing app code'), and the body adds verification after setup, poll-instead-of-sleep on long imports, a control-run on a second OS before concluding 'regression', and a failure-handling section with recovery loops (retry after checking windows, restart daemon over process kills). No destructive or batch operations apply a cap.

5 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and the body is well-sectioned with clearly signaled external resources ('$one-password', '$remote-mac', '~/Library/CloudStorage/Dropbox/Hopper/'). It is not 5 because at ~115 lines it exceeds the simple-skill (<50 line) exception and content that could live in a separate file (licensing specifics, provenance caveats for the pre-made exports) is inlined; it is not 3 because structure is good and nothing is buried.

4 / 5

Total

19

/

20

Passed

Description

60%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 distinctive and keyword-rich within its niche, but it is a noun-phrase inventory rather than a capability statement: no concrete actions and no 'when to use' guidance. Adding an explicit trigger clause and one or two verbs would lift it substantially.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when the user mentions Hopper, disassembling a macOS/iOS binary, or needs to resolve ObjC/Swift symbols against the dyld shared cache.'

Convert the noun list into concrete actions, e.g. 'Disassemble macOS/iOS binaries in Hopper, resolve ObjC/Swift symbols, extract frameworks from the dyld shared cache, and correlate findings with LLDB.'

Include natural synonyms users say for the task, such as 'reverse engineering' or 'disassembly', to improve trigger term coverage.

DimensionReasoningScore

Specificity

The phrase 'Hopper debugging: macOS/iOS binaries, ObjC/Swift symbols, dyld, LLDB' names the domain and its artifacts concretely but contains no action verbs whatsoever, matching the anchor 'Names the domain but actions are minimal or generic.' It is not 3 because no concrete actions are listed anywhere, and not 1 because the domain is named with specific, non-generic detail.

2 / 5

Completeness

There is a clear-enough 'what' ('Hopper debugging' over macOS/iOS binaries) but no 'Use when...' clause or equivalent trigger guidance of any kind, so completeness is capped at 3 per the judging guidelines. It is not 4 because the 'when' is entirely absent rather than merely under-specified, and not 2 because the 'what' is present and concrete.

3 / 5

Trigger Term Quality

'Hopper', 'macOS/iOS binaries', 'ObjC/Swift symbols', 'dyld', and 'LLDB' are terms a user with this need would naturally say, giving good keyword coverage. It is not 5 because natural synonyms for the task itself ('disassemble', 'reverse engineer', 'disassembly', 'crash') are missing, and not 3 because coverage within the niche is solid rather than partial.

4 / 5

Distinctiveness Conflict Risk

'Hopper' names a specific niche tool and the surrounding terms (dyld, ObjC/Swift, LLDB) reinforce a clear, narrow trigger surface with minimal overlap risk against other skills. Nothing in the description is generic enough to collide with unrelated skills.

5 / 5

Total

14

/

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

Path

skills/hopper-debugger/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.