K6 Perf Test Website
grafana/skills
A skill your agent uses when the user wants to performance-test, load-test, or stress-test a public website end-to-end with k6.
Profile a large ADE feature end-to-end, add temporary or permanent telemetry, run the Electron app, find real CPU/memory/IPC/render hot paths, fix them, and verify with stress tests.
$ npx skills add arul28/ADE --skill optimize -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install arul28/ADE optimize --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/arul28/ADE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/optimize .claude/skills/optimize && 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 "optimize" agent skill from https://github.com/arul28/ADE/tree/main/.agents/skills/optimize into .claude/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", 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/arul28/ADE/tree/main/.agents/skills/optimizeType 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 arul28/ADE --skill optimize -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install arul28/ADE optimize --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/arul28/ADE.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/optimize .agents/skills/optimize && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "optimize" agent skill from https://github.com/arul28/ADE/tree/main/.agents/skills/optimize into .agents/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", 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 arul28/ADE --skill optimize -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install arul28/ADE optimize --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/arul28/ADE.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/optimize .cursor/skills/optimize && 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 "optimize" agent skill from https://github.com/arul28/ADE/tree/main/.agents/skills/optimize into .cursor/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", 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/arul28/ADE.git --path .agents/skills/optimize--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 arul28/ADE --skill optimize -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install arul28/ADE optimize --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/arul28/ADE.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/optimize .gemini/skills/optimize && 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 "optimize" agent skill from https://github.com/arul28/ADE/tree/main/.agents/skills/optimize into .gemini/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", 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 arul28/ADE optimizeInstalls 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 arul28/ADE --skill optimize -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/arul28/ADE.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/optimize .github/skills/optimize && 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 "optimize" agent skill from https://github.com/arul28/ADE/tree/main/.agents/skills/optimize into .github/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", 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 arul28/ADE --skill optimize -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install arul28/ADE optimize --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/arul28/ADE.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/optimize .opencode/skills/optimize && 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 "optimize" agent skill from https://github.com/arul28/ADE/tree/main/.agents/skills/optimize into .opencode/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", 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.
optimizeProfile a large ADE feature end-to-end, add temporary or permanent telemetry, run the Electron app, find real CPU/memory/IPC/render hot paths, fix them, and verify with stress tests.
Optimize is an agent skill from arul28/ADE. Profile a large ADE feature end-to-end, add temporary or permanent telemetry, run the Electron app, find real CPU/memory/IPC/render hot paths, fix them, and verify with stress tests.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Load testing. It works with Electron. The licence is AGPL-3.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7390d95. 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.
Shell commands in SKILL.md call:
npmgitnodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm and git, 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.
Optimize loads about 3.3k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 1,578 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); files beside SKILL.md are not scanned.
The full file from arul28/ADE at commit 7390d95, republished under its AGPL-3.0 licence (© arul28). 1,578 words, ~3,275 tokens.
.claude/skills/optimize/SKILL.md (or your agent's skills folder).You are the performance steward for ADE. Use this after a large feature lands, when the app works but might be too heavy for normal laptops.
Argument: $ARGUMENTS — optional feature or surface hint, for example /optimize Work and Lanes, /optimize iOS simulator drawer, or /optimize graph route.
Your job is not to make the app feel stripped down. Preserve the product's intent and interaction quality while removing waste, polling, avoidable rendering, memory spikes, runaway logs, redundant IPC, and expensive cold-start behavior.
Run autonomously. Do not stop at a plan. Read, instrument, run, measure, fix, and verify. Ask the user only if a required action would spend money, use an expensive model, destroy data, or cannot be inferred from repo context.
Be concrete. Every optimization should be backed by at least one of:
Do not make speculative cleanup the main result. If you cannot reproduce a suspected issue, leave a short note and move to the next measurable surface.
Every optimization must hold on Windows too. Parity is a default requirement for all new code, and perf work is where it quietly breaks: caching a path as a raw string then comparing it with ===, replacing a process-tree kill with a cheaper child.kill(), dropping a windowsHide: true spawn option, removing a file-lock retry loop as "dead code", or reusing a PID as identity. Check any such change against ../quality/references/windows-quirks.md first. A measurement taken only on macOS does not establish that the Windows path is unaffected — say which host produced each number. If a win is achievable on one platform only, keep the other platform's correct path rather than regressing it, and say so in the final report.
Read the relevant docs before editing:
AGENTS.md or the prompt-provided project instructions.docs/ARCHITECTURE.md if the change crosses app/service boundaries.docs/features/** that match $ARGUMENTS.Inspect the changed surface:
git status --shortgit diff --statgit diff -- <relevant files>rg for the feature's IPC channels, services, hooks, intervals, observers, animations, and route components.Identify the likely hot paths:
Keep a working list of surfaces to test. Prefer a small number of realistic flows over broad shallow poking.
Before making performance edits, make sure the app can tell you what is happening.
Look for existing instrumentation:
If logs are missing, add narrow instrumentation first:
Instrumentation rules:
Use the local desktop app as the source of truth.
apps/desktop:npm run devKeep the dev terminal visible. Watch for:
dev launcher using http://localhost:5173DevTools listening on ws://127.0.0.1:9222window.loading_urlrenderer.route_changeipc.invoke.summaryAttach to Electron, not Safari:
Electron app entry when using computer-use.localhost:5173.If using CDP/agent-browser, target the ADE tab:
agent-browser --cdp 9222 tab
agent-browser --cdp 9222 tab <ADE-tab-index>pgrep -fl "Electron . --remote-debugging-port=9222|Electron Helper|vite --port 5173|tsup --watch|esbuild --service"
ps -axo pid,ppid,%cpu,%mem,rss,comm,argsUse process names carefully:
Close extra DevTools targets before trusting memory numbers. DevTools can inflate RSS and CPU.
Run realistic flows with logs open.
If $ARGUMENTS names a surface, spend most time there but still check adjacent routes that stay mounted or subscribe to the same data.
document.getAnimations({ subtree: true }).Useful renderer probes:
JSON.stringify({
href: location.href,
hidden: document.hidden,
visibility: document.visibilityState,
animations: document.getAnimations({ subtree: true }).map((a) => ({
state: a.playState,
tag: a.effect?.target?.tagName,
cls: String(a.effect?.target?.className).slice(0, 160),
text: a.effect?.target?.textContent?.slice(0, 80),
})),
xterms: document.querySelectorAll(".xterm").length,
xtermCanvases: document.querySelectorAll(".xterm canvas").length,
canvases: document.querySelectorAll("canvas").length,
})For ADE, always stress Work and Lanes unless the feature is completely unrelated. Most users live there.
Example shell stress:
node -e 'let i=0; const t=setInterval(()=>{process.stdout.write("ade-stress "+(++i)+" abcdefghijklmnopqrstuvwxyz0123456789\n"); if(i>=3000){clearInterval(t); process.exit(0)}},2)'Lanes tab stress:
Chat stress:
Computer-use/iOS/simulator stress:
Memory checks:
ps/Activity Monitor-style process sampling repeatedly.vmmap <pid> -summary can help explain big RSS spikes.Cleanup after stress:
Prefer fixes in this order:
Remove runaway work:
Reduce IPC and main-process load:
Reduce renderer and GPU load:
Reduce memory pressure:
Preserve UX:
Run the smallest meaningful checks first, then broaden.
Desktop checks to choose from:
npm --prefix apps/desktop run typecheck
npm --prefix apps/desktop run test -- <targeted test files>
npm --prefix apps/desktop run test
npm --prefix apps/desktop run build
npm --prefix apps/desktop run lintFor IPC/preload/type changes, verify all synced surfaces:
For renderer performance changes:
document.getAnimations() does not show persistent unnecessary animations.For terminal changes:
For cache changes:
End with a concise report:
If you found a suspected issue but did not fix it, say exactly why: not reproducible, too risky, needs product decision, or requires credentials/model spend.
© arul28, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/optimize of arul28/ADE.
Open the folder on GitHubat commit 7390d95
Optimize 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 |
|---|---|---|---|---|---|---|
| Optimize this skillarul28/ADE | 113 | — | ~3.3k | Automated safety check: Pass | AGPL-3.0 | |
| K6 Perf Test Websitegrafana/skills | 278 | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Otel Telemetrygenollygarden/opentelemetry-agent-skills | 106 | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Supercheck Execution Enginesupercheck-io/supercheck | 215 | — | ~1.2k | Automated safety check: Pass | AGPL-3.0 | |
| K6 Cloud Investigate Testgrafana/skills | 278 | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| K6 Test Maintenancegrafana/skills | 278 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 |
grafana/skills
A skill your agent uses when the user wants to performance-test, load-test, or stress-test a public website end-to-end with k6.
ollygarden/opentelemetry-agent-skills
Build safe, version-pinned telemetrygen commands for synthetic OTLP traces, metrics, and logs.
supercheck-io/supercheck
Work on Supercheck BullMQ queues, schedulers, capacity management, Playwright or k6 execution, monitors, dynamic locations, cancellation, Redis, Kubernetes Jobs, gVisor, or app-worker execution…
grafana/skills
Investigate a Grafana Cloud k6 test — describe the script, list run history, identify pass/fail status, pull raw metric time-series and log lines for one or more runs, and (if asked) safely edit the…
grafana/skills
Maintain and improve existing k6 test scripts. An agent skill from grafana/skills.
grafana/skills
Generate, validate, and review k6 test scripts — load, stress, spike, soak, smoke, breakpoint, functional, and protocol.
arul28/ADE
A skill your agent uses when you need to run or drive a local Electron/desktop app and capture what it does — launch it or attach to a running renderer, read its logs or answer its terminal prompts…
arul28/ADE
Iteratively optimize an ADE tab's CPU/memory/IPC/render performance.
arul28/ADE
A skill your agent uses for any browser behavior at all — opening a URL, checking a localhost page, clicking or filling a form, logging in, screenshotting, inspecting the DOM, or verifying a page…
arul28/ADE
A skill your agent uses when an agent needs to mint, share, or open ADE deeplinks (lane, work session, file, commit, artifact, branch, PR, Linear issue) so users — or the agent itself — can jump…
arul28/ADE
A skill your agent uses when you need to run a chat, a CLI session, or a subagent on a specific setup — any model you pay for inside any harness (e.g.
arul28/ADE
A skill your agent uses when creating, inspecting, syncing, committing, pushing, archiving, or rebasing ADE lanes and lane worktrees through ade lanes and ade git.
Works with
Categories
Profile a large ADE feature end-to-end, add temporary or permanent telemetry, run the Electron app, find real CPU/memory/IPC/render hot paths, fix them, and verify with stress tests. Optimize is an agent skill from arul28/ADE. Profile a large ADE feature end-to-end, add temporary or permanent telemetry, run the Electron app, find real CPU/memory/IPC/render hot paths, fix them, and verify with stress tests.
Optimize fits situations like: tasks that involve Load testing.
Run `npx skills add arul28/ADE --skill optimize -a claude-code`. Or copy the skill folder (.agents/skills/optimize in arul28/ADE) into .claude/skills/optimize in your project. Claude Code loads it when a task matches its description.
Run `npx skills add arul28/ADE --skill optimize -a codex`. Or copy the skill folder (.agents/skills/optimize in arul28/ADE) into .agents/skills/optimize 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 arul28/ADE --skill optimize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/optimize, .gemini/skills/optimize, .github/skills/optimize and .opencode/skills/optimize in your project.
Going by SKILL.md and its folder, Optimize needs the command-line tools its instructions call (npm, git and node).
SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. 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. Review the folder before installing.
Optimize is published under the AGPL-3.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 Optimize: K6 Perf Test Website (grafana/skills, 278 stars), Otel Telemetrygen (ollygarden/opentelemetry-agent-skills, 106 stars), Supercheck Execution Engine (supercheck-io/supercheck, 215 stars) and K6 Cloud Investigate Test (grafana/skills, 278 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
arul28 (a GitHub user) maintains it in arul28/ADE, which has 113 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 7, 2026.
Source: arul28/ADE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.