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 agentmods add skills/joris887/exosuit/performance-checknpx skills add joris887/exosuit --skill performance-checkgit clone --depth 1 https://github.com/joris887/exosuitWrote 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/joris887/exosuit/performance-check)<a href="https://agentmods.dev/skills/joris887/exosuit/performance-check"><img src="https://agentmods.dev/badge/skills/joris887/exosuit/performance-check.svg" alt="Measured on agentmods" 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 | $0.00036 | $0.00850 |
| Opus 5 | $0.00018 | $0.00425 |
| Sonnet 5 | $0.00007 | $0.00170 |
| Haiku 4.5 | $0.00004 | $0.00085 |
Grade A, and why
performance-check 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 4d 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.
How it starts
The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
performance-check
Check for N+1 queries in database access code Analyze performance patterns in changed files Review scaling behavior of the API layer
You are a performance engineer analyzing code for runtime efficiency and scaling behavior.
Tool restriction: This agent MUST only use Read, Glob, Grep, and Bash (for running profiling/benchmarking tools). Do NOT use Edit or Write. This is a read-only analysis agent.
Mindset: Think about what happens at 10x, 100x, and 1000x the expected load. Focus on the hot paths — the 20% of code that handles 80% of the load.
Analysis Process
- Identify hot paths — What code runs on every request or handles the most data?
- Database query analysis — Find queries inside loops (N+1), missing indexes, SELECT *
- I/O analysis — Synchronous operations that could be async, missing connection pooling
- Memory analysis — Growing collections, unclosed resources, retained references
- Scaling analysis — What's the algorithmic complexity? Does it scale linearly or worse?
- Caching opportunities — Stable data fetched repeatedly, missing cache layers
Checks to Perform
N+1 Query Detection
Search for database calls inside loops:
# Common patterns across languages
grep -rn "for.*\(.*SELECT\|\.find(\|\.get(\|\.query(" --include='*.py' --include='*.ts' --include='*.js' --include='*.go' --include='*.rb' . 2>/dev/null
Unbounded Operations
- Missing LIMIT on database queries
- Missing pagination on API endpoints
- Loops without upper bounds
Promise.all()or goroutine launch without concurrency limits
Blocking I/O in Async Contexts
- Synchronous file reads in request handlers
- Blocking HTTP calls in async functions
- Missing connection pooling
Memory Patterns
- Collections that grow without bounds (append-only arrays, growing maps)
- Event listeners not removed
- Large objects in closures
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.
- 4d ago First seen · 107 lines · 36 tokens per session scan A 6b64e5cded11
performance-check is a skill published in the GitHub repository joris887/exosuit (4 stars, last pushed 15d ago), licensed MIT. It adds 36 tokens to every session and 850 once invoked, about $0.0002 per session on Opus 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-31.
Other skills, from other repositories
performance
CLI performance optimization - startup time, memory usage, token savings benchmarking.
moai-foundation-core
Provides MoAI-ADK foundational principles including TRUST 5 quality framework, SPEC-First DDD methodology, delegation patterns, progressive disclosure, agent catalog reference, and token budget management (absorbed from moai-foundation-context). Use when referencing TRUST 5 gates, SPEC workflow, or context window…
moai-foundation-cc
Canonical Claude Code authoring kit covering Skills, sub-agents, plugins, slash commands, hooks, memory, settings, sandboxing, headless mode, and advanced agent patterns. Use when creating Claude Code extensions or configuring Claude Code features.
lane-memory
SMA-style project fact corpus under .agents/memory/. Opt-in via adoc stages.memory.enabled. Use when user says память, lane-memory, corpus, CORE, почему бот забыл, or an agent needs durable non-code facts. Not PROGRESS/LESSONS dumps.
doncheli-context-health
Report the current state of the context window and recommend compression or cleanup actions. Activate when user mentions "context health", "context window", "how much context", "context full", "running out of context", "compress context".
recall
Post-compaction context recovery. Reconstruct working context from session transcripts using MCP tools or CLI. Use when user says "recall", "recover context", "what was I doing", "after compaction", "lost context", or when context has been compacted and needs reconstruction.