Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here
nightvision logo

nightvision

claude-plugins-official

OtherClaude Codeby anthropics

Summary

Skills for working with NightVision, a DAST and API Discovery platform that finds exploitable vulnerabilities in web applications and REST APIs

Install to Claude Code

/plugin install nightvision@claude-plugins-official

Run in Claude Code. Add the marketplace first with /plugin marketplace add anthropics/claude-plugins-official if you haven't already.

README.md

<div align="center">

<picture> <source media="(prefers-color-scheme: dark)" srcset="assets/nv-icon-dark.png"> <img alt="NightVision" src="assets/nv-icon.png"> </picture>

NightVision Agent Skills

Your best defense is a good offense: give your coding agent NightVision skills.

<br>

![License](LICENSE) ![Agent Skills](https://agentskills.io) ![Claude Code](https://docs.anthropic.com/en/docs/claude-code) ![NightVision](https://nightviz.ai)

</div>

---

NightVision is a developer-first DAST and API security platform. It dynamically tests running web applications and APIs, discovers REST endpoints from supported source code, and connects validated findings to source locations when that context is available.

These Agent Skills give your coding agent the ability to run NightVision scans, triage results, and integrate security testing into your CI/CD pipelines, all from natural language. Agent Skills are an open format supported by Claude Code, OpenAI Codex, Cursor, and other agentic tools, so the same skill folders work across whichever agent you use.

Installation

The skills live in skills/ as portable Agent Skills folders. Install them into whichever agent you use.

Claude Code

From the terminal:

claude plugin marketplace add nvsecurity/claude-marketplace
claude plugin install nightvision@nvsecurity
claude

Or from inside Claude Code:

/plugin marketplace add nvsecurity/claude-marketplace
/plugin install nightvision@nvsecurity

> You may need to restart Claude Code for the plugin to load.

Codex, Cursor, and other Agent Skills tools

The skills/ folders are standard Agent Skills, so any compatible agent can load them. The method that works across tools is to copy or symlink the folders into a skills directory your agent scans. ~/.agents/skills/ is read by both Codex and Cursor at the user level:

git clone https://github.com/nvsecurity/nightvision-skills.git
mkdir -p ~/.agents/skills
cp -R nightvision-skills/skills/* ~/.agents/skills/

Use a project-level .agents/skills/ instead to scope the skills to one repository.

Tool-specific shortcuts:

  • Codex: $skill-installer installs skills by name and can be prompted to fetch from a GitHub repository. Codex also reads .agents/skills/ and ~/.agents/skills/ directly.
  • Cursor: add via Settings -> Rules -> Project Rules -> Add Rule -> Remote Rule (GitHub) with this repository's URL, or use the directory method above (Cursor also reads .cursor/skills/).

Skills

| Skill | What it does | |:------|:-------------| | app-security-scan | Run the DAST-first app scan harness for local, private, staging, and internal apps. Uses MCP run-app-security-scan when available to preflight, discover APIs, create/update targets, start scans, return scan IDs, poll status, summarize findings, export SARIF/CSV, and write a manifest | | scan-configuration | Set up DAST scans — create targets, configure authentication (Playwright, headers, cookies), manage projects, define scope exclusions, and prepare private network scans | | scan-triage | Interpret scan results — read SARIF/CSV findings, understand vulnerabilities, locate the vulnerable code, validate with curl, prioritize by severity, suggest fixes, and mark false positives | | api-discovery | Extract OpenAPI specs from source code via static analysis, troubleshoot extraction issues, compare specs across versions, and leverage Code Traceback | | ci-cd-integration | Wire NightVision into your pipeline — GitHub Actions, GitLab CI, Azure DevOps, Jenkins, BitBucket, and JFrog with SARIF/CSV export and breaking-change detection |

Example Usage

Just ask your agent what you need:

> Set up a NightVision scan for my API running on localhost:8080

> Run a NightVision app security scan for this local service

> Triage the results from my last scan and suggest fixes

> Add NightVision to my GitHub Actions workflow

> Extract an OpenAPI spec from this Django project

In Claude Code, invoke skills directly with slash commands:

/app-security-scan
/scan-configuration
/scan-triage
/api-discovery
/ci-cd-integration

Enterprise agent-instructions block

For organization-wide agent instructions, use a block like this and pair it with a configured NightVision MCP server. Put it in the instructions file your agent actually reads: CLAUDE.md for Claude Code, AGENTS.md for Codex and Cursor. Claude Code does not read AGENTS.md, so if you already keep one, add @AGENTS.md inside CLAUDE.md rather than maintaining the text twice. Do not put shared NightVision credentials in this block.

This block is written for unattended enforcement: a population of developers (including non-technical ones) who build apps with an AI agent and will not think to run security testing themselves. It is phrased as a completion gate, not a suggestion, and it closes the loop so results reach a person even though nobody will ask for them. Pre-set NIGHTVISION_DEFAULT_PROJECT (and the CLI auth) in the managed MCP server config so the agent never has to ask the developer a NightVision question.

## NightVision Security Workflow (required)

Whenever you create or materially change a web app, API, backend service, route handler, or deployable application, you MUST run a NightVision security scan as part of finishing that work. This is not optional and does not require the developer to ask for it.

Use the NightVision MCP. Prefer `run-app-security-scan`: it handles preflight, API Discovery, target create/update, DAST start, scan-ID return, and manifest writing in one call. DAST is the expected outcome; API Discovery alone is not enough.

To make the scan actually run, do the work the developer will not:
1. Start the app you just built or changed (use its own run command) so it is reachable locally, then pass that URL as `target_url`. If you cannot start it, say so as a concrete blocker.
2. Let `run-app-security-scan` detect the language, discover APIs from source, create/update the target, and start DAST. Most apps are local or internal; rely on NightVision Smart Proxy behavior rather than assuming the app is public.
3. Do not end your turn on an unfinished scan. Because the developer will not come back to check, either wait for the scan to reach a terminal status, or poll `wait-for-scan`/`get-scan-status` until it does, then `summarize-scan-findings` and export SARIF. Keep the MCP server running for local/private scans so the relay stays alive while the scan runs.

Auth: every NightVision action runs under the developer's own NightVision account configured in the managed MCP server. Never use shared tokens and never ask the developer to paste a token anywhere. For target-application login: use a NightVision app auth profile via `auth`/`auth_id`; for username/password or expiring sessions use Playwright script auth; use header/cookie auth only for stable, non-expiring credentials; otherwise run `no_auth: true` and note that coverage may be limited.

Completion contract: work on a new or materially changed app is not complete until either `.nightvision/manifest.json` exists with a NightVision DAST scan ID, or you have stated the exact blocker that prevented DAST (app would not start, no project, not authenticated, target unreachable). A terminal `FAILED` scan can still contain valid findings, so check issue counts and export/summarize before treating a run as unusable. Report the scan ID, the top findings, and the artifact paths to the developer. Never claim an app was scanned, secured, or free of vulnerabilities unless NightVision results support it.

> Trigger reliability note: an agent-instructions rule makes the agent scan reliably in the common case, but it is probabilistic, not guaranteed, on every single turn. For hard enforcement across a fleet, pair this block with a harness-level gate (for example a Stop/PreCompact hook or a CI check) that fails the turn/build when a new or changed app has no .nightvision/manifest.json with a scan ID. The block above is what makes the agent do the right thing; the hook is what guarantees it.

Structure

nightvision-skills/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   ├── app-security-scan/
│   │   └── SKILL.md
│   ├── api-discovery/
│   │   ├── SKILL.md
│   │   └── references/
│   ├── ci-cd-integration/
│   │   ├── SKILL.md
│   │   └── references/
│   ├── scan-configuration/
│   │   └── SKILL.md
│   └── scan-triage/
│       ├── SKILL.md
│       └── references/
├── README.md
└── LICENSE

The skills/ directory is the portable, tool-neutral asset. .claude-plugin/plugin.json is the Claude Code plugin manifest; other agents ignore it and load the skill folders directly.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

Apache License 2.0 — see LICENSE for details.

Related plugins

Browse all →