performance-investigation
Diagnose unexpected execution delay, hangs, observed contention, and quota-constrained operations, or perform explicitly requested profiling and benchmarking.
Skill by jyn514
Chalk Labs
Need help deploying performance-investigation?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jyn514-performance-investigation
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/performance-investigation
What's inside
- Skill name
performance-investigation- Description
- Diagnose unexpected execution delay, hangs, observed contention, and quota-constrained operations, or perform explicitly requested profiling and benchmarking. Use for commands, tests, builds, CI, startup, configuration reload, APIs, cloud queries, or remote acquisition when one of those conditions requires investigation. Do not load for missing, late, or out-of-order UI updates alone; first use ordinary correctness debugging to check event delivery, parsing, and rendering. Slow execution or blocked rendering on that path does trigger it. Expected execution, silence alone, concurrent execution, and performance-sensitive code do not trigger it.
- License
- Unlicense
- Instructions
- 92 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# Performance Investigation First establish the unexpected delay, observed contention, quota constraint, or requested measurement. Missing, late, or out-of-order UI updates alone call for ordinary correctness debugging: check event delivery, parsing, and rendering first. Use this workflow if those checks reveal slow execution or blocked rendering, or if profiling or benchmarking is explicitly requested. An unexpectedly stalled build triggers this skill. A quiet build that is progressing within its expected duration does not. Before editing, record the baseline command, environment, metric, narrowest representative workload, elapsed time, and whether the run is cold or warm. Reproduce the user's actual command resolution; the agent's inherited shell may differ. Prior baselines are useful when environment differences are named, but precise comparisons require same-machine before/after measurements. ## Preserve evidence Before measuring, choose an evidence directory that survives session or environment resets and benchmark cleanup. Save the exact runner, query, and analysis sources there with the raw results for each run. Preserve the source version used for every run. Temporary copies, terminal output, or hashes alone cannot recover lost evidence. Prefer the runner's discovery roots or exclusions to keep captured test sources outside the measured workload. Do not assume Git-ignored directories are excluded; check the runner's discovery behavior. Use archives or non-test suffixes only as a fallback, preserving original paths and file bytes for reconstruction. Keep disposable build outputs separate from evidence. Before cleanup, verify that retained sources and raw results suffice to recompute reported measurements. ## Choose the simplest measurement Before choosing tools, name the question, the decision it informs, and the least attribution detail sufficient to decide. Separate user limits and preservation requirements from diagnostic choices, such as sampling windows and observation points. Do not reject an alternative because it cannot satisfy conditions needed only by the current diagnostic. ### Whole-command costs For whole-command latency, begin with a phase-time budget. Account for overlap; do not add concurrent phases as if they ran sequentially. Estimate the maximum end-to-end benefit before pursuing a local optimization. After a meaningful improvement, refresh the budget and rank the remaining avoidable costs. Do not keep following the previous bottleneck without rechecking. ### Profiler selection Distinguish a progressing, CPU-heavy computation from a hang. For a progressing computation, prefer an existing profiler that can answer the question over sampling hooks or custom telemetry. Use existing evidence or the cheapest viability check; do not require an expensive profiling run just to rule out a tool. Completion-only profiling cannot diagnose a hang, but may capture a computation that completes or safely unwinds on timeout. Check the output path under relevant stop conditions and user limits; name conditions that can lose results. ### Timing and attribution scope Use [measurement scope and isolation](references/measurement-scope.md) to choose call-site, counting, timing, and attribution boundaries and decide which measurements need isolation. ### Custom instrumentation Before adding custom instrumentation, identify the required answer an existing tool cannot provide and the evidence of that limitation. ## Diagnose boundedly When a command exceeds its expected duration or stays unexpectedly silent for 30 seconds, work through these steps: 1. Record elapsed time, output so far, and the process tree. Use shell timestamps if no portable timing tool exists. Save diagnostic logs and stack samples in the evidence directory. 2. Capture descendants recursively. Repeat the capture if children are short-lived. Identify the active child operation instead of attributing its time to the outer command. 3. Classify the active phase: CPU-bound, I/O-bound, blocked, sleeping, or waiting on a child. 4. For a hang, take a JVM thread dump or a bounded stack or syscall sample for other runtimes. 5. Separate launcher setup, dependency resolution, discovery/loading, execution, reporting, and shutdown. 6. Stop when the sample answers the current question. If you terminate a wrapper, clean up only descendants created by that invocation; preserve shared daemons and pre-existing workers. For a hang, use bounded samples to locate the active phase before attempting a representative completion run. ## Improve the measured boundary Look first for repeated process startup, duplicate runtime loading, overly broad dependency or source scope, unnecessary freshness checks, uncached generated work, and metadata-heavy filesystem traffic. Use temporary local storage for disposable intermediates only when measurement shows significant filesystem overhead. Before optimizing subprocess calls or adding a daemon, check whether an existing runtime and supported API can remove the boundary. If consolidation needs new quoting, framing, or parsing, compare moving the work into that runtime before adding another representation. For runtime-configuration regressions, inspect effective state, reload idempotence, hidden callbacks, and subprocesses. ## External and quota-bound benchmarks Use this procedure when the measured system is an API, cloud query, remote archive, registry, or other service where points, requests, bytes, reset windows, throttling, or server-side execution constrain throughput. 1. Define the measured contract before running: exact query or request shape, production fields and pagination paths included, sample authority, cold/warm state, credential class, quota window, concurrency, retries, and required finalization. 2. Make the runner write the final evidence artifact directly. Record the script or query hash, configuration hash, sample identifiers, start/end timestamps, provider request IDs when available, environment, raw per-request measurements, incomplete work, and projection formula. Do not manually transcribe totals into a second report. 3. Keep provider limits separate: primary quota consumed, reset waits, secondary throttles, concurrency caps, server CPU/time, response bytes, retries, and wall time. Concurrency may reduce latency without reducing quota cost. 4. Compare batch sizes or concurrency sequentially against the same workload. Randomize or alternate order when provider load or cache state could bias later runs. Stop increasing concurrency after throttling, timeout growth, or a worse completed-throughput result. 5. Exercise every overflow or continuation path required by the claimed contract. A first-page or query-shape probe cannot establish end-to-end cost when production requires additional fields, pagination, storage writes, normalization, or artifact finalization. 6. Classify the output precisely: - *Query-shape probe:* one request design's fields, cost, size, and failure behavior. - *Batching probe:* batch/concurrency behavior for the declared sample. - *Cold end-to-end benchmark:* all required phases from named empty caches through finalization. - *Population projection:* an explicit extrapolation from measurements to a larger workload. 7. Label projections as a *representative estimate*, *conservative bound*, *lower bound*, *upper bound*, or *planning datum only*. Bounds require a sampling model and calculation proving their direction. Convenience, adversarial, or deliberately skewed samples are planning data unless weighted against the population. 8. Treat quota resets and provider variability as part of literal elapsed time. A quota-capacity calculation is not an elapsed-time minimum unless starting balance, reset boundaries, retry behavior, and secondary limits support that claim. Stop when the cheapest measurement settles the decision. Do not spend quota to improve precision that cannot change the selected design. ## Verify Before comparing timings, verify that the optimization is active using runtime evidence and a negative control. Do not infer activation from configuration alone: in Node, even `NODE_DISABLE_COMPILE_CACHE=0` disables the compile cache. When comparing toolchains, alternate sequential trials on the real workload, include artifact finalization, and exclude setup runs with unequal cache state. Measure the changed phase and the full user command. Preserve correctness checks, compare cold and warm results on the same machine, and repeat runs when variance could change the conclusion. Report missing tools and other environmental failures separately from performance results. Confirm the optimization did not merely move work into an unmeasured phase. When controllable, instrument opaque subprocesses with phase timing; an enclosing test or CI-job duration is insufficient attribution. Completion requires the consumer-visible evidence artifact, not terminal output or a handwritten summary.
From jyn514/dotfiles, Unlicense.
More from jyn514/dotfiles
- 0.570score
mutation-testing
jyn514
Set up, scope, run, and analyze mutation-testing campaigns using project-compatible tools or bounded hand-selected mutations.
SkillAFreshness: AClaude Code +9 - 0.570score
architecture-design
jyn514
Design, assess, or choose a bounded software architecture: subsystem ownership, dependency direction, data/effect and lifecycle contracts, API shape…
SkillAFreshness: AClaude Code +9 - 0.570score
creative-inquiry
jyn514
Explore a task's purpose, assumptions, and unexpected connections to discover possible approaches.
SkillAFreshness: AClaude Code +9 - 0.570score
delegation
jyn514
Divide and coordinate work among agents.
SkillAFreshness: AClaude Code +9 - 0.570score
holistic-writing
jyn514
Author, substantially revise, or editorially review whole prose artifacts, including reports, essays, prompts, instructions, skills, and documentation.
SkillAFreshness: AClaude Code +9 - 0.565score
autonomous-work
jyn514
Pursue an explicitly requested autonomous or unattended task, or an active user-authorized tracked goal, through verified completion.
SkillAFreshness: AClaude Code +9 - 0.565score
implementation-plan
jyn514
Create or review a concrete, repository-specific implementation plan for a selected change.
SkillAFreshness: AClaude Code +9 - 0.565score
issue-reporting
jyn514
Draft or revise upstream bug reports, support questions, and design discussions for maintainers.
SkillAFreshness: AClaude Code +9 - 0.565score
jj-workflow
jyn514
Use when a task involves inspecting file or revision history, establishing change provenance or ownership, comparing revisions, or shaping history through…
SkillAFreshness: AClaude Code +9 - 0.565score
opportunity-scan
jyn514
Find the highest-leverage project improvement without anchoring on recent changes, current work, churn, or already-completed corrective campaigns.
SkillAFreshness: AClaude Code +9 - 0.565score
new-tool-development
jyn514
Orchestrate lifecycle and stage gates for a newly introduced independently invoked tool, CLI, service, or reusable executable subsystem.
SkillAFreshness: AClaude Code +9 - 0.565score
human-review-packets
jyn514
Frame decisions and explain concrete consequences for a human reviewer.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 4
- Last commit (this folder)
- Oct 23, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Unlicense
- Repository
- github.com/jyn514/dotfiles
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jyn514
- 0.570score
holistic-writing
jyn514
Author, substantially revise, or editorially review whole prose artifacts, including reports, essays, prompts, instructions, skills, and documentation.
SkillAFreshness: AClaude Code +9 - 0.570score
architecture-design
jyn514
Design, assess, or choose a bounded software architecture: subsystem ownership, dependency direction, data/effect and lifecycle contracts, API shape…
SkillAFreshness: AClaude Code +9 - 0.570score
mutation-testing
jyn514
Set up, scope, run, and analyze mutation-testing campaigns using project-compatible tools or bounded hand-selected mutations.
SkillAFreshness: AClaude Code +9 - 0.570score
delegation
jyn514
Divide and coordinate work among agents.
SkillAFreshness: AClaude Code +9 - 0.570score
creative-inquiry
jyn514
Explore a task's purpose, assumptions, and unexpected connections to discover possible approaches.
SkillAFreshness: AClaude Code +9 - 0.565score
autonomous-work
jyn514
Pursue an explicitly requested autonomous or unattended task, or an active user-authorized tracked goal, through verified completion.
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get performance-investigation running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
performance-investigation skill. Agent Mart. https://agentmart.dev/skills/jyn514-performance-investigation (last updated 2026-10-24)