profile

Analyze Node.js CPU profiles to identify bottlenecks and generate optimization recommendations.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/jankdc/ultraman-bench --skill profile
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: profile
Source: https://github.com/jankdc/ultraman-bench/tree/main/.claude/skills/profile
Command: npx skills add https://github.com/jankdc/ultraman-bench --skill profile

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires wabt, binaryen.

What problem does it solve?

This Skill eliminates the complex, time-consuming manual analysis of CPU profiles. It automatically identifies performance bottlenecks, high garbage collection, and excessive JS/WASM boundary crossing, making optimization efforts faster and more targeted.

Core Features & Use Cases

  • Automated Bottleneck Detection: Pinpoints CPU hotspots, memory allocation issues, and marshaling overhead in your code.
  • WASM Debugging Enhancement: Enriches CPU profiles with detailed WebAssembly function symbols and offers disassembly for critical WASM functions.
  • Actionable Optimization Recommendations: Provides specific, data-driven suggestions to improve code efficiency and reduce execution time.
  • Use Case: After running a benchmark, you suspect a performance regression. Use this Skill to analyze the CPU profile, quickly identify the exact WASM function or JavaScript operation causing the slowdown, and receive clear guidance on how to optimize it, saving days of manual debugging and analysis.

Quick Start

First, collect a CPU profile for the 'simple-object' scenario using the command: SCENARIO=simple-object npm run profile:cpu. Then, analyze the generated profile by asking me to 'analyze the latest CPU profile for simple-object parsing and provide optimization recommendations'.

Frequently Asked Questions about profile

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify performance bottlenecks in Node.js CPU profiles?

CPU profile analysis automatically detects hotspots, memory allocation issues, and JS/WASM boundary crossing overhead. Run SCENARIO=simple-object npm run profile:cpu to collect a profile, then analyze it to pinpoint exact functions causing slowdowns and receive optimization guidance.

Can I analyze WebAssembly performance issues with symbol enrichment?

Yes. This analyzes WASM CPU profiles by enriching them with detailed function symbols via wasm-objdump, providing disassembly for critical functions so you identify exactly which WASM operations consume the most CPU time.

What do I need to set up before analyzing CPU profiles?

Builds must have debug symbols enabled to yield meaningful WASM and function names in profiles. Dependencies include wabt and binaryen for symbol enrichment and analysis across Node.js profiling workflows.

How do I get actionable optimization recommendations from a CPU profile?

After analysis, this generates data-driven suggestions targeting identified hotspots: it flags garbage collection overhead, boundary-crossing marshaling costs, and high-frequency functions, then recommends specific code changes to reduce execution time.

Can I export CPU profile analysis results as JSON?

Yes. The analysis produces optional JSON output containing categorized hotspots, time percentages, GC and boundary-crossing issues, and optimization recommendations for programmatic downstream use.

Does this work with garbage collection and memory profiling data?

This focuses on CPU profiles but flags GC overhead as a performance bottleneck within them. It identifies excessive garbage collection as a category of hotspot requiring optimization but does not perform dedicated memory profiling.