perf-profile

perf-profile is a skill for Claude Code, Codex from OutlineDriven/odin-gemini-cli-extension. It costs 0 tokens per session (1,077 once invoked), scanned A, a copy of perf-profile, Apache-2.0.

A profiling workflow for finding where a program spends time, memory, or other resources before changing its performance-critical code. A flamegraph is a visual summary of sampled work that helps locate these hotspots.

In plain words
What is it for?
Use it when latency, throughput, memory use, startup time, or a benchmark has missed its target, including reading flamegraphs, tracking allocations, measuring regressions, and comparing results.
Why use it?
It prevents intuition-led optimization and checks that an apparent improvement is real, repeatable, and does not introduce a regression.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it when latency, throughput, memory use, startup time, or a benchmark has missed its target, including reading flamegraphs, tracking allocations, measuring regressions, and comparing results.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/outlinedriven/odin-gemini-cli-extension/perf-profile
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.

Any agent
npx skills add OutlineDriven/odin-gemini-cli-extension --skill perf-profile
Clone the repo
git clone --depth 1 https://github.com/OutlineDriven/odin-gemini-cli-extension

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for perf-profile

README.md
[![agentmods](https://agentmods.dev/badge/skills/outlinedriven/odin-gemini-cli-extension/perf-profile/github.svg)](https://agentmods.dev/skills/outlinedriven/odin-gemini-cli-extension/perf-profile)
Your own site
<a href="https://agentmods.dev/skills/outlinedriven/odin-gemini-cli-extension/perf-profile"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-gemini-cli-extension/perf-profile/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.

agentmods 80×15 button for perf-profile

Your own site · 80×15
<a href="https://agentmods.dev/skills/outlinedriven/odin-gemini-cli-extension/perf-profile"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-gemini-cli-extension/perf-profile.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,077 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod 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.1 $0.00000 $0.01077
Opus 5 $0.00000 $0.00539
Sonnet 5 $0.00000 $0.00215
Haiku 4.5 $0.00000 $0.00108

Measured 9d ago against content hash c3b66bcdd461, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

perf-profile 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 9d 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.

Origin

This is a copy

100% identical to perf-profile — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/perf-profile/SKILL.md · 66 lines

How it starts

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

Performance is a contract with reality. Intuition about hot paths is wrong more often than right. Capture, locate, hypothesize, optimize, re-measure, prove the regression with a benchmark — then defend the win with an invariant.

When to Apply / NOT

Apply: latency or throughput SLO violation; memory pressure (RSS growth, GC churn); benchmark regression; pre-optimization scoping; cold-start vs steady-state cost split; cache locality / branch-prediction concerns.

NOT apply: defect with wrong outputs; architectural redesign; micro-optimization without budget pressure; untested code (write tests first).

Anti-patterns

  • Optimize without profile: intuition-driven changes.
  • Single-run benchmarks: variance dominates. Use hyperfine --warmup 3 --min-runs 10.
  • Profile in debug build: optimizer-disabled binaries lie.
  • Confuse flat profile with call-graph: self-time vs total-time tell different stories.
  • Ignoring tail latency: p50 stays flat while p99 explodes.
  • Cherry-picking the win: re-measure end-to-end.
  • Allocation blind spot: CPU profiler hides GC.
  • Forgetting the regression guard.

Workflow (language-neutral)

  1. Define budget — restate target metric: latency p95 < X ms, throughput > Y rps, RSS < Z MB.
  2. Establish baseline — run unoptimized workload under hyperfine plus profiler. Save raw artifacts.
  3. Capture profile — sampled CPU profile → flamegraph; allocation profile if memory-bound; latency histogram for tail.
  4. Locate hotspot — top self-time function or widest plateau. Cross-check with allocation profile.
  5. Hypothesize — one falsifiable claim with predicted delta.
  6. Optimize minimally — smallest change targeting the hypothesis.
  7. Re-profile — capture same metric; differential flamegraph.
  8. Prove the winhyperfine 'baseline' 'optimized' --warmup 3 --min-runs 10.
  9. Guard the win — add CI benchmark with regression bound.

Reading Flamegraphs

  • Wide plateau on top: hot self-time function — primary target.
  • Narrow towers: deep call chains — examine for over-abstraction.
  • Repeated motifs: same callee under many parents — candidate for inlining or caching.
  • Missing frames: rebuild with -fno-omit-frame-pointer / RUSTFLAGS=-C force-frame-pointers=yes.
  • Differential flamegraph (hotspot --diff): red = added cost, blue = removed.

Read the full file on GitHub · 66 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. 9d ago First seen · 66 lines · 0 tokens per session scan A c3b66bcdd461

Subscribe to this mod's changes

perf-profile is a skill published in the GitHub repository OutlineDriven/odin-gemini-cli-extension (5 stars, last pushed 2mo ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 1,077 tokens. A static security scan graded it A with 0 findings. It is 100% identical to perf-profile, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

design

Set visual and interaction direction for any UI surface (web, React, TUI, CLI, desktop, Qt, design-system tokens) before any UI code. Direction-first: generates 3-4 distinct directions via verbalized sampling, picks one via per-axis single-select, then derives palette, typography, spacing, motion budget. Loads when…

OutlineDriven/odin-codex-plugin · 151 tokens

askme

Verbalized Sampling (VS) protocol for intent exploration before planning, mode-aware. Default exhaustive runs full VS; collaborative runs tip-sharing dialogue; adversarial walks the design tree one fork at a time. Auto-detects from phrasing ("help me refine" → collaborative, "poke holes" → adversarial); override via…

OutlineDriven/odin-codex-plugin · 106 tokens

git-branchless

Enforce idiomatic git-branchless during planning and executing tasks — detached-HEAD-first work, in-memory rebase via git move, event-log recovery via git undo, deferred branch creation, speculative-merge git sync for base updates. Use when planning or executing multi-commit work, history rewrites, stack edits…

OutlineDriven/odin-codex-plugin · 131 tokens

grill-ai-mastery

Hybrid interview that probes AI-engineering mastery by tip-vocabulary depth — entity referencing, loop closure, observability, harness improvement — not by token usage or LOC. Start collaborative (two-way tip exchange), escalate to adversarial probing when depth is lacking. Trigger when the user says "interview me on…

OutlineDriven/odin-codex-plugin · 104 tokens

grill-me

Adversarial relentless interview against any plan or design until shared understanding is reached. Walk the decision tree, resolve dependencies one answer at a time, recommend a default per question. Trigger when the user says "grill me", "stress-test this", "interview me about this design", or otherwise asks for…

OutlineDriven/odin-codex-plugin · 83 tokens

proof-driven

Proof-driven development. Use when implementing with formal verification using property-based testing, theorem proving, or proof tactics; zero unproven property policy enforced.

OutlineDriven/odin-codex-plugin · 33 tokens