Adversarial AI bug hunter with auto-fix skill for Claude Code, Cursor, Codex CLI, GitHub Copilot CLI, Kiro CLI, Opencode, Pi Coding Agent, and more. Multi-agent pipeline finds security vulnerabilities, logic errors, and runtime bugs — then fixes them autonomously on a safe branch.
$ npx -y skills add codexstar69/bug-hunter --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: codexstar69/bug-hunter
What's inside
title: Bug Hunter description: > Install and use the adversarial code-audit skill with scan-only defaults and explicit permission before source edits. prompt: | can we do that so everything is end to end seamless and anyone and specially agents can understand easily how to use it all properly
you removed a lot of content that helped rank it om google - bring it back
Bug Hunter is an AI-agent skill for code review and security auditing. A Hunter finds possible bugs, a Skeptic challenges each claim, and a Referee decides what the evidence supports. The default run only scans and reports. Editing, autonomous fixing, and commits each require explicit permission.
Install the current GitHub source for your agent. Replace codex with a target
from the table below.
npx --yes https://github.com/codexstar69/bug-hunter/archive/refs/heads/main.tar.gz install --agent codex
npx --yes https://github.com/codexstar69/bug-hunter/archive/refs/heads/main.tar.gz doctor --agent codex
The npm latest tag still points to an older release while 3.1.1 publishing
is pending. The GitHub command above installs the runtime documented here.
Restart the agent if it was open during installation. Then send this prompt from the repository you want to audit:
Use the bug-hunter skill to scan this repository. Do not edit files.
Return the final report and call out every item that needs manual review.
That is the recommended first run. It is scan-only.
| Agent | Install target |
|---|---|
| Claude Code | claude-code |
| Codex | codex |
| Cursor | cursor |
| GitHub Copilot | copilot |
| Kiro | kiro |
| Windsurf | windsurf |
| OpenCode | opencode |
| Other file-based agents | agents |
Always pass --agent when more than one coding agent is installed. Auto-detection is available, but an explicit target prevents installation into the wrong skill directory.
See agent installation for paths, source installs, updates, removal, and custom targets.
Natural language is the portable interface:
Use the bug-hunter skill to scan src/auth. Do not edit files.
Agents that expose skill commands may also accept:
/bug-hunter src/auth
For a reviewed fix run:
Use the bug-hunter skill to scan this repository. Build a fix plan.
Ask for approval before every edit. Do not commit.
The closest flag-based mode is:
/bug-hunter --fix --approve
--approve requests the host agent's reviewed/default permission mode. The
host decides when approval prompts appear. Use --plan or --preview when
source edits must be impossible.
For a plan without edits:
/bug-hunter --plan
Do not use --autonomous or --auto-commit unless you intend to grant those permissions.
See usage guide for common human and agent prompts.
your code
-> risk triage
-> architecture recon
-> Hunter findings
-> documentation checks
-> Skeptic challenges
-> Referee verdicts
-> report
-> optional approved fix plan
-> optional approved fixes and verification
The pipeline:
Read how it works for the full model and safety boundaries.
| Goal | Skill request |
|---|---|
| Scan the whole repository | /bug-hunter |
| Scan one path | /bug-hunter src/auth |
| Review staged changes | /bug-hunter --staged |
| Review the current pull request | /bug-hunter --pr |
| Run a pull-request security review | /bug-hunter --pr-security |
| Add Node.js dependency scanning | /bug-hunter --deps |
| Generate a STRIDE threat model | /bug-hunter --threat-model |
| Create a fix plan without edits | /bug-hunter --plan |
| Request host-interactive fixing | /bug-hunter --fix --approve |
| Build a no-edit remediation preview | /bug-hunter --preview |
| Allow unattended fixing | /bug-hunter --autonomous |
The executable bug-hunter command installs and verifies the skill. Scans are started through your coding agent, not by running bug-hunter scan in a shell.
See CLI reference for installer commands and skill arguments.
The security flags use bundled local skills:
commit-security-scan through
--pr-security.--threat-model routes into threat-model-generation.security-review through
--security-review.--validate-security routes into vulnerability-validation.These skills are part of the managed runtime. They do not require separate installation.
Many AI code-review tools produce a long list of possible issues but leave the developer to discover which claims are real. A plausible explanation is not proof that a runtime bug is reachable. Framework behavior, middleware, validation in another file, and language guarantees can turn an alarming finding into a false positive.
Bug Hunter treats a finding as a claim that must survive opposition:
For teams comparing an AI code-review tool, security code scanner, vulnerability scanner, or static-analysis assistant, this separation matters: automated code review stays useful only when the evidence and uncertainty are visible.
This adversarial code review is designed to reduce false-positive overload
without hiding uncertainty. Results that cannot be settled become
MANUAL_REVIEW or unreviewed; they are not silently presented as clean.
The system focuses on behavioral correctness and security. It is not a style linter. Naming preferences, formatting, unused code, missing comments, and general refactoring suggestions are outside the Hunter's reporting scope unless they create a reachable runtime problem.
Every phase has a separate job. Role, report, coverage, and fix artifacts use schema-validated JSON; triage JSON is deterministic pipeline input.
| Stage | What it does | Main evidence |
|---|---|---|
| Risk triage | Classifies source files and selects scan order without an AI model | triage.json |
| Recon | Adds stack and risk context for multi-file scans | recon.json |
| Hunter | Finds reachable logic, security, concurrency, data, and error-path bugs | hunter-findings.json |
| Documentation lookup | Checks version-sensitive library or framework assumptions | Evidence added to the finding or challenge |
| Skeptic | Tries to disprove every Hunter claim with code and counter-evidence | skeptic.json |
| Referee | Delivers REAL_BUG, NOT_A_BUG, or MANUAL_REVIEW verdicts | referee.json |
| Report join | Separates confirmed, dismissed, manual-review, and unreviewed results | scan-report.json and report.md |
| Fix strategy | Classifies confirmed bugs by remediation risk | fix-strategy.json |
| Fix plan | Records bug details, files, claimed ranges, remediation class, and rollout order | fix-plan.json |
| Fix and verify | Applies only authorized work and records checks or rollback results | fix-report.json |
A malformed or missing required canonical artifact is a failed phase, not evidence of a clean scan. For schema-backed phases, JSON is the source of truth; Markdown reports are readable views of those contracts.
Bug Hunter adjusts execution to the repository and the agent runtime. A single-file scan stays small. Larger scans may use bounded parallel, chunked, persisted-state, domain-scoped, or local-sequential modes. Most delegated modes use the canonical role artifacts. Large-codebase mode currently uses per-domain variants before its final merge.
The roles are deliberately separated:
| Role | Responsibility | What it cannot decide |
|---|---|---|
| Recon | Understand architecture and prioritize risk | Whether a bug is confirmed |
| Hunter | Make a concrete bug claim | Its own final verdict |
| Skeptic | Challenge the claim and expose missing context | The final verdict |
| Referee | Judge the claim from evidence | Permission to edit unrelated code |
| Fix planner | Turn confirmed verdicts into bounded remediation work | Permission outside approved bug IDs |
| Fixer | Apply an approved plan | New scope, new findings, or commit permission |
The incentive model favors evidence over volume:
| Agent | Positive signal | Cost of a weak decision |
|---|---|---|
| Hunter | Real findings earn severity-weighted value | Every false positive loses points |
| Skeptic | Correctly disproving noise earns the finding's value | Wrongly dismissing a real bug costs twice its value |
| Referee | Independent, evidence-backed verdicts | Unsupported trust in either side fails review |
The Skeptic also has 14 hard exclusions for recurring non-bugs such as findings only in tests, documentation-only findings, missing audit logging, log injection, rate-limiting suggestions, unsupported memory-safety claims in memory-safe languages, or ReDoS without a demonstrated slow payload. Other claims require code tracing, caller and callee review, runtime-trigger reconstruction, and documentation verification when framework behavior matters.
The Referee independently re-reads every finding when there are 20 or fewer. For larger sets it independently verifies all Critical findings and the top 15, then evaluates the remaining evidence with promotion rules for disputed or weakly supported decisions.
Before the model reads source, scripts/triage.cjs inventories the target,
filters non-source content, scores file risk, estimates scan size, and selects
an execution strategy. This deterministic pre-pass spends no model tokens and
keeps high-risk files ahead of lower-risk context.
Risk signals are path and filename heuristics for authentication, security, API, data, service, utility, test, and low-value locations. Triage does not parse source behavior or claim to find bugs; it creates a review order and an explicit coverage budget.
The Hunter reads production code for failures that can change real behavior:
Each finding must identify a source location, concrete claim, evidence, runtime trigger, cross-references, confidence, and security classification when applicable. A theory without a reachable trigger should not become a finding.
Many production bugs do not exist in one function. Bug Hunter checks where assumptions change:
Recon supplies the map, Hunter makes the claim, Skeptic follows the defensive path, and Referee decides what the full evidence supports.
AI review often fails when it guesses what a library does. Bug Hunter can query Context Hub and use the bundled Context7 path as a fallback for a specific version-sensitive claim.
Documentation checks are used at decision points:
| Role | Example reason to check documentation |
|---|---|
| Hunter | Verify whether a framework actually escapes, validates, or parameterizes a value |
| Skeptic | Confirm that middleware or a library guarantee really blocks the reported trigger |
| Fixer | Verify the supported API and safe usage pattern before proposing a patch |
Lookups are claim-driven rather than a broad search over every import. If no useful documentation is available, the agent must say that the claim could not be verified and continue from repository evidence without inventing a guarantee.
Context Hub is optional:
npm install -g @aisuite/chub
Bug Hunter reduces noise through several independent checks:
No review process can promise zero false positives or zero missed bugs. The goal is an auditable argument with enough evidence for a developer to review.
For larger repositories, Bug Hunter can divide work by bounded file chunks or architectural domains while preserving a canonical queue. State records chunk attempts, file outcomes, findings, and the fix-plan reference. A sibling identity file stores the run ID, repository and base commit, scope hash, and options hash so resume can reject a different target.
Coverage currently records pending, in_progress, done, or failed
status derived from chunk progress. Failed or incomplete coverage does not
become a clean result. Cross-partition references can be sent through a
reconciliation pass before the final join.
Security findings combine code-review evidence with common security taxonomies:
STRIDE and CWE are typed finding fields. Reachability, exploitability, CVSS, and proof-of-concept details are currently carried in the Referee's narrative fields.
The six STRIDE categories are:
| Category | Security question |
|---|---|
| Spoofing | Can an attacker pretend to be another user, service, or identity? |
| Tampering | Can untrusted input change code, commands, queries, files, or records? |
| Repudiation | Can an important action happen without reliable attribution? |
| Information disclosure | Can protected data cross into an unauthorized response, log, or tenant? |
| Denial of service | Can a demonstrated external path exhaust a bounded resource or stop service? |
| Elevation of privilege | Can a user cross an authorization boundary or gain a stronger role? |
Common mappings include SQL injection (CWE-89, Tampering), command injection
(CWE-78, Tampering), XSS (CWE-79, Tampering), path traversal (CWE-22,
Tampering), IDOR (CWE-639, Information disclosure), missing authentication
(CWE-306, Spoofing), missing authorization (CWE-862, Elevation of
privilege), SSRF (CWE-918, Tampering), CSRF (CWE-352, Tampering), and
insecure deserialization (CWE-502, Tampering).
Classification adds context; it does not replace proof. A severe label without a reachable trigger should not survive adversarial review.
Run /bug-hunter --threat-model to generate or reuse
.bug-hunter/threat-model.md. The threat-model workflow maps:
Recon and Hunter use the threat model as scan context. An existing threat model
modified within the last 90 days can be reused; an older one is regenerated
with a warning. The bundled threat-model-generation skill owns the artifact,
and security-review can request it when a full security review needs one.
This is repository-level threat modeling, not a substitute for infrastructure, cloud-policy, runtime configuration, or penetration testing outside the checked source.
Run /bug-hunter --deps to add lockfile-aware dependency vulnerability
scanning for JavaScript and TypeScript projects.
The implemented parser supports:
| Lockfile | Package manager | Audit command |
|---|---|---|
package-lock.json | npm | npm audit --json |
pnpm-lock.yaml | pnpm | pnpm audit --json |
yarn.lock | Yarn | yarn npm audit --json |
bun.lock or bun.lockb | Bun | bun audit --json |
The scanner keeps High and Critical advisories and searches source for package
imports. Imports in paths containing .test., .spec., or __tests__ are
treated as potentially reachable; other test naming patterns may still count as
reachable. The result is REACHABLE, POTENTIALLY_REACHABLE,
NOT_REACHABLE, or UNKNOWN. It is supporting evidence, not a complete
call-graph proof.
Python, Go, and Rust manifests may be detected, but their audit-output parsers
and reachability fixtures are not implemented. They return
scanner-unsupported and are never reported as clean by guesswork.
Dependency results are written to .bug-hunter/dep-findings.json and can feed
the Hunter when a vulnerable dependency appears reachable from application
code.
Bug Hunter can narrow the audit to the code that is about to merge:
/bug-hunter --staged
/bug-hunter --pr
/bug-hunter --pr 123
/bug-hunter --pr recent
/bug-hunter -b feature/auth-refresh --base main
/bug-hunter --pr-security
PR security review routes through the bundled commit-security-scan skill and
can combine changed-code scope with STRIDE context, dependency evidence, and
vulnerability validation. GitHub metadata is used when available, with
repository-local Git scope as the fallback.
Changed-code review still follows the same Hunter, Skeptic, and Referee contract. A smaller diff changes scope; it does not weaken the evidence rules.
Finding a bug and changing code are separate permissions. The default run
stops after the report. /bug-hunter --plan writes a strategy and fix plan but
does not edit source. /bug-hunter --fix --approve permits reviewed edits and
requests the host agent's default permission mode; prompt behavior depends on
that host.
The remediation flow has these gates:
Fixing requires a Git repository. The current contract records the original branch and base commit, inspects dirty state, attempts to preserve tracked and indexed changes in a named stash, and creates a dedicated fix branch. Untracked files and pre-existing stashes need manual attention; automatic restoration is not guaranteed.
A cooperative owner-token lock serializes compliant Bug Hunter Fixers after Git setup. It does not block a user or another tool from changing the repository. If status inspection, preservation, branch creation, or lock acquisition fails, fixing stops.
Worktree isolation is used for supported subagent backends only when
--auto-commit was also authorized. Worktree identity, harvest freshness, and
cleanup are checked. If safe preservation or cleanup cannot be proven, the
worktree is left in place for recovery rather than deleted.
When a test command is available, the fix pipeline records two baseline runs. Failures seen in both are tracked as existing failures; failures seen in only one are tracked as flaky. New failures after a patch are evaluated against both sets. Missing verification commands are reported instead of treated as passes.
Every confirmed finding is classified before patching:
| Class | Meaning |
|---|---|
safe-autofix | Localized enough for the guarded Fixer workflow |
manual-review | Evidence or patch confidence is too low |
larger-refactor | Needs coordinated changes beyond a small patch |
architectural-remediation | Requires a wider design or contract change |
The Fixer queue comes only from Referee REAL_BUG verdicts. The planner marks
low-confidence, conflicting, and non-autofix work as manual-review; the
orchestrator is required to exclude those entries from Fixer batches.
The agent-driven fix workflow can apply dependency ordering when an index is available, then severity ordering. The deterministic composition runner orders by severity, confidence, and stable key.
The guided workflow describes a highest-risk 20 percent canary bounded to one through three findings:
1–5 eligible bugs -> 1 canary
6–10 eligible bugs -> 2 canaries
11+ eligible bugs -> 3 canaries
The deterministic composition runner instead uses its supplied
--canary-size, with a default of three. The generated fix-plan.json is the
authoritative canary set for a specific run.
Canary changes run before the remaining rollout. Fixer batches are bounded, verification happens between batches, and a failure-rate circuit breaker stops the run when more than half of at least three attempted fixes fail. The overall fix phase also has a deadline.
The validated Fixer scope binds the repository root, base commit, approved bug IDs, and approved file paths before dispatch. Claimed line ranges stay in the fix plan as review context. Current validation does not independently prove line-range, symlink, submodule, or Git-metadata compliance after a patch, so review the final diff before merging.
Impacted checks run after checkpoints, followed by the available full tests, typecheck, and build. A targeted post-fix Hunter pass examines only changed hunks for newly introduced Medium-or-higher bugs.
Final statuses explain the result:
| Status | Meaning |
|---|---|
FIXED | Patch landed and verification found no new failure |
FIX_REVERTED | Patch introduced a failure and its checkpoint was reverted |
FIX_FAILED | The patch or its rollback could not be verified safely |
PARTIAL | A bounded patch landed but wider work remains |
SKIPPED | The fix was not attempted or the guarded run stopped |
FIXER_BUG | Post-fix review found a new Medium-or-higher bug |
MANUAL_REVIEW | The finding was not authorized for automatic remediation |
Automatic per-bug rollback requires commit-backed checkpoints. A run without
commit permission records uncommitted changes and may need manual restoration.
Rollback is a guarded operation, not a promise that every repository state can
always be restored automatically. Failures remain visible in fix-report.json.
.bug-hunter/scan-report.json is the joined machine-readable result for CI/CD,
security dashboards, pull-request gates, or ticket automation. It records run
identity, target, execution mode, scanned-file count, dependency status, counts,
and the confirmed, dismissed, manual-review, and unreviewed sets.
A shortened example:
{
"schemaVersion": 1,
"runId": "scan-2026-08-04-083000",
"generatedAt": "2026-08-04T08:30:00.000Z",
"mode": "local-sequential",
"target": "src/",
"filesScanned": 47,
"threatModelLoaded": false,
"dependencies": {
"status": "not-applicable"
},
"counts": {
"findings": 2,
"confirmed": 1,
"dismissed": 1,
"manualReview": 0,
"unreviewed": 0
},
"confirmed": [
{
"id": "BUG-1",
"finding": {
"bugId": "BUG-1",
"severity": "Critical",
"file": "src/api/users.ts",
"claim": "User input reaches a SQL query"
},
"verdict": {
"bugId": "BUG-1",
"verdict": "REAL_BUG",
"trueSeverity": "Critical",
"confidenceScore": 96
}
}
],
"dismissed": [
{
"id": "BUG-2",
"finding": {
"bugId": "BUG-2",
"severity": "Medium",
"file": "src/api/profile.ts",
"claim": "The response may expose a protected field"
},
"verdict": {
"bugId": "BUG-2",
"verdict": "NOT_A_BUG",
"trueSeverity": "Low",
"confidenceScore": 91
}
}
],
"manualReview": [],
"unreviewed": []
}
Consumers should distinguish result meanings:
confirmed means the Referee accepted the finding.dismissed means the available evidence disproved it.manualReview means a human decision is still needed.unreviewed means adversarial review did not finish.scanner-unsupported means the requested dependency parser is unavailable.Only a completed report with no confirmed, manual-review, or unreviewed items can support a clean result for the scanned scope.
Runs write artifacts under .bug-hunter/. Add that directory to the audited repository's .gitignore.
The main files are:
| File | Generated when | Purpose |
|---|---|---|
triage.json | Every scan | File classification, risk map, scan order, and budget |
recon.json | Multi-file scan | Prioritized risk tiers and Recon notes |
hunter-findings.json | Every scan | Canonical Hunter claims before adversarial review |
skeptic.json | Findings exist | Challenges, decisions, and counter-evidence |
referee.json | Findings exist | Canonical final verdicts |
scan-report.json | Completed scan | Joined run metadata, counts, and verdicts |
report.md | Completed scan | Human-readable final report |
coverage.json | Coverage loop | Per-file entries derived from chunk progress |
fix-strategy.json | Plan or fix run | Remediation class for confirmed bugs |
fix-plan.json | Plan or fix run | Authorized canary and rollout plan |
fixer-scope.json | Plan or fix run | Repository, base commit, bug ID, and file boundary |
fix-report.json | Fix run | Verification, rollback, and final-status results |
threat-model.md | Threat-model run | STRIDE boundaries, assets, flows, and threats |
dep-findings.json | Dependency run | Audit results, scanner status, and reachability |
state.json | Persisted scan | Queue, attempts, file outcomes, findings, and plan reference |
See outputs for the complete artifact contract.
Source analysis supports JavaScript, TypeScript, Python, Go, Rust, Java, Kotlin, Ruby, PHP, C#, Swift, Scala, C, and C++ through agent reasoning and repository evidence.
Dependency audit parsing and reachability currently support JavaScript and TypeScript projects using npm, pnpm, Yarn, or Bun lockfiles. Other ecosystems return scanner-unsupported; Bug Hunter does not report them as clean.
Commonly recognized server and web stacks include Express, Fastify, Next.js, Django, Flask, FastAPI, Gin, Echo, Actix, Spring Boot, Rails, and Laravel. Framework support is not a separate parser allowlist: Recon identifies the repository stack, the agents reason from the checked source, and documentation lookup supplies library context when available.
Language support means the agent can audit source behavior. It does not mean that every language has a dependency-audit parser, compiler integration, runtime sandbox, or framework-specific benchmark.
These are arguments sent to the installed skill through your coding agent:
| Argument | Behavior |
|---|---|
| No arguments | Scan the current repository without editing |
src/ or file.ts | Scan a specific path |
-b branch-name | Scan a branch diff against the default base |
-b branch --base dev | Scan a branch diff against a chosen base |
--staged | Scan Git-staged changes |
--pr or --pr current | Review the current pull request |
--pr recent or --last-pr | Review the most recently updated open pull request |
--pr 123 | Review a specific pull-request number |
--review-pr | Alias for --pr current |
--pr-security | Changed-code security review with threat and dependency context |
--scan-only or --review | Request report-only mode |
--plan-only or --plan | Write strategy and plan artifacts, then stop |
--fix | Permit reviewed fixes after confirmed verdicts |
--approve | Request the host agent's reviewed/default permission mode |
--safe | Alias for --fix --approve |
--dry-run or --preview | Build strategy and fix-plan output without editing files |
--autonomous | Permit unattended fixing |
--auto-commit | Grant commit permission for an authorized fix plan |
--loop | Continue until every queued file has a recorded outcome |
--no-loop | Keep the default single-pass behavior |
--deps | Add supported dependency CVE scanning and reachability |
--threat-model | Generate or reuse a STRIDE threat model |
--security-review | Run the bundled repository security-review workflow |
--validate-security | Add focused exploitability validation |
Arguments compose:
/bug-hunter --deps --threat-model src/
/bug-hunter --pr-security --plan
/bug-hunter --fix --approve src/auth
Do not combine --scan-only or --review with --fix, --approve, --safe,
or --autonomous. Conflicting read-only and mutation flags are not currently
rejected.
The terminal bug-hunter CLI has a different job: install or upgrade, inspect
metadata, and verify the skill. Removal is manual; see
agent installation.
--fix permits reviewed edits.--approve requests reviewed/default host permissions; prompt behavior is
host-dependent.--plan stops before edits.--preview builds remediation strategy and plan output without source edits.--autonomous permits unattended edits.--auto-commit separately grants commit permission for the approved plan;
inspect harvested commit paths before merging.Review SECURITY.md before using autonomous fixing in a sensitive repository.
bug-hunter/
├── SKILL.md # Top-level orchestration and permission contract
├── bin/bug-hunter # Installer, updater, info, and doctor CLI
├── docs/ # Task-focused installation and usage guides
├── modes/ # Scan, scale, loop, dispatch, and fix workflows
├── skills/
│ ├── recon/ # Architecture and attack-surface mapping
│ ├── hunter/ # Behavioral code and security analysis
│ ├── skeptic/ # Adversarial false-positive challenge
│ ├── referee/ # Independent verdict and security enrichment
│ ├── fixer/ # Authorized patch execution
│ ├── doc-lookup/ # Context Hub and Context7 verification
│ ├── commit-security-scan/ # Pull-request and changed-code security review
│ ├── security-review/ # Full repository security workflow
│ ├── threat-model-generation/
│ └── vulnerability-validation/
├── schemas/ # Canonical JSON artifact contracts
├── scripts/ # Deterministic triage, state, process, and safety tools
├── templates/ # Payload and report templates
└── test-fixture/ # Source-only benchmark with planted bugs
The role skills are canonical. Compatibility prompts are generated from them, and CI checks that generated files stay in sync.
From a source checkout:
pnpm install --frozen-lockfile
pnpm check:generated
pnpm test
node scripts/run-bug-hunter.cjs preflight --skill-dir .
pnpm verify:package
The regression suite covers orchestration, schemas, state, PR scope,
dependency parsing, fix authorization, locks, worktrees, installation,
packaging, and bundled security routing. Use pnpm test for the current count
instead of relying on a copied number in documentation.
The planted-bug fixture exists only in the source repository and is useful for behavioral calibration:
Use the bug-hunter skill to scan test-fixture/. Do not edit files.
See CONTRIBUTING.md before changing runtime contracts.
.github/
ISSUE_TEMPLATE/
bug_report.md
false_positive.md
feature_request.md
PULL_REQUEST_TEMPLATE.md
workflows/
ci.yml
publish.yml
.gitignore
agents/
openai.yaml
bin/
bug-hunter
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
docs/
agent-installation.md
cli-reference.md
getting-started.md
how-it-works.md
images/
2026-03-12-fix-plan-rollout.png
2026-03-12-hero-bug-hunter-overview.png
2026-03-12-machine-readable-artifacts.png
2026-03-12-pr-review-flow.png
2026-03-12-security-pack.png
adversarial-debate.png
doc-verify-fix-plan.png
hero.png
pipeline-overview.png
security-finding-card.png
plans/
2026-03-11-structured-output-migration-plan.md
2026-03-12-audit-bug-fixes-surgical-plan.md
2026-03-12-enterprise-security-pack-e2e-plan.md
2026-03-12-local-security-skills-integration-plan.md
2026-03-12-pr-review-strategic-fix-flow.md
troubleshooting.md
usage-guide.md
evals/
evals.json
evaluate-fixture.cjs
expected-findings.json
LICENSE
llms-full.txt
llms.txt
modes/
dispatch.md
extended.md
fix-loop.md
fix-pipeline.md
large-codebase.md
local-sequential.md
loop-generic.md
loop.md
parallel.md
scaled.md
single-file.md
small.md
package.json
plans/
001-mutation-and-worktree-safety.md
002-agent-trust-and-scope.md
003-artifact-and-verdict-contracts.md
004-state-process-and-schema-reliability.md
005-coverage-dependency-and-index-correctness.md
006-runtime-packaging-quality-and-docs.md
007-complete-fix-plan.md
007-review-notes.md
008-seamless-onboarding-and-agent-usage.md
009-readme-discoverability-restoration.md
audit-report.md
README.md
validation-report.md
pnpm-lock.yaml
prompts/
doc-lookup.md
fixer.md
hunter.md
recon.md
referee.md
skeptic.md
threat-model.md
README.md
schemas/
coverage.schema.json
examples/
findings.invalid.json
findings.valid.json
experiment.schema.json
findings.schema.json
fix-plan.schema.json
fix-report.schema.json
fix-strategy.schema.json
fixer-scope.schema.json
recon.schema.json
referee.schema.json
scan-report.schema.json
shared.schema.json
skeptic.schema.json
scripts/
artifact-planner.cjs
bug-hunter-state.cjs
chunk-scheduler.cjs
code-index.cjs
context7-api.cjs
delta-mode.cjs
dep-scan.cjs
doc-lookup.cjs
experiment-loop.cjs
fix-lock.cjs
generate-compat-prompts.cjs
generate-schema-validators.cjs
generated-schema-validators.cjs
init-test-fixture.sh
payload-guard.cjs
pr-scope.cjs
prepublish-guard.cjs
process-runner.cjs
render-report.cjs
run-bug-hunter.cjs
schema-catalog.cjs
schema-runtime.cjs
schema-validate.cjs
shared.cjs
state-store.cjs
tests/
bug-hunter-state.test.cjs
code-index.test.cjs
delta-mode.test.cjs
dep-scan.test.cjs
doc-lookup.test.cjs
documentation-contract.test.cjs
evaluate-fixture.test.cjs
experiment-loop.test.cjs
fix-lock.test.cjs
fixtures/
flaky-worker.cjs
low-confidence-worker.cjs
success-worker.cjs
installer-atomic.test.cjs
payload-guard.test.cjs
pr-scope.test.cjs
prepublish-guard.test.cjs
render-report.test.cjs
run-bug-hunter.test.cjs
schema-runtime.test.cjs
security-skills-integration.test.cjs
skills-packaging.test.cjs
test-utils.cjs
triage.test.cjs
worktree-harvest.test.cjs
triage.cjs
verify-package-inventory.cjs
worktree-harvest.cjs
SECURITY.md
SKILL.md
skills/
commit-security-scan/
SKILL.md
doc-lookup/
SKILL.md
fixer/
SKILL.md
hunter/
examples.md
SKILL.md
README.md
recon/
SKILL.md
referee/
SKILL.md
security-review/
SKILL.md
skeptic/
examples.md
SKILL.md
threat-model-generation/
SKILL.md
vulnerability-validation/
SKILL.md
templates/
subagent-wrapper.md
test-fixture/
auth.js
db.js
server.js
users.js
test.txtFAQ
bug-hunter is a Claude Code plugin with 10 hand-picked skills for security work, indexed on Flowy. Install it with the command on its page. It includes commit-security-scan, doc-lookup, fixer. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.