Agent Substrate is a runtime system for running many isolated applications or AI agents on shared computing infrastructure. It manages agent sandboxes throughout their lifecycle, places them on available workers, and routes traffic to them while using technologies such as Kubernetes, microVMs, and gVisor. Its catalogue skills and instructions support operating and developing workflows around this agent runtime.
Borrowing it
Nothing to install: this file belongs to agent-substrate/substrate. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/agent-substrate/substrate/main/.agents/skills/security-status-report/SKILL.mdgit clone --depth 1 https://github.com/agent-substrate/substrateWrote 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/agent-substrate/substrate/security-status-report)<a href="https://agentmods.dev/skills/agent-substrate/substrate/security-status-report"><img src="https://agentmods.dev/badge/skills/agent-substrate/substrate/security-status-report/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/agent-substrate/substrate/security-status-report"><img src="https://agentmods.dev/badge/skills/agent-substrate/substrate/security-status-report.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00032 | $0.00427 |
| Opus 5.5 | $0.00013 | $0.00171 |
| Sonnet 5.5 | $0.00006 | $0.00085 |
| Haiku 4.5 | $0.00003 | $0.00043 |
Grade A, and why
security-status-report 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 2mo 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
Task
Generate a security status report by evaluating threats listed in docs/threats.json.
Workflow
- Copy
.agents/skills/security-status-report/scripts/template_dispatch.pyto.agents/scratch/security-status-report/template_dispatch.py. - Complete the TODO in
.agents/scratch/security-status-report/template_dispatch.py, meeting the following requirements: a. Iterate over each threat fromdocs/threats.jsonto produce a list of invocations that matches your tool for invoking sub-agents. b. Each invocation must address a single threat, use the below prompt, and instruct the sub-agent to output the correct schema. - Execute the script from the repository root, specifying
.agents/scratch/security-status-report/subagents.jsonas the output file argument (python3 .agents/scratch/security-status-report/template_dispatch.py .agents/scratch/security-status-report/subagents.json). - Read
.agents/scratch/security-status-report/subagents.jsonand copy its exact JSON array into your tool for invoking subagents. DO NOT manually craft or bypass the invocations. Run ALL generated sub-agents concurrently in a single tool call by default unless bound by model rate limits or harness concurrency limits (use batching intelligently if needed). You already updated the script in step 2 to output exactly what you need, so no modifications to the output should be necessary unless you made a mistake or hit limits. - Wait for all sub-agents to complete.
- Run
python3 .agents/skills/security-status-report/scripts/compile_report.py docs/threats.json .agents/scratch/security-status-report .agents/scratch/security-status-report/final.jsonto produce the final report. - Run
python3 .agents/skills/security-status-report/scripts/render_chart.py .agents/scratch/security-status-report/final.json .agents/scratch/security-status-report/chart.pngto render a bar chart of the scores.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2mo ago First seen · 21 lines · 32 tokens per session scan A 440865021b33
security-status-report is a skill published in the GitHub repository agent-substrate/substrate (5,957 stars, last pushed today), licensed Apache-2.0. It adds 32 tokens to every session and 427 once invoked, about $0.0001 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-08-30.
Other skills, from other repositories
agent-engineering-expert
Build LLM agents that use tools safely: tool design, the agent loop, memory, MCP servers, multi-agent orchestration, sandboxing and prompt-injection defence. Use when the user mentions AI agents, tool use or function calling, MCP or Model Context Protocol, autonomous workflows, multi-agent systems, LangChain or…
background-remove
Remove backgrounds from portrait and general images, outputting PNGs with transparent backgrounds.
transcribe
Turn call recordings (mp3/audio) into speaker-labeled, timestamped transcripts (Markdown + JSON), fully local — faster-whisper large-v3 ASR + pyannote speaker diarization on the GPU.
scratch
Catch-all fallback for a task that matches no specialized workflow. Gives general input/output a home under the same write-boundary, logging, and human gates as every other workflow.
file-organizer
Analyze a messy folder and propose a reorganization. Produces a reviewable PLAN first; only applies changes after explicit user approval. Never deletes.
ocr-folder
Make a folder of scanned or image-only PDFs text-searchable. Per-page routing keeps existing text layers and OCRs only image pages; a content-hash cache skips unchanged files on re-runs. Pure pip — no system OCR binary needed.