Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ManceRayder42/jarvis-os --skill preflightgit clone --depth 1 https://github.com/ManceRayder42/jarvis-osWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mancerayder42/jarvis-os/preflight)<a href="https://agentmods.dev/skills/mancerayder42/jarvis-os/preflight"><img src="https://agentmods.dev/badge/skills/mancerayder42/jarvis-os/preflight/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mancerayder42/jarvis-os/preflight"><img src="https://agentmods.dev/badge/skills/mancerayder42/jarvis-os/preflight.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00090 | $0.00620 |
| Opus 5.5 | $0.00036 | $0.00248 |
| Sonnet 5.5 | $0.00018 | $0.00124 |
| Haiku 4.5 | $0.00009 | $0.00062 |
Grade A, and why
preflight scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 26d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Preflight
Run before a production deploy, before pushing a release branch, or whenever auth or storage suddenly fails in production but works locally. It is an interactive check, not a CI gate.
Procedure
Run from the project root:
# 1. Literal \n inside a quoted env value (dotenv turns it into a real newline)
grep -nE '\\n"[[:space:]]*$' .env* 2>/dev/null
# 2. Trailing whitespace inside a quoted value
grep -nE '[[:space:]]+"$' .env* 2>/dev/null
# 3. Non-ASCII working directory with Next.js (the bundler can choke on it)
if [ -f package.json ] && jq -e '.dependencies.next // .devDependencies.next' package.json >/dev/null 2>&1; then
pwd | LC_ALL=C grep -P '[^\x00-\x7F]' >/dev/null && echo "WARN: non-ASCII path + Next.js"
fi
# 4. Empty catch blocks (swallowed errors)
grep -rnE '\bcatch[[:space:]]*(\([^)]*\))?[[:space:]]*\{[[:space:]]*\}' src app pages 2>/dev/null | head -5
If jq or grep -P is missing on this machine, say so and skip that check rather
than reporting a pass.
Output
One line per check, with file:line and a one-line fix for every failure:
preflight YYYY-MM-DD
[PASS] env: no literal \n in quoted values
[FAIL] env: .env.production:12 trailing whitespace inside quoted value
[PASS] path: ASCII-only working directory
[WARN] catch: src/api/upload.ts:42 empty catch block
Fixes
- Literal
\nin a quoted value: put the value on one line. A real newline inside a JWT or signed URL corrupts it. - Trailing whitespace inside the quotes: strip it; most parsers keep it and the API then rejects the token.
- Non-ASCII path with Next.js: move the project to an ASCII-only path.
- Empty
catch {}: at minimum log the error; better, surface it to the caller.
When not to run
On a fresh repo with no env file yet, or as a CI gate (use a linter there).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 26d ago First seen · 59 lines · 90 tokens per session scan A 9735f39a6f4d
preflight is a skill published in the GitHub repository ManceRayder42/jarvis-os (5 stars, last pushed 26d ago), licensed MIT. It adds 90 tokens to every session and 620 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-01.
Other skills, from other repositories
vigil-instrument
Instrument a service with OpenTelemetry — RED metrics, structured logs, distributed tracing, and health checks. Outputs actual code and config, not a plan. Use when asked to "add monitoring", "instrument this", "add logging", "set up tracing", or "observability".
touch-audit
Mobile audit — app size, startup time, crash reporting, store compliance, accessibility, offline behavior. Use when asked for "mobile review", "app store readiness", "mobile performance", or "crash analysis".
apex-review
Cross-cutting review of recent work — catches gaps between specialists. Use when asked to "review what we built", "check the work", "pre-launch review", or after completing a significant chunk of work.
prism-audit
Frontend audit — bundle size, dependencies, accessibility, performance, component quality. Use when asked for "frontend review", "performance audit", "accessibility check", or "bundle size".
vigil-incident
Incident response — diagnose production issues, find root cause, propose fix with rollback. Use when asked about "something is broken", "production issue", "why is this down", "incident", or "debug production".
forge-diagnose
Diagnose runtime infrastructure issues — cold starts, timeouts, scaling problems, network failures. Use when asked about "infra is slow", "cold starts", "network issues", "why is this timing out", "scaling problem", "latency spikes", or "service is down".