DeepTutor CLI
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
Performance-overhead review of a code diff / branch / PR for the dd-trace-java tracer.
$ npx skills add DataDog/dd-trace-java --skill perf-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DataDog/dd-trace-java perf-review --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/DataDog/dd-trace-java.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/perf-review .claude/skills/perf-review && 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 "perf-review" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/perf-review into .claude/skills/perf-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perf-review", 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/DataDog/dd-trace-java/tree/master/.agents/skills/perf-reviewType 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 DataDog/dd-trace-java --skill perf-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DataDog/dd-trace-java perf-review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/perf-review .agents/skills/perf-review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "perf-review" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/perf-review into .agents/skills/perf-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perf-review", 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 DataDog/dd-trace-java --skill perf-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DataDog/dd-trace-java perf-review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/perf-review .cursor/skills/perf-review && 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 "perf-review" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/perf-review into .cursor/skills/perf-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perf-review", 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/DataDog/dd-trace-java.git --path .agents/skills/perf-review--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 DataDog/dd-trace-java --skill perf-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DataDog/dd-trace-java perf-review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/perf-review .gemini/skills/perf-review && 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 "perf-review" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/perf-review into .gemini/skills/perf-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perf-review", 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 DataDog/dd-trace-java perf-reviewInstalls 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 DataDog/dd-trace-java --skill perf-review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/perf-review .github/skills/perf-review && 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 "perf-review" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/perf-review into .github/skills/perf-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perf-review", 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 DataDog/dd-trace-java --skill perf-review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DataDog/dd-trace-java perf-review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/perf-review .opencode/skills/perf-review && 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 "perf-review" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/perf-review into .opencode/skills/perf-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perf-review", 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.
perf-reviewPerformance-overhead review of a code diff / branch / PR for the dd-trace-java tracer.
Perf Review is an agent skill from DataDog/dd-trace-java, published by the product's own GitHub organization. Performance-overhead review of a code diff / branch / PR for the dd-trace-java tracer. Flags hot-path allocation, unbounded memory, repeated work, escaping objects, native-boundary crossings, and JVM-specific pitfalls (escape analysis, JNI / virtual-thread pinning, backtracking-regex ReDoS, varargs/boxing hashing, String.format, ByteBuddy-Advice anti-patterns) using the tracer performance rubric. Use whenever the user wants a performance / overhead / hot-path review, asks to check a diff or PR for allocation / GC…
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/checks.md`, `references/example-review.md` and `references/guide.md`).
It sits in Education, covering Quizzes and assessments. It works with Java and Datadog. The repository describes itself as: Datadog APM client for Java. The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1c373d5. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use 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.
Perf Review loads about 3.6k tokens when it runs, and up to ~15k if it reads all its reference files. Until then it costs about 201 tokens; SKILL.md has 1,698 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Grep, GlobAutomated 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 DataDog/dd-trace-java at commit 1c373d5, republished under its Apache-2.0 licence (© DataDog). 1,698 words, ~3,624 tokens.
.claude/skills/perf-review/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Review the current branch's changes for performance overhead in the dd-trace-java
tracer, using the tracer performance rubric bundled in references/. This is a
low-friction advisory nudge, not a gate: it reports findings and stops. It
never edits code.
The tracer shares the customer's process, heap, and latency budget. Do no harm: overhead is a form of incorrect behavior that can escalate to real customer harm — missed SLAs, OOM kills, container restarts, cold-start churn. So the review's job is to catch overhead the customer would feel, and to do it without becoming noise.
Two forces are in tension, and the resolution defines everything below:
You reconcile them with the confidence axis and verify-don't-verdict (below): assume-hot makes you look everywhere; precision makes you speak only when the mechanism is certain or the severity is catastrophic.
-Pjmh.profilers=gc to confirm X is
scalar-replaced"), or evidence already recorded in the PR/commit history that the
same question was measured. If that evidence directly covers the mechanism, don't
re-flag it as open — move it to Correctly suppressed / Checked, no issue
and cite the benchmark/evidence by name. Only raise a finding over it if the
evidence doesn't actually cover the claimed mechanism (wrong JVM, wrong code path,
never actually run) or is stale relative to the current diff.String.format." Flag "an eager, unconditional expensive call on a hot,
instrumentation-reachable path." The same API is fine on a cold path. Two failure
shapes, different fixes: result usually discarded → gate/defer; result always
needed but costly → cheapen/cache.@Advice root / per-span
callback / request handler?) and down (follow callbacks, hooks, and listeners to
their sink before flagging). If a per-span hook's every reachable sink is an
atomic counter (LongAdder, AtomicLong) or a no-op-when-disabled, stay silent — a
"verify contention" nudge there is noise.Foo.onEnter via A→B→C, no guard on that path" so the reader can check the
shakiest link at a glance.checks.md — cite only what
exists; name "coming" primitives as coming). Don't flag a pattern whose only fix is
a mechanism that isn't built yet.<X for Y>; verify with a JMH benchmark / JFR."
Do not fire it otherwise — if nothing in the diff could plausibly regress, there is
nothing to measure, so stay silent. Specifically not for: a mechanically-obvious win
(hoisting an invariant out of a loop, a denser data structure, removing an allocation);
routine adoption of a known-better idiom (migrating to a lower-overhead builder / API /
toolkit primitive — no visible downside); or a change that ships a benchmark/JFR
(well-evidenced — recognize it). One line; a nudge, not a code-pattern finding.If the user points you at specific files or pasted code ("review this class / this method for perf"), review those directly — skip the diff and go to Step 2 with the same hot-path mapping and checks.
Otherwise, review the branch changes. Find the merge-base against the DataDog
upstream master and diff against it:
UPSTREAM=$(git remote -v | grep -E 'DataDog/[^/]+(\.git)?\s' | head -1 | awk '{print $1}')
[ -z "$UPSTREAM" ] && UPSTREAM="origin"
MERGE_BASE=$(git merge-base HEAD ${UPSTREAM}/master)
echo "Reviewing changes since $MERGE_BASE"
git diff $MERGE_BASE --stat
git diff $MERGE_BASE --name-statusIf there are no changes, say so and stop. Otherwise read the diff and the full content of the modified source files (not just the hunks) — the interprocedural condition (who calls this, what a helper does, where a hook's sink lands) lives outside the diff window. Ignore the PR description if the user asks for an independent review.
For each changed method, decide which multiplier applies before flagging anything.
Hot anchors (reachable ⇒ assume hot): @Advice.OnMethodEnter/OnMethodExit,
per-span / per-trace callbacks, request / message handlers, streaming chunk handlers.
Hot-path map (where cost is multiplied per-span × spans/request × requests/sec):
span lifecycle (create / setTag / finish), tag-map ops, serialization/encoding, the
metrics/stats path, decorators, propagation (header read/write).
Cold only with positive evidence: one-time init, startup-only path, a genuinely
rare error branch, or behind a guard that provably fires rarely. Watch the
interprocedural trap — a method three helpers deep from an @Advice entry is
still hot. And note domain adjustment: large-denominator domains (LLMObs, CI
Visibility, DSM) absorb per-call CPU/alloc cost, but the risk inverts to payload
memory (SEV-1); streaming handlers fire per-chunk, so the large-denominator relief
suspends inside them. See guide.md §6.
Run the changed hot-path code against the rubric. Keep the check index below in mind; open the references for the precise conditions, confidence, severity, and fix:
references/guide.md — the narrative "how": severity model, hotness rubric,
the 6 categories with worked examples, and the false-positive traps. Read this first
if you're calibrating judgment.references/checks.md — the precise cost-model: 7 universal checks + the Java
addendum (J1–J11) + the ByteBuddy-Advice fix idioms + the toolkit-availability note.
Read this for the exact confidence/severity/fix of a specific pattern.Before writing a finding: confirm the reachability path, confirm it's unconditional along that path (check for upstream guards), and follow any hook/callback to its sink. Drop anything that resolves to benign. Then report in the format below.
How many findings to report — scale with diff size:
Follow this structure (see references/example-review.md for a full worked instance —
). Showing your suppressed lookalikes and what you cleared is not
filler: it demonstrates the precision that makes the findings trustworthy.
When providing suggestions as code review comments, prefix the comments with "perf: "
# Perf Review — <branch / PR>
**Scope reviewed:** <the hot method(s) and why they're hot — the multiplier>
## Confirmed findings
### 1. <one-line title>
<the offending code, as a short fenced snippet>
- **Confidence:** flag-with-confidence | flag-as-measure
- **Reachability:** <hot from X via A→B→C, no guard on that path>
- **Rubric check:** <#N / JN>
- **Severity:** SEV-<n>
- **Fix / verify-with:** <the actionable fix, or "verify with an allocation profiler">
## Correctly suppressed (not flagged)
<textual lookalikes deliberately left silent — e.g. the same `Objects.hash` pattern
but at class-init (cold), not per-call — and why the posture suppresses them>
## Checked, no issue
<what you examined and cleared: e.g. "no unbounded cache (#3/J5)", "no native
crossing (#6/J3)", "string-literal tag keys are JVM-interned — no per-call alloc">
## Summary
<count + severity spread; e.g. "4 confirmed hot-path findings, all SEV-2/3
(allocation/CPU); 1 cold-path lookalike correctly suppressed">If nothing survives the confidence bar, say so plainly — "No high-confidence hot-path findings; here's what I checked and cleared." A clean review is a valid, valuable result, not a failure to find something.
Universal (language-agnostic):
Java addendum (JVM-specific — full text + mechanism in checks.md):
WeakReference.get() in a probe loop strengthens the ref ·
J7 substring → SubSequence zero-copy view · J8 backtracking regex on
external input → RE2J (ReDoS) · J9 Objects.hash(...) varargs/boxing →
HashingUtils · J10 hot-path String.format → Strings · J11 composite-key
maps → Hashtable.checks.md for why.Config.get() hoisting, @Advice.AllArguments →
@Advice.Argument, @Advice.SkipOn+cached-boolean, @Advice.Local, switch(String)
three-tier) — in checks.md.J7–J11 route an existing #1/#2/#3 finding to a landed reusable fix — they are not new triggers. Don't raise a finding you wouldn't have raised anyway.
© DataDog, 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 4 other files (references) in .agents/skills/perf-review of DataDog/dd-trace-java.
Open the folder on GitHubat commit 1c373d5
Perf Review 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 |
|---|---|---|---|---|---|---|
| Perf Review this skillDataDog/dd-trace-java | 736 | — | ~3.6k | Automated safety check: Notes | Apache-2.0 | |
| DeepTutor CLIHKUDS/DeepTutor | 41k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| AI Engineering Placement Quizrohitg00/ai-engineering-from-scratch | 66k | — | ~2k | Automated safety check: Pass | MIT | |
| Codebase to Coursezarazhangrui/codebase-to-course | 5.7k | — | ~4.4k | Automated safety check: Pass | None | |
| AI Engineering Phase Quizrohitg00/ai-engineering-from-scratch | 66k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Scholar EvaluationK-Dense-AI/claude-scientific-writer | 2.4k | 2 repos | ~2.9k | Automated safety check: Notes | MIT |
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
rohitg00/ai-engineering-from-scratch
Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.
zarazhangrui/codebase-to-course
Turns a codebase into an interactive single-page HTML course for non-technical learners, with scroll modules, animated diagrams, quizzes and plain-English code translations.
rohitg00/ai-engineering-from-scratch
Quizzes you on a completed phase of the AI Engineering from Scratch course, taking a phase number or name and mapping it to that phase's directory.
K-Dense-AI/claude-scientific-writer
Provide qualitative-first, evidence-traceable developmental review of scholarly works and audit low-stakes research-assessment rubrics with optional local quality controls.
guanyang/open-agent-hub
This skill should be used when building agent evaluation systems: deterministic checks, regression suites, multi-dimensional rubrics, quality gates, production monitoring, baseline comparison, and…
DataDog/dd-trace-java
Write a new library instrumentation end-to-end. An agent skill from DataDog/dd-trace-java.
DataDog/dd-trace-java
Diagnose and resolve dd-trace-java CI failures from a module's muzzle task or the runMuzzle aggregate.
DataDog/dd-trace-java
Diagnose and fix scope or continuation lifecycle failures in dd-trace-java instrumentation tests.
DataDog/dd-trace-java
Review a code diff / branch / PR for technical debt — code duplication, unnecessary complexity / over-engineering, and redundant or dead code.
DataDog/dd-trace-java
Clarify or review Java Javadocs, Javadoc tags, and explanatory code comments for legibility, accuracy, and source alignment.
DataDog/dd-trace-java
Converts Spock/Groovy test files in a Gradle module to equivalent JUnit 5 Java tests.
Categories
Performance-overhead review of a code diff / branch / PR for the dd-trace-java tracer. Perf Review is an agent skill from DataDog/dd-trace-java, published by the product's own GitHub organization. Performance-overhead review of a code diff / branch / PR for the dd-trace-java tracer.
Perf Review fits situations like: the user wants a performance / overhead / hot-path review; asks to check a diff; PR for allocation / GC / memory / latency / startup cost; mentions the perf rubric.
Run `npx skills add DataDog/dd-trace-java --skill perf-review -a claude-code`. Or copy the skill folder (.agents/skills/perf-review in DataDog/dd-trace-java) into .claude/skills/perf-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DataDog/dd-trace-java --skill perf-review -a codex`. Or copy the skill folder (.agents/skills/perf-review in DataDog/dd-trace-java) into .agents/skills/perf-review 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 DataDog/dd-trace-java --skill perf-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/perf-review, .gemini/skills/perf-review, .github/skills/perf-review and .opencode/skills/perf-review in your project.
Going by SKILL.md and its folder, Perf Review needs the command-line tools its instructions call (git). Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob.
SKILL.md contains no URLs. Its commands use 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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Perf Review 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.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Perf Review: DeepTutor CLI (HKUDS/DeepTutor, 41k stars), AI Engineering Placement Quiz (rohitg00/ai-engineering-from-scratch, 66k stars), Codebase to Course (zarazhangrui/codebase-to-course, 5.7k stars) and AI Engineering Phase Quiz (rohitg00/ai-engineering-from-scratch, 66k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DataDog (a GitHub organization, an official publisher) maintains it in DataDog/dd-trace-java, which has 736 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 8, 2026.
Source: DataDog/dd-trace-java on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.