bx33661/oh-my-vul/omv
Claude Code and agent skill by bx33661/oh-my-vul
- community
Checking that the SKILL.md file is still in the repository.
oh-my-vul local-first vulnerability research project manager for Pi, Codex, and Claude Code. Shows workspace status, next actions, installed omv-* skills, registry info, and delegates .omv findings lifecycle commands. Use when the user invokes /skill:omv, $omv, or /omv; asks what to do next; or manages local findings.
Install
npx vskill@latest install bx33661/oh-my-vul/omvSKILL.md
omv
oh-my-vul local-first vulnerability research project manager for Pi, Codex, and Claude Code.
Invocation depends on the active platform: Pi uses /skill:omv [args], Codex uses $omv [args], and Claude Code uses /omv [args]. The command table below uses /omv as shorthand for the active platform's project-manager invocation.
Process first: For any vulnerability research session (find / audit / report / “what next”), apply using-omv discipline — evidence before claims, CLI gates before “confirmed” or “ready to submit”, prefer campaign + attack-surface cards before bulk hypotheses. Do not invent parallel workflows outside .omv/ + omv CLI.
Commands
The first word after the platform-specific project-manager invocation is treated as the subcommand. Unknown subcommands show the help text.
Skills in This Collection
| Skill | Invocation | Purpose | |
|---|---|---|---|
| omv-find | /skill:omv-find on Pi; $omv-find on Codex; /omv-find on Claude Code | Find and rank open-source packages worth auditing | |
| omv-audit | /skill:omv-audit on Pi; $omv-audit on Codex; /omv-audit on Claude Code | Deep-audit a candidate finding, prove or disprove the vulnerability | |
| omv-repro | /skill:omv-repro on Pi; $omv-repro on Codex; /omv-repro on Claude Code | Guide local reproduction, fill evidence.observed_result | |
| omv-report | /skill:omv-report on Pi; $omv-report on Codex; /omv-report on Claude Code | Generate VulDB/CVE/GHSA/OSV advisory reports |
Registry
Collection metadata lives in references/registry.yaml. Read it to show current version, platform requirements, and per-skill produces/consumes fields.
State Directory
.omv/ at the repository root stores campaigns, findings, source references, report provenance, archive metadata, and the rebuildable local workspace index. It is private local research state and should be gitignored. Campaigns live under .omv/campaigns/; active findings live under .omv/findings/; SourceRef.v1 sidecars live under .omv/sources/; inactive findings live under .omv/archive/findings/.
CLI Delegation
When the user invokes campaign, workspace, lifecycle, repro scaffold, artifact check, archive, or restore commands, run the matching `omv` CLI command with the available shell tool and display its output. Do not implement the behavior manually (do not mkdir, do not move files, do not write YAML directly).
Use omv help, omv help review, omv help findings, omv help repro, or omv help report as the source of truth for exact CLI signatures. For direct aliases:
/omv dashboard->omv dashboard/omv tui->omv tui/omv start ...->omv start .../omv eval ...->omv eval .../omv campaign ...->omv campaign .../omv status->omv workspace status/omv log->omv workspace log/omv next->omv dashboard/omv repro init <id>->omv repro init <id>/omv review <id>->omv review <id>/omv report artifacts <id>->omv report artifacts <id>/omv report provenance <id>->omv report provenance <id>/omv sources init <id>->omv sources init <id>/omv sources validate <id>->omv sources validate <id>/omv verification init <id>->omv verification init <id>/omv verification show <id>->omv verification show <id>/omv verification validate <id>->omv verification validate <id>/omv archive <id> --reason <reason>->omv findings archive <id> --reason <reason>/omv restore <id>->omv findings restore <id>/omv findings ...->omv findings ...
If `omv` is not found on PATH, output: "omv is not installed. Run npm install --global oh-my-vul. Pi users already have the Skills and should not run omv setup; Codex and Claude Code users should then run omv setup --platform codex|claude-code for their platform."
Subcommand reference
- start / campaign init —
omv startprovides the guided human workflow;omv campaign initcreates Campaign.v1 directly for automation. - campaign list/show — reads Campaign.v1 files directly and reports generic hypothesis lanes.
- campaign surfaces propose `<id>` — writes
.omv/campaigns/<id>.surfaces.yamlwith deterministic attack-surface cards from the shared pack catalog, filtered by campaign vulnerability classes. Cards are unproven research topics (开题), not findings. - campaign surfaces show `<id>` — lists card status (
proposed/selected/skipped) and next action. - campaign surfaces select `<id> --cards <id,id>` — marks chosen cards selected and others skipped. Required before seed when a surfaces file exists.
- campaign seed `<id>` — creates only candidate Evidence.v1 hypotheses. If a surfaces sidecar exists, only selected cards are seeded (finding ids like
<campaign>-renderer-pipeline). Otherwise generic vulnerability-class lanes are used. Existing.yaml/.ymlfindings are never overwritten. Never claim seed audited, reproduced, verified, or proved a vulnerability, and never create ThreatMap, repro, verification, report, or PoC artifacts manually. - dashboard — prints workspace status, active workflow queue, and recent activity in one view.
- tui — opens the read-only Ink workspace when stdin/stdout are TTYs. Bare
omvalso opens it in a TTY;omv dashboard,omv --no-tui, JSON, pipes, and CI remain plain. - eval — runs checked-in deterministic checker/golden pairs through the unified runner. It does not invoke a model or make network requests;
--jsonand--junitare available for automation. - workspace status — prints workspace path, active/archive counts, status counts, and privacy warnings.
- workspace log — prints the local activity trail for workspace initialization, finding init, promotion, archive, and restore.
- init `<id>` — creates
.omv/findings/<id>.yamlfrom the Evidence.v1 template; default--status candidate. If file exists, CLI errors — suggest--force. - list — prints ID / STATUS / READY / PACKAGE / VULNERABILITY table for every
.yamlin.omv/findings/. - review `<id>` — runs the unified pre-report readiness review and returns one verdict:
ready,needs-repro,needs-audit,needs-verification, orblocked. Use--strictwhen adversarial Verification.v1 must pass before reporting. - show `<id>` — prints one finding's package, vulnerability, validation errors/warnings, missing fields, and next action. Use
--archivedto inspect archived findings. - validate `[id|path]` — checks required Evidence.v1 fields; exits non-zero on errors. No arg = validate whole ledger.
- promote `<id|path> --status <s>` — updates the
statusfield and re-validates. Valid statuses:candidate,confirmed,blocked. - repro init `<id>` — creates
.omv/repro/<id>/with standard reproduction artifact files and records suggestedevidence.repro_artifacts. - report artifacts `<id>` — checks
.omv/reports/<id>/and Evidence.v1 reproduction artifact references before final archive. - sources init/validate `<id>` — records only source facts already present in Evidence.v1 and checks whether its hash is stale. Never describe SourceRef as proof that a remote source is authoritative.
- report provenance `<id>` — hashes Evidence, non-empty report files, and available SourceRef/ThreatMap/Verification/reproduction dependencies into
.omv/reports/<id>/provenance.json. - verification init `<id>` — creates
.omv/verifications/<id>.yamlwith the current Evidence.v1 SHA-256 for adversarial verifier review. - verification show `<id>` — summarizes Verification.v1 decision, disagreements, required changes, and stale-hash state.
- verification validate `<id>` — validates Verification.v1 structure and warns when Evidence.v1 changed after review.
- archive `<id> --reason <reason>` — moves a finding to
.omv/archive/findings/and removes it from active workflow views. For--reason reported, confirmed findings reuseomv report artifacts <id>checks; use--strictto block archive when artifacts are missing or empty. - archive list — lists archived findings and archive reasons.
- restore `<id>` — moves an archived finding back to
.omv/findings/.
Workflow Overview
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/omv/SKILL.md
Popularity
- Repository stars
- 4
- 7-day trend score
- 8
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bx33661/oh-my-vul/omv)