Skill: Octane bug hunter

SkillDev tools

Bug hunter skill: lets your agent find and fix bugs in the octane monorepo from failing tests or regression reports.

Use Skill: Octane bug hunter in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Skill: Octane bug hunter and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Skill: Octane bug hunter

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Skill: Octane bug hunterStart free
About this skill

Find and fix a bug in the octane monorepo. Use when given a failing test, a regression, or a report that behavior differs from expectation, including deciding whether a React mismatch is an intentional divergence.

What this skill tells your AI

The instructions your AI receives, as published by octanejs/octane in .agents/skills/bug-hunter/SKILL.md and read by Ahel’s review.

Use this to find, reproduce, minimize, and fix a suspected Octane bug.

Read first

  • AGENTS.md
  • Owning source and nearby tests
  • docs/differences-from-react.md before assuming React mismatch is a bug

Workflow

  1. State the suspected behavior

    • Expected behavior, actual behavior, package, environment, and reproduction path.
    • Decide whether the issue concerns runtime, compiler, SSR/hydration, Vite plugin, or an ecosystem binding.
  2. Reproduce before fixing

    • Add or locate the smallest failing test/fixture.
    • For compiler/runtime behavior, prefer packages/octane/tests/_fixtures/*.tsrx plus a focused *.test.ts.
    • For React parity, cite source React tests and use conformance/differential conventions.
    • For ecosystem packages, use that package's tests/ harness.
  3. Minimize

    • Remove unrelated props, effects, timing, and DOM.
    • Keep .tsrx fixtures tiny.
    • Confirm the test fails for the intended reason, not setup/aliasing/jsdom.
  4. Localize

    • Runtime: inspect packages/octane/src/runtime.ts comments and closest tests.
    • Compiler: inspect packages/octane/src/compiler/compile.js and emitted output if needed.
    • SSR: inspect runtime.server.ts, server/index.ts, hydration tests.
    • Bindings: compare existing package patterns and upstream React binding behavior.
  5. Patch carefully

    • Preserve documented intentional divergences.
    • Prefer fixing owning source over weakening tests.
    • Add regression coverage that would fail on the old behavior.
    • Keep changes minimal and idiomatic.
  6. Validate

    • Run the new failing test until it passes.
    • Run nearby affected tests.
    • If runtime/compiler changed, consider wider packages/octane/tests or pnpm test depending on scope.
    • Run pnpm typecheck when TS/API surfaces changed.
  7. Report

    • Root cause.
    • Files changed.
    • Tests added/updated and commands run.
    • Any remaining risks or intentional divergences.

Common traps

  • React synthetic onChange, StrictMode double invoke, and class components are not bugs by default. Controlled value/checked is supported, but text editing uses native onInput; OCTANE_NATIVE_TEXT_ONCHANGE warns about likely React-style host wiring without changing native behavior. Deliberate commit-on-blur uses suppressNativeChangeWarning.
  • Differential innerHTML cannot catch render counts, effect timing, refs, focus, or node move sets.
  • jsdom layout/focus limitations can masquerade as library bugs.

Signals

GitHub stars
1k
Forks
61
Last commit
Oct 2026
Advanced
Item type
skill
Key
bug-hunter-octanejs
Source
github.com/octanejs/octane