JsAnalyzer

A static JavaScript security-analysis workflow for files or live websites. Static analysis examines code without running it to find URLs, paths, data sources, dangerous outputs, message handlers, and other security-relevant patterns.

In plain words
What is it for?
Use it to analyze local JavaScript files or a domain, trace data from inputs to dangerous functions, inspect postMessage handlers, investigate APIs, and review possible secrets.
Why use it?
It divides the review into specialized analyses so large JavaScript codebases can be examined for different types of risks and findings.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/securitytalent/bugskill-ai/jsanalyzer
Any agent
npx skills add SecurityTalent/bugskill-ai --skill jsanalyzer
Clone the repo
git clone --depth 1 https://github.com/SecurityTalent/bugskill-ai

Made for: Claude Code, Codex.

Per session 75 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,360 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00075 $0.01360
Opus 5 $0.00037 $0.00680
Sonnet 5 $0.00015 $0.00272
Haiku 4.5 $0.00007 $0.00136

Measured 2d ago against content hash 337450922a10, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

JsAnalyzer scanned grade B with 1 finding 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 2d ago.

The scan reads SKILL.md. This mod also ships 11 executable files (scripts/extract-inline-batch.sh, scripts/extract-inline-js.sh, src/configs/agents.ts, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Harvests environment variablesmediumData exfiltration

Enumerating or grepping the environment for keys collects credentials unrelated to what the mod says it does.

# Extract secrets

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Awesome-Claude-Code-Agent-Skills/JsAnalyzer/SKILL.md · 184 lines

How it starts

The opening of the file, as written. The whole thing — 184 lines — stays where its author put it; the contents beside it link to each section on GitHub.

JsAnalyzer

Orchestrator-based JS security analysis. Primary context delegates all heavy work to specialized agents.


Architecture: Orchestrator Pattern

PRIMARY CONTEXT (Light Orchestrator)
│
├── Phase 1-3: Spawn in PARALLEL
│   ├── js-grep-analyzer (haiku)  → paths, endpoints
│   ├── js-tool-runner (haiku)    → doctorswzl output
│   └── js-architecture-analyzer (opus) → architecture docs
│
├── Phase 4: Spawn in PARALLEL
│   ├── source-sink-tracer (opus) × N
│   ├── postmessage-analyzer (opus) × N
│   ├── api-investigator (opus) × N
│   └── secrets-analyzer (opus) × 1
│
└── Phase 5: Synthesize (light)

Primary context NEVER:

  • Runs greps directly
  • Parses JSON output
  • Reads large files for analysis

Primary context ONLY:

  • Spawns agents
  • Waits for results (TaskOutput)
  • Creates final summary reports

Workflow Routing

Trigger Workflow Action
/js-analyze <domain> or /jsa <domain> LiveSite.md Acquire from live site → FullScan
/js-analyze (in folder with .js files) FullScan.md All 5 phases with agents
"analyze js files" Analyze.md Phases 1-3 only
"review findings" Review.md Phases 4-5 only

Note: If given a domain/URL, use LiveSite workflow. If in a folder with JS files, use FullScan.


Execution

When triggered, IMMEDIATELY:

  1. Read workflow: ${PAI_DIR}/skills/JsAnalyzer/workflows/FullScan.md
  2. Execute the orchestrator pattern as specified
  3. Spawn agents in parallel where indicated
  4. Wait for agents with TaskOutput
  5. Create summary reports

Agents Used

Agent Model Purpose
js-grep-analyzer haiku Fast grep extraction
js-tool-runner haiku Tool execution
js-architecture-analyzer opus Deep architecture analysis
source-sink-tracer opus Flow tracing
postmessage-analyzer opus postMessage security
api-investigator opus API endpoint analysis
secrets-analyzer opus Credential assessment

Read the full file on GitHub · 184 lines

Changes

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.

  1. 2d ago First seen · 184 lines · 75 tokens per session scan B 337450922a10

Subscribe to this mod's changes

JsAnalyzer is a skill published in the GitHub repository SecurityTalent/bugskill-ai (5 stars, last pushed 17d ago), licensed MIT. It adds 75 tokens to every session and 1,360 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it B with 1 finding (harvests environment variables). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

srt-whiteboard-animation

将 SRT 字幕做成暖米黄纸张底的白板手绘动画:读字幕→输出配图策略→确认后生成统一风格线稿→按叙事语义标注分区→预览台调整→渲染 MP4。编排沿用分区遮罩揭示(annotation.json / sequence / startMs / protectedRegions),但每个区域内的落墨换成 stream 的连续笔迹(骨架/网格 ink→color)。当用户提供 SRT 字幕并要求"字幕做成白板手绘/流式笔迹视频""SRT 生成白板动画""按字幕分镜画手绘"时触发。.

geeklee/srt-whiteboard-animation · 156 tokens

user-research-cookiy

End-to-end user research assistant — qualitative and quantitative. Use this skill whenever the user mentions user research, user interviews, discussion guides, interview guides, research plans, qualitative research, quantitative research, user surveys, survey design, usability studies, participant recruitment…

cookiy-ai/user-research-skill · 154 tokens

seo

Deterministic LLM-first SEO audits for websites, blog posts, and GitHub repositories. Use this when the user asks to "perform SEO analysis", "run SEO audit", "analyze SEO", "check technical SEO", "review schema", "Core Web Vitals", "E-E-A-T", "hreflang", "GEO", "AEO", or GitHub repository SEO optimization. For…

Bhanunamikaze/Agentic-SEO-Skill · 105 tokens

playwright-best-practices

Use when writing Playwright tests, fixing flaky tests, debugging failures, implementing Page Object Model, configuring CI/CD, optimizing performance, mocking APIs, handling authentication or OAuth, testing accessibility (axe-core), file uploads/downloads, date/time mocking, WebSockets, geolocation, permissions…

currents-dev/playwright-best-practices-skill · 214 tokens

open-map-stack

Use textual agent instructions for GIS and geospatial work: source discovery and provenance, vector/raster/point-cloud pipelines, CRS and metric analysis, spatial SQL, routing and isochrones, QGIS projects, tile generation, and web maps. Use advanced tools and formats such as OSM, Overture, STAC, Sentinel/Landsat…

jaakla/openmapstack · 169 tokens

globalpercent

GlobalPercent — build a global-macro-probability panel for an investment research system. Merges public probability data from prediction markets (Polymarket + Kalshi), classifies every market into macro modules (monetary policy / macro economy / AI / etc.), and shows the whole market's expected-probability state at a…

simonlin1212/globalpercent · 134 tokens