New to Claude Skills? Learn how to install them โ†’

saadeghi on GitHub

Bug Finder

Free

Identify and document bugs in daisyUI with precision.

by saadeghi42k stars on saadeghi/daisyui
1 views
Updated Aug 9, 2026
Get this skill

Free ยท Opens the source repo

What Bug Finder does

The Bug Finder skill is designed to help developers and designers investigate and document bugs within the daisyUI monorepo. This skill focuses on a systematic approach to identifying product defects, ensuring that users can rely on evidence-backed findings. It operates in a read-only mode, meaning it does not alter the source code or the repository, which allows for a safe exploration of potential issues without the risk of unintended changes.

When using the Bug Finder, the workflow begins with establishing a clean evidence baseline. This involves recording the current state of the repository and gathering detailed information about the reported bug, including the environment and expected behavior. The skill then guides the user through a thorough search process, prioritizing the examination of both the daisyUI and documentation packages. This ensures that any potential bugs are identified based on actual product behavior rather than assumptions or incomplete information.

Once a bug is identified, the skill assists in reproducing the issue and proving its impact on the product. This step is critical, as it requires confirming that the observed behavior deviates from documented expectations. The skill emphasizes a clear distinction between root causes and symptoms, allowing users to understand the underlying issues without getting lost in the details of the code.

Finally, the Bug Finder skill helps users develop solution options without modifying the codebase. It provides a structured plan that outlines possible fixes based on the proven root cause, leaving the decision of implementation up to the user. This approach not only empowers developers to make informed decisions but also maintains the integrity of the repository throughout the investigation process.

When to use it

Use this skill when you need to investigate reported bugs or proactively search for potential defects in daisyUI.

When not to use it

This skill is not suitable for implementing fixes or making changes to the codebase; it solely focuses on documentation and analysis.

What you can build with it

Investigating a Reported Bug

Use the Bug Finder to thoroughly investigate a bug reported by users, ensuring you gather all necessary evidence.

Proactive Bug Search

Leverage the skill to conduct proactive searches for potential bugs in daisyUI before they are reported.

Documenting Findings for Review

Utilize the skill to create detailed documentation of bugs and proposed solutions for team review.

How to install Bug Finder

View source

1. Install with the skills CLI

npx skills add saadeghi/daisyui/find-bugs --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by saadeghi

Bug Finder

Find only evidence-backed product bugs and leave the user with a plan they can approve or reject. Do not implement the plan.

