Find Bugs logo

Find Bugs

CommunityPopular
saadeghi
find-bugs

Investigate reported or suspected bugs in this daisyUI monorepo, including proactive bug searches in packages/daisyui and packages/docs. Use when Codex must reproduce a defect, prove product impact, identify its root cause and isolation boundary, evaluate non-code solution options, or prepare a decision-ready bug-fix plan in tmp/bugs/. This skill performs read-only source analysis and verification; it never implements a fix, edits product source or tests, changes dependencies, or commits.

Overview

Publishersaadeghi
Repositorydaisyui
Skill namefind-bugs
Stars
42.5K
Forks
1.7K
Bundled files
3
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 3 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by saadeghi on GitHub. Read the source before you install it.

Installation

Install the Find Bugs AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/saadeghi/daisyui/tree/master/.agents/skills/find-bugs
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/saadeghi/daisyui.git /tmp/daisyui
mkdir -p .claude/skills
cp -r /tmp/daisyui/.agents/skills/find-bugs .claude/skills/find-bugs
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Find Bugs in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Find Bugs on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Find Bugs is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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.

Required agent routing

  • If you are not the bug_finder custom agent, delegate the complete task to bug_finder and wait for its result. Tell the agent to use this skill. Do not investigate the bug or write the plan in the current agent.
  • If you are the bug_finder custom agent, perform this workflow directly. Do not delegate it again.
  • If bug_finder is not available, stop and report the problem. Do not run this workflow with a different agent or model.

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.
  • Treat these files as bug reports, even though this workflow calls them plans. Each file must have YAML frontmatter with the bug, issue, or PR status. A new local bug uses status: open.
  • Use the status rules, 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. Verify its frontmatter status and each factual claim against evidence. Verify 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.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Find Bugs AI skill do?

Investigate reported or suspected bugs in this daisyUI monorepo, including proactive bug searches in packages/daisyui and packages/docs. Use when Codex must reproduce a defect, prove product impact, identify its root cause and isolation boundary, evaluate non-code solution options, or prepare a decision-ready bug-fix plan in tmp/bugs/. This skill performs read-only source analysis and verification; it never implements a fix, edits product source or tests, changes dependencies, or commits.

Why use Find Bugs on TypingMind?

Because you install it once and use it with any model. Find Bugs is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Find Bugs in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/saadeghi/daisyui/tree/master/.agents/skills/find-bugs. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Find Bugs?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Find Bugs?

As many as you like. As long as a model supports skills, you can use Find Bugs with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Find Bugs AI skill free?

Yes. It is published on GitHub by saadeghi under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