CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

investigate-puffin

Investigate Puffin profiler recordings (.puffin files), find slow scopes, and compare before/after traces using the `rerun dump-puffin` command and bundled analysis helpers.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

92%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exceptionally dense, executable, and well-sequenced operational skill: the jq recipes are guarded against real footguns, the workflow has explicit validation and recovery paths, and nothing is padded. The sole structural weakness is progressive disclosure — everything lives in one long SKILL.md and the two helper scripts it leans on are absent from the bundle.

Suggestions

Ship the referenced helper scripts (find_scopes.py, compare_traces.py) in a scripts/ directory next to SKILL.md, or remove the references and the "Prefer find_scopes.py" guidance — as delivered, those commands will fail.

Move the jq recipe catalog (~90 lines) into a references/jq-recipes.md and keep SKILL.md as an overview with clearly signaled one-level-deep pointers, reducing the inline token load.

Consider splitting the capture-methods section ("How traces are captured") into a short reference note since it is only needed when no recording exists yet.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence throughout: no space is spent explaining what a profiler or JSON is, and every section carries non-obvious, operational knowledge (the jq `duration_ns` guard footgun, rayon parallel-gap behavior, absolute `start_ns` semantics). The compact JSON layout block and terse Recipes section earn their tokens; not anchor 4 because there is no padding to trim.

5 / 5

Actionability

Every recipe is copy-paste-ready executable jq/bash/Python with concrete arguments, flags, and file paths — e.g. `rerun dump-puffin <path> > /tmp/puffin.json`, the guarded `select(has("duration_ns") and has("name"))` patterns, `compare_traces.py ... --top 50 --filter system_execution --hide-below 0.5`, and `find_scopes.py ... --aggregate --thread main --frame 2578`. The examples cover the common cases (top scopes, per-name totals, children, cross-thread windows, before/after comparison).

5 / 5

Workflow Clarity

The sequence is explicit and well-ordered (Setup: dump + verify scope registration → Investigate with jq → Compare traces → Analyze data → Cross-check with source code) and embeds validation checkpoints with feedback loops: check `.scopes | length` with recovery paths ("Ask for a new capture that includes scope registration" or "proceed with dynamic `data` labels and explain the limits"), a fallback `cargo run` path when the rerun binary is missing, "Before reporting any per-call delta as a real change, dump the per-call durations of that scope in both traces", and "Check `.scopes | length` on both before comparing".

5 / 5

Progressive Disclosure

The skill is a single 237-line file with good section headers but no reference files at all, and the ~90-line jq recipe catalog is inlined where the rubric wants an overview pointing to detailed materials. More importantly, the body repeatedly points to helper scripts (`${PUFFIN_SKILL_DIR}/find_scopes.py`, `compare_traces.py`) and even instructs "Prefer `find_scopes.py` for name/data lookups", yet no such files exist in the bundle (no scripts/, references/, or assets/ directories) — the references are clearly signaled but dangling. This sits between anchor 2 (content that belongs in separate files inlined) and anchor 4 (good structure, references mostly clear), with the missing bundle files preventing a higher score.

3 / 5

Total

18

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, well-targeted description with concrete actions and strong domain keywords, anchored by the distinctive `.puffin` format and `rerun dump-puffin` command. Its main weakness is the complete absence of a "Use when..." trigger clause, which caps completeness and slightly weakens its value for skill routing.

Suggestions

Append an explicit trigger clause, e.g. "Use when the user mentions Puffin, .puffin files, profiling traces, or slow scopes in a Rerun application, or asks to compare before/after performance captures."

Replace the vague "bundled analysis helpers" with a concrete mention of what the helpers do (e.g., "and bundled jq/Python analysis helpers for aggregation and trace comparison").

Add natural synonyms users might say, such as "profiling", "performance", or "bottleneck", to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description lists several concrete actions — "find slow scopes", "compare before/after traces" — and names the exact tooling ("the `rerun dump-puffin` command and bundled analysis helpers"). It is not a 5 because "Investigate Puffin profiler recordings" is a generic framing verb and "bundled analysis helpers" is vague, leaving minor gaps in coverage (e.g., source cross-referencing is unmentioned).

4 / 5

Completeness

The "what" is clearly stated ("Investigate Puffin profiler recordings... find slow scopes, and compare before/after traces") but there is no "Use when..." clause or equivalent explicit trigger guidance; "using the `rerun dump-puffin` command" describes how, not when. Per the judging guidelines, a missing when-clause caps completeness at 3.

3 / 5

Trigger Term Quality

Good keyword coverage including the file extension ("(.puffin files)"), domain terms ("Puffin profiler recordings", "slow scopes", "before/after traces", "rerun"), and natural phrasing a user would say. It falls short of anchor 5 because common variations like "profiling", "performance", or "bottleneck" are absent.

4 / 5

Distinctiveness Conflict Risk

The niche is unambiguous — "Puffin profiler recordings (.puffin files)" and "`rerun dump-puffin`" are highly specific triggers that virtually no other skill would claim, so conflict risk is minimal.

5 / 5

Total

16

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

rerun-io/rerun

Path

skills/investigate-puffin/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.