Skip to content
cccskills
FreePublished on GitHub

bug-hunter

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Skill: Octane bug hunter

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 the owning packages/octane/src/runtime/ module's 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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Write a new Octane component in .tsrx, convert JSX to .tsrx, or add scoped <style> blocks and themes. Use when creating a .tsrx file rather than editing one, because the path-scoped tsrx-authoring rule only fires once such a file is open.

The English summary is being prepared. Showing the original description.

octanejs/octane1.5KUpdated Oct 21, 2026

Keep a change small and in the existing idiom - size the plan and weigh smaller alternatives before writing it, reuse the mechanism that already owns the behavior instead of adding a parallel one, and simplify the diff before handoff. Use when planning any change beyond a few lines, before readying a PR, or when reviewing agent-written code for bloat.

The English summary is being prepared. Showing the original description.

octanejs/octane1.5KUpdated Oct 21, 2026

Open a pull request for octane work. Load before creating the branch, commit, changeset, or PR, including when opening a PR is the tail step of a task that was about something else.

The English summary is being prepared. Showing the original description.

octanejs/octane1.5KUpdated Oct 21, 2026

Work a GitHub issue in the octane repo. Use when given an issue number or link. Fetches the issue, classifies the owning area, and plans the fix.

The English summary is being prepared. Showing the original description.

octanejs/octane1.5KUpdated Oct 21, 2026

Change Octane's runtime, compiler, scheduler, reconciler, SSR, or hydration engine. Use before editing packages/octane/src. Covers the observable contract, hot-path analysis, and the performance evidence required before handoff.

The English summary is being prepared. Showing the original description.

octanejs/octane1.5KUpdated Oct 21, 2026

Implement and verify new React-library ports or copied/rewritten React surfaces in Octane bindings from npm names or npm/GitHub links/lists. Enforces immutable provenance, license boundaries, dependency ordering, full-surface parity, and machine evidence. Existing-binding audits and maintenance start with update-bindings.

The English summary is being prepared. Showing the original description.

octanejs/octane1.5KUpdated Oct 21, 2026

See all skills by octanejs

Report a problem with this skill