Skip to content
Automation
Skill

/ha-debug

Hope-native debugging for code failures, regressions, crashes, flaky behavior, and bad output: reproduce or characterize, rank falsifiable hypotheses, fix the smallest root cause, and prove the failing path.

From plugin
hope-agent
1.9k30 skills

Claude Code

$ npx -y skills add shiwenwen/hope-agent --skill ha-debug --agent claude-code

SKILL.md

ha-debug.SKILL.md
name: ha-debug
description: "Hope-native debugging for code failures, regressions, crashes, flaky behavior, and bad output: reproduce or characterize, rank falsifiable hypotheses, fix the smallest root cause, and prove the failing path."
paths: ["*.rs", "*.ts", "*.tsx", "*.js", "*.jsx", "*.py", "*.go", "*.java", "*.kt", "*.swift", "*.c", "*.cpp", "*.h", "*.rb", "*.php", "*.sh"]

Hope Debug

Debug from evidence, not from the first plausible explanation. This is a decision process, not a mandatory four-stage ceremony.

1. Characterize The Failure

Capture the strongest available evidence:

  • Exact symptom, expected behavior, and observed behavior.
  • Reproduction steps, failing command, stack trace, log range, or persisted

state.

  • Whether it is deterministic, intermittent, platform-specific, data-specific,

or timing-sensitive.

  • Recent relevant diffs, dependency/config changes, and known-good boundary.

If reproduction is unsafe or requires unavailable credentials, characterize it from logs, fixtures, state, and code paths. State the evidence gap explicitly.

2. Bound The Fault

Trace the smallest credible path through inputs, state transitions, persistence, concurrency boundaries, and outputs. For multi-component systems, compare what crosses each boundary rather than adding broad instrumentation everywhere.

Common high-value checks:

  • Stale or duplicated persisted state.
  • Error swallowing, fallback, retry, cancellation, and timeout paths.
  • Async ordering, locks, process boundaries, and late results.
  • Platform, locale, permission, path, and environment assumptions.
  • Mismatch between source-of-truth data and UI projection.

3. Rank Falsifiable Hypotheses

Keep one or two active hypotheses. For each, write:

  • Why it explains the evidence.
  • What observation would disprove it.
  • The cheapest discriminating check.

Run the discriminating check before editing when practical. If a tiny, obvious fix is itself the cheapest safe experiment, keep it reversible and inspect the result before broadening scope.

4. Fix The Root Cause

  • Patch the smallest ownership boundary that restores the contract.
  • Avoid subsystem rewrites before the fault is proven.
  • Preserve unrelated user work and existing public behavior.
  • Add defense-in-depth only when it covers a demonstrated adjacent failure, not

as speculative cleanup.

After two failed fix attempts, stop patching variants. Re-read the original evidence, challenge the shared assumption, and narrow the boundary again.

5. Prove The Failing Path

Use `ha-test-strategy` to choose the regression form and `ha-verify` to confirm completion. Prefer a check that would have failed before the fix:

  • Focused automated regression test.
  • Existing failing command or deterministic fixture.
  • Before/after database or log query.
  • Manual reproduction when automation is not credible.

Passing compilation alone does not prove a runtime bug fixed. If the real path cannot be exercised, report the strongest substitute and remaining uncertainty.

Stop Conditions

Pause and ask for input only when progress requires inaccessible user state, an external system change, destructive action, or a product decision. Do not invent data or mark an unreproduced hypothesis as confirmed.

Smoke Prompts

  • "This test fails intermittently; find and fix the root cause."
  • "The UI shows stale state after restart; diagnose the persistence path."
  • "Use this session id and logs to explain the regression, then repair it."
Read more
@shiwenwen
Ships withhope-agent

🦭 A cross-device desktop AI agent with memory, autonomous goals, dynamic workflows, and headless deployment | 会记忆、能持续推进目标、会动态编排多 Agent 的跨端桌面 AI 助手,也可服务化常驻 NAS / 云端

Stars on GitHub

Momentum

stars in total
1.9k
Star history of shiwenwen/hope-agent on GitHub, a chart by star-history.com

Other skills on hope-agent.

email-draft

email-draft

Use when the user asks to draft, polish, translate, or reply to an email. Produces a clean draft with subject line, greeting,…

feishu

feishu

Use when the user mentions 飞书 / Feishu / Lark workspace operations: docx (云文档) read/write, bitable (多维表格) records / views /…

ha-browser

ha-browser

Hope Agent browser automation — the standard `status → tabs → snapshot → act` loop, stale-ref recovery rules, and what to do when…

ha-code-review

ha-code-review

Hope-native review of uncommitted, staged, commit, branch, or PR changes: discover concrete regressions, independently verify…

ha-coding-common

ha-coding-common

Hope-native baseline for implementing, fixing, refactoring, and maintaining code: inspect the repository first, protect user…

ha-coding-plan

ha-coding-plan

Hope-native implementation planning for non-trivial code changes: ground the plan in repository evidence, order dependencies,…

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n2w209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about ha-debug.

Which coding agents can use ha-debug?
ha-debug installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.