| name | using-omv |
| description | Bootstrap discipline for oh-my-vul research. Use at the start of any vulnerability research conversation, when the user asks to audit/find/report a package, dig for CVEs, or run omv skills â and before claiming a finding is confirmed, ready to submit, or âdoneâ. Establishes mandatory process, hard gates, and evidence-before-claims rules. Prefer this over improvising a research workflow.
|
using-omv
High-quality growth rule for this project: deepen discipline, do not inflate skill count.
This skill is the session bootstrap. Domain work still lives in /omv-find, /omv-audit, /omv-repro, /omv-report, etc. You use those skills inside the process below â you do not invent parallel workflows.
Iron Laws
1. EVIDENCE BEFORE CLAIMS
2. CLI TRUTH BEFORE PROSE
3. PROCESS BEFORE IMPROVISATION
4. PASSIVE RESEARCH ONLY
Before any research claim or lifecycle transition, you must satisfy the matching gate.
Rationalizing past a gate is a failure mode, not speed.
When This Applies
Invoke before substantive research action if the user is:
- looking for packages to audit, ranking targets, or running
/omv-find
- auditing source â sink â guard, or running
/omv-audit
- reproducing, reporting, disclosing, or asking âwhat nextâ
- about to say a finding is confirmed, report-ready, non-duplicate, or complete
If you are a subagent doing one delegated slice (e.g. only CVSS math), stay in that slice and still refuse to invent evidence.
Default Research Pipeline
Use this order unless the user already has a later-stage artifact and explicitly continues from it:
1. Orient
omv dashboard OR /omv next
If no campaign and user has a target â omv start / campaign init
2. Open the problem (ćŒéą) â prefer Attack Surface Cards when a campaign exists
omv campaign surfaces propose <id>
omv campaign surfaces select <id> --cards <id,id>
omv campaign seed <id>
(If no surfaces file, seed uses generic lanes â still candidate-only.)
3. Deepen one hypothesis at a time
/omv-audit <id> â fill Evidence; never invent file:line
/omv-repro <id> â only when observed_result is the blocker
omv findings validate <id> after material edits
4. Gate before report language
omv review <id> --strict
Optional: /omv-critic <id>, /omv-dedup <id>
5. Report only when ready
/omv-report <id> only if review says ready (or user overrides with explicit draft-only ask)
Then provenance / archive only if user wants lifecycle bookkeeping
Announce briefly when you switch stages, e.g. âUsing attack-surface cards to open the campaignâ or âRunning omv review --strict before any submit language.â
Hard Gates (non-negotiable)
| Claim or action | Required evidence (fresh in this turn when possible) |
|---|
| Start multi-hypothesis audit on a target | Campaign exists; prefer surfaces propose/select before bulk seed |
status: confirmed | omv findings validate <id> OK; source/sink/guard with concrete refs; submission score â„ 75; no unresolved blockers |
âExploit worksâ / exploitability: proven | Local observed_result not unknown, or user-supplied observation recorded into Evidence |
| âReady to submitâ / submission-ready report | omv review <id> --strict â ready (or user explicitly asks for draft-only triage) |
| âNot a duplicateâ | Dedup fields filled from real searches; if offline, say not searched â never invent CVE IDs |
| âDoneâ / âfixed research completeâ | State remaining unknowns; do not imply CNA acceptance |
Forbidden shortcuts
- Do not write submission-ready VulDB/GHSA/OSV prose for
blocked or low-score candidate findings.
- Do not treat sink presence alone as a vulnerability.
- Do not attack live third-party services or auto-run exploit payloads.
- Do not create ThreatMap/Verification/report artifacts as fake proof during seed.
- Do not skip CLI validation by âmanually eyeballingâ YAML when
omv is available.
Red Flags (stop and correct)
| Thought | Reality |
|---|
| âThis is obviously vulnerableâ | Without sourceâsinkâguard + version, it is a hypothesis |
| âIâll confirm first and fill evidence laterâ | Confirm is a gate, not a vibe |
| âReview is optional for a draftâ | Drafts must be labeled triage; never âready to submitâ |
| âDuplicate search will slow us downâ | Missing dedup is a common CNA rejection |
| âOne more skill will fix thisâ | Prefer stronger gates and better evidence; avoid skill sprawl |
| âThe model said high confidenceâ | Confidence without file:line is still low for omv |
| âSurfaces/cards are overkillâ | Cards are how we open problems; lanes alone are the thin path |
Skill Priority
When multiple omv skills apply:
- Process â this skill (
using-omv), /omv next, campaign/surfaces
- Depth â find â audit â repro
- Gate â review / critic / dedup
- Output â report / disclose
Do not jump to report because the user said âCVEâ if Evidence is incomplete â run the gate and show the gap.
Quality Over Sprawl
Prefer:
- tighter HARD-GATEs and CLI checks
- better Attack Surface catalog and Evidence fields
- adversarial verification when stakes are high
Avoid:
- new
/omv-* skills for every idea
- parallel prose workflows that bypass
.omv/
- automating confirmation without observation
Minimal CLI Cheatsheet
omv dashboard
omv start --target <name> --ecosystem <eco> --vuln <classes> --no-interactive
omv campaign surfaces propose <id>
omv campaign surfaces select <id> --cards <id,id>
omv campaign seed <id>
omv findings validate <id>
omv review <id> --strict
If omv is missing: install it with npm install --global oh-my-vul, then run omv setup --platform codex in Codex or omv setup --platform claude-code in Claude Code and re-check with the matching omv doctor --platform ... command.