Agent Skill that turns fixed OSS issues into reusable bug patterns, then reviews local code with concrete file/line evidence.
IssueOracle is not a generic linter and not a general AI reviewer. It is a local-first bug-pattern review toolchain built around scan → mine → review.
Global install:
npx skills add bzcsk2/issueoracle-skill -gProject-scoped install:
npx skills add bzcsk2/issueoracle-skillUpdate:
npx skills update issueoraclePlanned. Until IssueOracle is accepted into marketplace, use npx skills add.
git clone https://github.com/bzcsk2/issueoracle-skill.git
mkdir -p ~/.claude/skills
ln -s "$(pwd)/issueoracle-skill/skills/issueoracle" ~/.claude/skills/issueoraclegit clone https://github.com/bzcsk2/issueoracle-skill.git
mkdir -p ~/.codex/skills
ln -s "$(pwd)/issueoracle-skill/skills/issueoracle" ~/.codex/skills/issueoracleuv sync --all-groups
uv run python skills/issueoracle/scripts/build_skill.pyGenerated artifact:
dist/issueoracle.skill
# Scan a project → get profile + similar OSS recommendations
/issueoracle scan .
# Review current repo with built-in seed patterns
/issueoracle review .
# Mine bug patterns from GitHub repos (comma-separated)
/issueoracle mine fastapi/fastapi,encode/starlette
# Review with the generated experience JSON
/issueoracle review . --experience ~/.issueoracle/bugplay/experience.json
# Validate pattern packs
/issueoracle validate packsgit clone https://github.com/bzcsk2/issueoracle-skill
cd issueoracle-skill
uv sync --all-groups
uv run python skills/issueoracle/scripts/issueoracle.py review skills/issueoracle/evals/fixtures/py-fastapi-cors-wildcard/bad --emit markdownExpected output includes a finding with:
- file/line evidence
- matched pattern id
- confidence score
- local trigger condition
- suggested fix
- false-positive boundary
scan ./my-project → project profile + recommended repos
mine owner1/repo1,owner2/repo2,... → ~/.issueoracle/bugplay/experience.json + bug-experience.md
review ./my-project --experience ... → findings driven by seed patterns + mined experience
/issueoracle scan . --emit markdown
/issueoracle scan src/ --emit json --max-repos 3Output includes language/framework detection, risk surface analysis, project type classification (web_api / cli / library / frontend), and similar OSS projects ranked by stars.
# Full review
/issueoracle review .
# Diff review (changed vs base)
/issueoracle review . --changed --base main
# JSON output
/issueoracle review src/ --emit json
# Experience-driven review. Prefer JSON as the machine-readable contract.
/issueoracle review . --experience ~/.issueoracle/bugplay/experience.jsonA finding is only reported when IssueOracle has a matched bug pattern, concrete local file/line evidence, a trigger condition, a confidence score, and a false-positive boundary.
# Single repo
/issueoracle mine fastapi/fastapi
# Batch mine
/issueoracle mine fastapi/fastapi,encode/starlette,sqlalchemy/sqlalchemy --max-issues 30Mined experiences are saved to ~/.issueoracle/bugplay/experience.json for the review engine and ~/.issueoracle/bugplay/bug-experience.md as a narrative document organized by bug type.
Resume an interrupted mining session:
/issueoracle mine fastapi/fastapi,encode/starlette --resume --max-issues 30# List all bug experiences (candidate + approved + rejected)
/issueoracle experience list
# Show details of a specific experience
/issueoracle experience show exp-missing-finally-1
# Approve a candidate experience for use in review
/issueoracle experience approve exp-missing-finally-1
# Reject a false-positive experience
/issueoracle experience reject exp-missing-finally-1
# Export only approved experiences for shared use
/issueoracle experience export-approved/issueoracle validate packs
/issueoracle validate packs --emit json/issueoracle diagnose/issueoracle doctoruv sync --all-groups
uv run ruff format --check .
uv run ruff check .
uv run pytest tests/ -q
uv run python skills/issueoracle/scripts/issueoracle.py diagnose
uv run python skills/issueoracle/evals/run_eval.py
uv run python skills/issueoracle/scripts/issueoracle.py validate skills/issueoracle/packs
uv run python skills/issueoracle/scripts/build_skill.py- Scan: Profile local project, classify project type, infer GitHub search topics, and recommend similar OSS projects.
- Mine: Batch-search closed bug issues on GitHub, filter for real bugs, link to fixing PRs, extract candidate bug patterns, and aggregate into a bug-experience report.
- Review: Load seed patterns plus optional experience JSON, index local code, match signals, and generate findings with evidence.
- Local code stays local by default.
- GitHub issue and PR text is treated as untrusted input.
- IssueOracle does not auto-fix code, create commits, or open PRs.
- Pattern packs store structured evidence links and summaries, not bulk source material.
- Python 3.12+
GITHUB_TOKENoptional, for higher GitHub API rate limits
MIT