Non-negotiable boundary

  • Treat the repository as read-only except for the final tmp/bugs/*.md plan files.
  • Do not edit source, tests, snapshots, fixtures, generated package files, build output, config, translations, dependencies, lockfiles, or Git metadata.
  • Do not create a temporary reproduction inside packages/. Put disposable fixtures, logs, and screenshots in an OS temporary directory.
  • Do not run formatters, auto-fixers, write-mode generators, dependency installers, release commands, or publishing commands.
  • Do not create a branch, commit, PR, issue, comment, or other external side effect.
  • Do not provide a patch or replacement code. Describe the intended behavior and future change boundary in prose.
  • Stop after writing the plan. The user decides whether implementation should happen.

Normal tests, local servers, and read-only diagnostics are allowed. Prefer commands that do not write into the repository. Before running any command, determine whether it creates build output or generated files. If it does, use an OS-temporary copy or a non-writing alternative; otherwise record that verification as pending. Never overwrite or clean up a user's files.

Load the relevant guidance

  1. Read packages/AGENTS.md.
  2. Read the target package's AGENTS.md.
  3. Read references/daisyui.md for packages/daisyui.
  4. Read references/docs.md for packages/docs.
  5. Read both package references when ownership is unclear or the defect crosses the package boundary.
  6. Read references/bug-plan.md before creating or updating a plan.

Re-read current files rather than assuming this skill's repository map is still complete.

Investigation workflow

1. Establish a clean evidence baseline

  • Record git status --short without changing it. Treat every pre-existing change as user-owned.
  • Capture the exact report, affected URL/class/API, environment, configuration, browser/runtime, viewport, theme, language, and expected behavior when known.
  • Define the product claim to test before searching broadly.
  • If no bug was supplied, scope the search to the requested package. If neither package was specified, inspect both without turning code smells or missing features into bugs.

2. Search from behavior toward ownership

  • Use rg --files and rg first. Follow the failing route, selector, class, option, data field, or message into its callers, transformations, and generated/product-facing output.
  • Inspect nearby tests, related components, shared helpers/tokens, build steps, documentation, and recent history when it can explain intent.
  • For proactive searches, prioritize boundary conditions, conflicting states, error and empty paths, SSR/client differences, theme and direction variants, browser-specific behavior, configuration combinations, stale assumptions, and gaps between source and shipped output.
  • Treat TODOs, suspicious code, style preferences, performance opportunities, and absent tests as leads only. They are not bugs without an observable broken product contract.

3. Reproduce and prove product impact

A finding is confirmed only when all of these are true:

  1. State the expected behavior from a reliable source: existing docs, tests, API contract, accessibility/platform behavior, or a clearly established product invariant.
  2. Reproduce the actual behavior on the current checkout with exact steps and a stable failure signal. Repeat it and include a nearby passing control when useful.
  3. Exercise the user-facing path, not only an isolated source fragment. Use the built package, actual docs route, rendered browser state, or public function/configuration involved.
  4. Trace the observed failure back to current source and explain the causal chain.
  5. Rule out stale generated output, unsupported configuration, misuse, external service failure, browser-only flakiness, and intended behavior.

Use the narrowest existing automated test or diagnostic first, then broader verification in proportion to the risk. For visual or interactive behavior, inspect the rendered page, computed state, console, and network as relevant. Never change source merely to make a reproduction.

Do not write a plan for an unverified suspicion. Report what is missing and stop.

4. Establish root cause and isolation

Identify the smallest source unit that explains every reproduced symptom. Distinguish root cause from the file where the symptom becomes visible.

Map:

  • direct callers/consumers and the source-to-product path;
  • shared selectors, tokens, helpers, data, layouts, translations, and build transforms;
  • configurations, states, routes, themes, languages, directions, and browsers affected;
  • adjacent behavior that must remain unchanged;
  • existing coverage and the exact future regression-test seam.

Call the bug independently fixable only when:

  • one bounded behavioral change addresses the root cause;
  • the public behavior and acceptance criteria are unambiguous;
  • the likely source files and generated downstream outputs are known;
  • unrelated behavior can be protected with focused and broader checks;
  • no dependency addition, broad redesign, unrelated refactor, or speculative cleanup is required.

If isolation cannot be demonstrated, do not present the plan as ready. State the unresolved coupling or product decision needed and stop without creating a decision-ready plan.

5. Develop solution options without changing code

  • Derive solutions from the proven root cause, repository conventions, and smallest safe change boundary.
  • Describe each option's behavior, likely source locations, compatibility, test seam, risks, and effect on generated output. Do not include code or a patch.
  • Prefer the smallest option that preserves public API/class behavior and avoids added bytes, dependencies, specificity, duplication, or new cross-package coupling.
  • Include alternatives when genuinely viable. Explain why the recommendation is safer and why rejected options are broader, brittle, or fail a constraint.
  • Do not test a hypothetical fix by editing source. Specify how an approved implementation would prove the fix and detect regressions.

6. Apply the plan readiness gate

Create a plan only after answering yes to every item:

  • Is the behavior reproducible on the current checkout?
  • Is product impact directly observed?
  • Is expected behavior supported by evidence?
  • Is the root cause evidenced rather than guessed?
  • Is a bounded fix feasible in isolation?
  • Are affected and protected behaviors listed?
  • Is the recommended solution precise enough to implement without rediscovery?
  • Are regression and product-level verification steps defined?
  • Are risks, unknowns, and acceptance criteria explicit?

7. Group findings and write plans

  • Write plans only under tmp/bugs/.
  • Use one Markdown file per independent bug.
  • Combine multiple symptoms or reports only when evidence shows one root cause and the same atomic source change fixes all of them. List every symptom and reproduction in that shared plan.
  • Use separate files when findings require different source changes, even if they affect the same component or were found together.
  • Reuse and update an existing plan when it describes the same root cause; do not create a duplicate.
  • Use the filename rules and full structure in references/bug-plan.md.
  • Create tmp/bugs/ only when at least one finding passes the readiness gate.
  • After writing, re-open every plan and verify that every factual claim points to evidence and that no plan contains implementation code.

Handoff

Report the created or updated plan path, the verified product impact, and any verification that remains pending. Explicitly state that no fix was implemented. End the task and wait for the user's decision.

Frequently asked questions about Bug Finder

Similar skills