Babysitter startup-time-profiler
Profile and optimize application startup time for desktop applications
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/desktop-development/skills/startup-time-profiler" ~/.claude/skills/a5c-ai-babysitter-startup-time-profiler && rm -rf "$T"
manifest:
library/specializations/desktop-development/skills/startup-time-profiler/SKILL.mdsource content
startup-time-profiler
Profile and optimize application startup time, identifying bottlenecks in initialization, module loading, and rendering.
Capabilities
- Measure cold and warm start times
- Identify module loading bottlenecks
- Profile initialization phases
- Generate timeline visualizations
- Provide optimization recommendations
- Set up CI performance tracking
Input Schema
{ "type": "object", "properties": { "projectPath": { "type": "string" }, "framework": { "enum": ["electron", "tauri", "native"] }, "iterations": { "type": "number", "default": 5 } }, "required": ["projectPath"] }
Electron Startup Profiling
// Add to main.js const startTime = Date.now(); app.on('ready', () => { console.log(`App ready: ${Date.now() - startTime}ms`); }); // Enable tracing app.commandLine.appendSwitch('trace-startup'); app.commandLine.appendSwitch('trace-startup-file', 'startup-trace.json');
Optimization Techniques
- Lazy load modules
- Defer non-critical initialization
- Optimize bundle size
- Use V8 snapshots
- Preload critical resources
Benchmarks
| Metric | Good | Acceptable | Poor |
|---|---|---|---|
| Cold start | < 2s | < 4s | > 6s |
| Warm start | < 1s | < 2s | > 3s |
| Window visible | < 1.5s | < 3s | > 5s |
Related Skills
memory-leak-detectorbundle-size-analyzer