khang5687/agent-scripts/hopper-debugger
Claude Code and agent skill by khang5687/agent-scripts
- community
Checking that the SKILL.md file is still in the repository.
Hopper debugging: macOS/iOS binaries, ObjC/Swift symbols, dyld, LLDB.
Install
npx vskill@latest install khang5687/agent-scripts/hopper-debuggerSKILL.md
The same SKILL.md was published earlier as karanmrn/karanagentskills/hopper-debugger.
Hopper Debugger
Goal: use Hopper through mcporter as a queryable disassembler, then combine the result with local source, LLDB, logs, and focused repros.
Quick Start
Validate the MCP server:
List open Hopper documents:
If no document is open, open the binary/framework in Hopper first:
Hopper may show a first-open/import dialog. Let the user click the confirmation button, then retry the MCP call. Avoid parallel Hopper MCP calls; the server can close the transport or crash Hopper while import is still settling.
Apple Frameworks
Prefer already extracted dyld-cache framework binaries when present:
Open one at a time when debugging SwiftUI/AppKit boundary issues:
Verify access:
Document names can start as Untitled; retry after Hopper finishes importing. Use current_document, symbol/string searches, and window title changes to identify AppKit vs SwiftUI.
Query Workflow
- Start from the local source path or runtime symbol you are trying to explain.
- Search names/procedures/strings:
- Inspect one small target at a time:
- Summarize the relevant control flow; do not paste large decompilations.
- Validate the hypothesis with LLDB/logging/repro before editing app code.
Status Item / Menu Click Bugs
Useful AppKit/SwiftUI searches:
Symbols worth inspecting when menu bar clicks do nothing:
-[NSStatusBarButtonCell trackMouse:inRect:ofView:untilMouseUp:]-[NSStatusBarButtonCell _sendActionFrom:]-[NSStatusItem popUpStatusBarMenu:]-[NSApplication sendAction:to:from:]- SwiftUI status/menu symbols that reference
NSStatusItem_Private_ForSwiftUI
Compare disassembly against runtime state:
For hardened signed apps, attach may fail without get-task-allow; launch the raw debug binary under LLDB when needed.
Failure Handling
- Wrap Hopper calls with
timeout; a modal/import or closed document can leave the transport stuck. - Do not send concurrent Hopper MCP requests during import. If a query is expensive, wait for it to finish before starting another.
- If calls report
Connection closed, check for a Hopper modal, then retry after confirmation. - If Hopper crashes, reopen a single document, wait for import/analysis, and re-run
list_documentsbefore deeper searches. - If mcporter is wedged, inspect processes before killing anything:
- Prefer restarting the mcporter daemon over broad process kills:
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/hopper-debugger/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/khang5687/agent-scripts/hopper-debugger)