A Claude Code plugin for analyzing and optimizing GraalVM Truffle performance. This plugin provides specialized skills for profiling, tracing, and diagnosing performance issues in Truffle language implementations.
This plugin includes expert-level skills for:
- Analyzing Compiler Graphs - Understanding IGV dumps and compilation patterns
- Detecting Deoptimizations - Identifying and fixing runtime deoptimizations
- Detecting Performance Warnings - Spotting compiler and runtime warnings
- Establishing Benchmark Baselines - Creating reliable performance benchmarks
- Fetching Truffle Documentation - Accessing up-to-date Truffle API docs
- Optimization Workflow Orchestrator - Optimization loop: baseline, analyze & plan, implement & validate, refresh baseline, update lessons learned, clean up, commit
- Profiling Memory Allocations - Tracking allocation patterns and memory usage
- Profiling with CPU Sampler - Collecting and analyzing CPU profiles
- Tracing Compilation Events - Monitoring JIT compilation activity
- Tracing Execution Counts - Measuring node execution frequencies
- Tracing Inlining Decisions - Understanding inlining behavior
- Claude Code installed and authenticated (installation guide)
- Claude Code version 1.0.33 or later (run
claude --versionto check) - uv installed (required for the MCP AWFY benchmark server)
-
Clone or download this repository to your local machine
-
Load the plugin when starting Claude Code:
claude --plugin-dir /path/to/cc-truffle-performance-plugin
-
Verify installation by running
/helpin Claude Code - you should see the plugin's commands listed
Once installed, Claude will automatically use the appropriate skills based on your Truffle performance analysis needs. The skills are model-invoked, meaning Claude selects and applies them contextually when analyzing your code.
- Ask Claude to analyze compiler graphs from IGV dumps
- Request help debugging deoptimizations in your Truffle language
- Get assistance profiling memory allocations
- Have Claude generate performance reports for your benchmarks
cc-truffle-performance-plugin/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── agents/ # Sub-agent definitions
│ ├── baseline-establisher.md
│ ├── compiler-graph-analyst.md
│ └── hypothesis-validator.md
└── skills/ # Skill definitions
├── detecting-deoptimizations/
├── detecting-performance-warnings/
├── fetching-truffle-documentation/
├── optimization-workflow-orchestrator/
├── profiling-memory-allocations/
├── profiling-with-cpu-sampler/
├── tracing-compilation-events/
├── tracing-execution-counts/
└── tracing-inlining-decisions/
To modify or extend this plugin:
- Edit the skill definitions in the
skills/directory - Update the plugin manifest in
.claude-plugin/plugin.jsonif needed - Restart Claude Code to pick up changes