Install
$ agentstack add skill-mocinjay-immunogen-immunogen ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
immunogen
immunogen is a static-analysis scanner purpose-built for repos built (or partly built) by coding agents — Cursor, Claude Code, Lovable, Bolt, v0, Replit, and similar tools quietly ship the same handful of launch-blocking mistakes, and immunogen finds them before a user finds them in production.
What this skill does
Running the wrapper script performs one deterministic scan of a target directory and returns:
- A headline A-F health grade (
Grade: F — Critical, etc. — see the
grade legend in the immunogen repo's README) layered on top of the numeric score below it.
- A Ship Score (0-100) with a band (
Ready to ship/Low risk/
Moderate risk / High risk) and a pass/blocked verdict.
- Ranked findings — each with severity, a stable rule id, the exact
file:line location, a one-line message, and a confidence tag.
The scan is static only — it reads and parses source files, it never executes, imports, or evals anything from the scanned repo (this is a hard correctness/safety guarantee of the underlying library, not just this skill).
How to invoke it
Run the wrapper script against the path the user wants scanned (defaults to the current directory if no path is given), or against a live http(s):// URL to screen a deployed site (see "Live URL support" below):
node .claude/skills/immunogen/scan.mjs
node .claude/skills/immunogen/scan.mjs https://myapp.com --authorize
The first non-flag argument is the target (a local path or an http(s):// URL). --authorize and --allow-private are forwarded to the scan when present.
Live URL support
This wrapper now forwards a live-URL target and the --authorize / --allow-private flags, so it can screen a deployed website directly:
node .claude/skills/immunogen/scan.mjs https://myapp.com --authorize
See the immunogen repo's README "Screen a live URL" section for what it checks (security headers, CORS misconfig, exposed .env/.git, secrets in served bundles, cookie flags). This makes REAL bounded network requests against the target host, so it requires the caller's explicit authorization (--authorize) — only screen sites the user owns or is explicitly authorized to test. A URL passed without --authorize is refused by the consent gate before any request is made (clean error, exit code 2); do not work around that — surface the message and confirm the user is authorized. --allow-private additionally permits a loopback/private host (local dev/test only). Live-URL screening is deterministic and never invokes an LLM.
The wrapper resolves the immunogen library automatically — from the built repo (pnpm build) when it lives inside it, or from an installed immunogen package. If it can find neither it prints one clear error asking you to build the repo or install the package; if you see that, do that first — do not reimplement the scan logic yourself.
The script prints markdown to stdout. Present that markdown to the user verbatim — do not summarize, truncate, or rephrase the headline grade line, the Ship Score header, or the findings list; the exact grade, score, band, verdict, and ranked findings are the product, and altering them would misrepresent the scan result.
Determinism and offline behavior
This scan is deterministic and fully offline by default — no API key is required, and none is read or forwarded by this wrapper. The same directory always produces the same Ship Score and finding count (parity with the immunogen CLI and the scan() library function is proven by an automated test — tests/dist/skill-parity.test.mjs in the immunogen repo). Do not pass any LLM/provider flags or environment variables when invoking this skill; the zero-setup, offline path is the one this skill is wired to.
What NOT to do
- Do not read the scanned repo's files yourself and hand-write findings —
always run the wrapper and use its output.
- Do not execute,
require(), orevalany file from the scanned repo for
any reason, even to "double check" a finding.
- Do not invent or adjust the Ship Score or the A-F grade — report exactly
what the wrapper returned.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Mocinjay
- Source: Mocinjay/immunogen
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.