Performance
Sidiora-Labs/centra-llm-agents
Performance optimization guidelines for React/React Native applications.
Analyze Chrome, Chromium, Electron, React DevTools, or Perfetto-compatible JSON traces and audit user-reported profiling findings without loading large artifacts into context; prove…
$ npx skills add tutti-os/tutti --skill analyze-performance-traces -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tutti-os/tutti analyze-performance-traces --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tutti-os/tutti.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/analyze-performance-traces .claude/skills/analyze-performance-traces && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "analyze-performance-traces" agent skill from https://github.com/tutti-os/tutti/tree/main/.codex/skills/analyze-performance-traces into .claude/skills/analyze-performance-traces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-performance-traces", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tutti-os/tutti/tree/main/.codex/skills/analyze-performance-tracesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tutti-os/tutti --skill analyze-performance-traces -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tutti-os/tutti analyze-performance-traces --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tutti-os/tutti.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/analyze-performance-traces .agents/skills/analyze-performance-traces && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "analyze-performance-traces" agent skill from https://github.com/tutti-os/tutti/tree/main/.codex/skills/analyze-performance-traces into .agents/skills/analyze-performance-traces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-performance-traces", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tutti-os/tutti --skill analyze-performance-traces -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tutti-os/tutti analyze-performance-traces --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tutti-os/tutti.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/analyze-performance-traces .cursor/skills/analyze-performance-traces && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "analyze-performance-traces" agent skill from https://github.com/tutti-os/tutti/tree/main/.codex/skills/analyze-performance-traces into .cursor/skills/analyze-performance-traces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-performance-traces", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tutti-os/tutti.git --path .codex/skills/analyze-performance-traces--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tutti-os/tutti --skill analyze-performance-traces -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tutti-os/tutti analyze-performance-traces --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tutti-os/tutti.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/analyze-performance-traces .gemini/skills/analyze-performance-traces && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "analyze-performance-traces" agent skill from https://github.com/tutti-os/tutti/tree/main/.codex/skills/analyze-performance-traces into .gemini/skills/analyze-performance-traces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-performance-traces", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tutti-os/tutti analyze-performance-tracesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tutti-os/tutti --skill analyze-performance-traces -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tutti-os/tutti.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/analyze-performance-traces .github/skills/analyze-performance-traces && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "analyze-performance-traces" agent skill from https://github.com/tutti-os/tutti/tree/main/.codex/skills/analyze-performance-traces into .github/skills/analyze-performance-traces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-performance-traces", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tutti-os/tutti --skill analyze-performance-traces -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tutti-os/tutti analyze-performance-traces --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tutti-os/tutti.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/analyze-performance-traces .opencode/skills/analyze-performance-traces && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "analyze-performance-traces" agent skill from https://github.com/tutti-os/tutti/tree/main/.codex/skills/analyze-performance-traces into .opencode/skills/analyze-performance-traces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-performance-traces", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
analyze-performance-tracesAnalyze Chrome, Chromium, Electron, React DevTools, or Perfetto-compatible JSON traces and audit user-reported profiling findings without loading large artifacts into context; prove…
Analyze Performance Traces is an agent skill from tutti-os/tutti. Analyze Chrome, Chromium, Electron, React DevTools, or Perfetto-compatible JSON traces and audit user-reported profiling findings without loading large artifacts into context; prove trigger-to-render/layout chains, separate measured facts from source inference, find exact code choke points, classify forced layout and render fanout, implement semantically safe fixes, and verify behavior plus repository budgets. Use for trace files, reported profiling durations or call chains, dropped frames, long tasks, resize or…
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `agents/openai.yaml`).
It sits in Mobile, covering Mobile performance. It works with React. The repository describes itself as: Where people and agents build in tune. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 207beee. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
pnpmnodemakeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Analyze Performance Traces loads about 3.3k tokens when it runs. Until then it costs about 171 tokens; SKILL.md has 1,501 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from tutti-os/tutti at commit 207beee, republished under its Apache-2.0 licence (© tutti-os). 1,501 words, ~3,326 tokens.
.claude/skills/analyze-performance-traces/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.End with an evidence chain from trigger to exact source. Fix the earliest proven cause. Never turn an API name or an inclusive duration into a causal claim without checking execution context.
State which mode applies before making findings:
Do not block a reported-finding audit merely because the original trace file is absent. If the user asks for safe implementation after the source chain is proven, proceed within authorization; require a comparable post-change trace before claiming millisecond or frame-rate improvement.
If neither a trace nor a concrete lead exists, ask for the smallest reproducible capture unless the user explicitly wants source-only analysis.
Read repository instructions, nearest area instructions, relevant architecture docs, current diff, and validation policy. Record Git baseline before editing.
Discover trace artifacts without printing them wholesale. For each candidate:
ls -lh TRACE.json
head -c 512 TRACE.json
tail -c 512 TRACE.jsonRun the bundled bounded-memory summarizer:
node <skill-dir>/scripts/summarize-trace TRACE.json --top 40 --min-ms 16Record trace revision/build, production versus development mode, profiling hooks, source maps, screenshots, React tracks, renderer count, and capture window. Separate profiler startup and instrumentation overhead from product work.
Prefer a repository-owned performance runner when it reproduces the same interaction. List scenarios first; a convenient but different scenario is not proof. In this repository, inspect docs/conventions/testing.md and use pnpm perf:agent-gui -- --list-scenarios when relevant.
When a new Desktop trace is required:
TUTTI_ELECTRON_REMOTE_DEBUGGING_PORT=9223 \
TUTTI_ELECTRON_JS_FLAGS=--max-old-space-size=8192 \
VITE_TUTTI_WHY_DID_YOU_RENDER=0 \
make dev-guiThen capture from another terminal:
pnpm trace:desktop -- --duration 15Work in this order:
Select process/thread: identify browser main, renderer main, compositor, workers, and GPU threads. Never sum unrelated threads.
Select the window: locate the interaction or burst containing the symptom. Quantify long tasks, layout/style, scripting, paint, frame signals, and repeated events only inside that window.
Correlate timestamps: connect input, timer, stream, resize, or observer delivery to state updates, React commits, DOM mutation, style/layout, paint, and missed frames.
Measure fanout: count repeated components, selectors, entities, DOM nodes, or geometry reads. Express multiplicative patterns such as 34 sections × 67 updates = 2,278 renders.
Map to source: use stack URLs, source maps, named React tracks, event handlers, class names, and unique strings. Follow symbols with rg. Verify current source still matches the traced revision.
Inspect cardinality: use read-only DB/query inspection when scale explains the cost. Remove local paths, secrets, and personal data from durable output.
State the chain:
trigger → state/DOM write → churn or invalidation → render/layout fanout → paint/frame impactKeep measured facts, source-confirmed facts, and inference visibly separate. Do not rank nested events only by inclusive time; use self time when available or label duration inclusive.
For every suspected geometry hotspot, record:
| Field | Question |
|---|---|
| Trigger | What invokes it, and how often? |
| Invalidation | Which DOM/style write may have dirtied layout first? |
| Read/operation | scrollHeight, client*, offset*, rect/style read, scrollIntoView, virtualizer measurement? |
| Phase | render, ref commit, layout effect, effect, observer, event, or animation frame? |
| Scope | Which scroll/layout subtree must become current? |
| Semantics | Why is the read needed: selection, bottom lock, prepend anchor, tooltip, placement? |
| Evidence | Trace-backed, source-confirmed path, or inference? |
Apply these rules:
ResizeObserver runs after layout calculation; a read-first callback usually consumes current geometry. Writes earlier in the same observer delivery can dirty layout again, so keep observer callbacks read-first, then write.requestAnimationFrame, scroll events, and ordinary effects are not automatically layout-clean.scrollIntoView performs synchronous visibility/scroll calculation. An explicit low-frequency reveal may still be correct and cheaper than changing interaction timing.scrollIntoView with offsetTop, rect reads, or computed style does not inherently remove forced layout.O(S × (T + I)) work.ResizeObserver and a global resize listener.Fix the earliest owner. Do not hide producer churn with broad leaf memoization or replace a proven geometry problem with timing heuristics.
content-visibility, or size containment around virtualized/dynamic-height content unless measurement, sticky, focus, overlay, and clipping behavior are proven equivalent.Treat a change as strictly behavior-preserving only when rendered values, ordering, scroll/focus timing, lock ownership, mounted state, and side effects remain equivalent.
Usually safe after exact tests:
Potentially user-observable; exclude or request direction unless explicitly authorized:
ResizeObserver, deliver it explicitly, and verify bottom lock plus user scroll-away;Validate at three levels:
Report:
Never claim millisecond, frame-rate, or layout-scope improvement without a comparable post-change capture. It is valid to claim a proven reduction such as “ordinary streaming rerender performs zero synchronous scrollHeight reads.”
scripts/summarize-trace streams traceEvents, keeps bounded top-event state, and outputs JSON with thread metadata, event totals, long tasks, frame signals, and source hints. Use it first for large traces; write narrow follow-up scripts only after a specific hypothesis exists.
© tutti-os, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in .codex/skills/analyze-performance-traces of tutti-os/tutti.
Open the folder on GitHubat commit 207beee
Analyze Performance Traces next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Analyze Performance Traces this skilltutti-os/tutti | 3.8k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| PerformanceSidiora-Labs/centra-llm-agents | 116 | — | ~778 | Automated safety check: Pass | Custom licence | |
| Argent React Native Optimizationbbplayer-app/BBPlayer | 1.2k | — | ~1.3k | Automated safety check: Pass | MIT | |
| React Native Experttech-leads-club/agent-skills | 7k | — | ~3.2k | Automated safety check: Pass | CC-BY-4.0 | |
| React Devtoolssanity-io/sanity | 6.4k | 3 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Community Migrationjingjing2222/react-native-nitro-geolocation | 115 | — | ~3.5k | Automated safety check: Pass | MIT |
Sidiora-Labs/centra-llm-agents
Performance optimization guidelines for React/React Native applications.
bbplayer-app/BBPlayer
Optimizes a React Native app by profiling first to find real bottlenecks, then sweeping for mechanical issues.
tech-leads-club/agent-skills
Guides React Native and Expo work for cross-platform apps: Expo Router navigation, fast lists, Reanimated animation, platform-specific code and project structure.
sanity-io/sanity
React DevTools CLI for AI agents. An agent skill from sanity-io/sanity.
jingjing2222/react-native-nitro-geolocation
Migrate React Native apps from @react-native-community/geolocation to react-native-nitro-geolocation.
fluid-design-io/payload-better-auth-starter
React and React Native file-system architecture patterns that scale.
tutti-os/tutti
A skill your agent uses when working with @tutti-os/ui-system components, replacing local UI with shared components, querying component ids or metadata, promoting UI into shared base or business…
tutti-os/tutti
From a Tutti checkout, run, audit, freshly replay, publish, or diagnose Session Replay cassettes that are driven by case-repository scenario scripts (CDP), not by interactive UI recording.
tutti-os/tutti
Create, convert, or repair one Tutti workspace app as either a self-contained publishable package under package/ or a Chrome-style local debug app under .tutti/dev-app/.
tutti-os/tutti
Build or evolve a complex agent-enabled Tutti workspace app repository.
tutti-os/tutti
Review tutti git diffs for project structure, layering, module ownership, and duplicate event-center infrastructure by planning focused architecture review tasks, then having the main agent…
tutti-os/tutti
Set up, review, run, or debug external repositories that publish a Tutti workspace app through the reusable Tutti App Release GitHub Actions workflow.
Works with
Categories
Analyze Chrome, Chromium, Electron, React DevTools, or Perfetto-compatible JSON traces and audit user-reported profiling findings without loading large artifacts into context; prove…. Analyze Performance Traces is an agent skill from tutti-os/tutti. Analyze Chrome, Chromium, Electron, React DevTools, or Perfetto-compatible JSON traces and audit user-reported profiling findings without loading large artifacts into context; prove trigger-to-render/layout chains, separate measured facts from source inference, find exact code choke points, classify forced layout and render fanout, implement semantically safe fixes, and verify behavior plus repository budgets.
Analyze Performance Traces fits situations like: reported profiling durations; layout thrashing; selector hot paths; interaction latency.
Run `npx skills add tutti-os/tutti --skill analyze-performance-traces -a claude-code`. Or copy the skill folder (.codex/skills/analyze-performance-traces in tutti-os/tutti) into .claude/skills/analyze-performance-traces in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tutti-os/tutti --skill analyze-performance-traces -a codex`. Or copy the skill folder (.codex/skills/analyze-performance-traces in tutti-os/tutti) into .agents/skills/analyze-performance-traces in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tutti-os/tutti --skill analyze-performance-traces -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/analyze-performance-traces, .gemini/skills/analyze-performance-traces, .github/skills/analyze-performance-traces and .opencode/skills/analyze-performance-traces in your project.
Going by SKILL.md and its folder, Analyze Performance Traces needs the command-line tools its instructions call (pnpm, node and make).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Analyze Performance Traces is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Analyze Performance Traces: Performance (Sidiora-Labs/centra-llm-agents, 116 stars), Argent React Native Optimization (bbplayer-app/BBPlayer, 1.2k stars), React Native Expert (tech-leads-club/agent-skills, 7k stars) and React Devtools (sanity-io/sanity, 6.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tutti-os (a GitHub organization) maintains it in tutti-os/tutti, which has 3,805 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 8, 2026.
Source: tutti-os/tutti on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.