cpu-profile-analysis

A guide for reading V8 CPU profile files and Chrome or Electron performance trace files. These files record where an application spends time, including function calls and rendering events.

In plain words
What is it for?
Use it to compare before-and-after performance, find functions that consume the most time, and examine timing data such as time to request. It can also explain activity across browser, renderer, and GPU processes.
Why use it?
It helps locate slow code and understand why one implementation or code path takes longer than another. It also helps investigate long tasks, layout problems, painting, and rendering delays.

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/microsoft/vscode/cpu-profile-analysis
Any agent
npx skills add microsoft/vscode --skill cpu-profile-analysis
Clone the repo
git clone --depth 1 https://github.com/microsoft/vscode

Made for: Claude Code, Codex.

Per session 71 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,847 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00071 $0.05847
Opus 5 $0.00036 $0.02923
Sonnet 5 $0.00014 $0.01169
Haiku 4.5 $0.00007 $0.00585

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

Security

Grade A, and why

cpu-profile-analysis 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 2d 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.

.github/skills/cpu-profile-analysis/SKILL.md · 518 lines

How it starts

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

Analyze Performance Profiles

Analyze .cpuprofile files (V8 sampling profiler) and DevTools trace files (Trace-*.json, Chrome Trace Event Format) to find performance bottlenecks, compare code paths, and understand timing.

When to Use

  • User provides a .cpuprofile or Trace-*.json file and wants to understand performance
  • Investigating why one code path is slower than another
  • Finding what functions consume the most time
  • Comparing "before/after" or "old/new" implementations in a single profile
  • Investigating layout thrashing, long tasks, or rendering bottlenecks (trace files)
  • Analyzing VS Code user timing marks like code/didResolveTextFileEditorModel (trace files)
  • Understanding multi-process behavior (Browser, Renderer, GPU processes in trace files)

Detecting File Type

  • .cpuprofile: Top-level JSON with nodes, samples, timeDeltas keys. Created by the VS Code profiler.
  • Trace-*.json: Top-level JSON with traceEvents array (and optional metadata). Created by Chrome/Electron DevTools (Performance tab). These are richer than .cpuprofile -- they contain CPU samples, layout/paint events, user timing marks, GC events, input events, and multi-process data.

Key Concepts

  • Sampling profiler: The profiler periodically snapshots the call stack. Not every function appears -- only those on the stack when the profiler sampled. Don't expect exact function names; look for patterns and nearby activity.
  • Self time: Time spent in the function itself (the leaf/innermost frame).
  • Total time: Time the function was anywhere on the stack (includes callees).
  • Idle samples: Frames labeled (idle), (program), or (garbage collector) represent no user code running.

Part 1: .cpuprofile Files

Profile Format

A .cpuprofile is JSON with these top-level keys:

  • nodes: Array of call frame nodes forming a tree (each has id, callFrame, children)
  • samples: Array of node IDs -- one per profiler tick, referencing the leaf (innermost) frame
  • timeDeltas: Array of microsecond deltas between consecutive samples
  • startTime / endTime: Absolute timestamps in microseconds
  • $vscode: Optional VS Code metadata

Read the full file on GitHub · 518 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 · 518 lines · 71 tokens per session scan A 73e7d3ba6ff8

Subscribe to this mod's changes

cpu-profile-analysis is a skill published in the GitHub repository microsoft/vscode (190,384 stars, last pushed today), licensed MIT. It adds 71 tokens to every session and 5,847 once invoked, about $0.0004 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-30.

Related

Other skills, from other repositories

docx

使用 OpenXML SDK (.NET) 进行专业的 DOCX 文档创建、编辑和格式化。 三种管道:(A) 从零创建新文档,(B) 在已有文档中填充/编辑内容, (C) 应用模板格式化并通过 XSD 验证门控检查。 当用户需要生成、修改或格式化 Word 文档时,必须使用此 skill—— 包括他们说"写一份报告"、"起草建议书"、"制作合同"、 "填写此表单"、"按此模板重新排版",或任何最终输出为 .docx 文件的任务。 即使用户未明确提及 "docx",如果任务暗示生成可打印/正式文档,也应使用此 skill。.

Playa-0v0/Cyrene-Agent · 169 tokens

cyrene-plan-mode

当 Cyrene 处于 Plan Mode(计划模式),正在讨论、调查、细化或准备代码/文件改动的实施计划时使用。.

Playa-0v0/Cyrene-Agent · 37 tokens

as-planning-and-task-breakdown

Breaks work into ordered tasks. Use when you have a spec or clear requirements and need to break work into implementable tasks. Use when a task feels too large to start, when you need to estimate scope, or when parallel work is possible.

Playa-0v0/Cyrene-Agent · 58 tokens

as-spec-driven-development

Creates specs before coding. Use when starting a new project, feature, or significant change and no specification exists yet. Use when requirements are unclear, ambiguous, or only exist as a vague idea.

Playa-0v0/Cyrene-Agent · 44 tokens

ecc-code-tour

Create CodeTour .tour files — persona-targeted, step-by-step walkthroughs with real file and line anchors. Use for onboarding tours, architecture walkthroughs, PR tours, RCA tours, and structured "explain how this works" requests.

Playa-0v0/Cyrene-Agent · 54 tokens

ecc-codebase-onboarding

Analyze an unfamiliar codebase and generate a structured onboarding guide with architecture map, key entry points, conventions, and a starter CLAUDE.md. Use when joining a new project or setting up Claude Code for the first time in a repo.

Playa-0v0/Cyrene-Agent · 54 tokens