Remote Executor Integration Tests
openinterpreter/openinterpreter
Explains how to run agent integration tests against remote executors, using Docker for Linux or Wine for Windows, and how to opt tests in or skip them.
A skill your agent uses when a CI integration, unbounded, or container test job fails intermittently, passes on a rerun, fails identically across every matrix variant, or shows an infra-shaped error…
$ npx skills add newrelic/newrelic-dotnet-agent --skill triage-integration-test-failures -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent triage-integration-test-failures --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/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/triage-integration-test-failures .claude/skills/triage-integration-test-failures && 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 "triage-integration-test-failures" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/triage-integration-test-failures into .claude/skills/triage-integration-test-failures/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-integration-test-failures", 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/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/triage-integration-test-failuresType 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 newrelic/newrelic-dotnet-agent --skill triage-integration-test-failures -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent triage-integration-test-failures --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/triage-integration-test-failures .agents/skills/triage-integration-test-failures && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "triage-integration-test-failures" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/triage-integration-test-failures into .agents/skills/triage-integration-test-failures/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-integration-test-failures", 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 newrelic/newrelic-dotnet-agent --skill triage-integration-test-failures -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent triage-integration-test-failures --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/triage-integration-test-failures .cursor/skills/triage-integration-test-failures && 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 "triage-integration-test-failures" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/triage-integration-test-failures into .cursor/skills/triage-integration-test-failures/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-integration-test-failures", 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/newrelic/newrelic-dotnet-agent.git --path .claude/skills/triage-integration-test-failures--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 newrelic/newrelic-dotnet-agent --skill triage-integration-test-failures -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent triage-integration-test-failures --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/triage-integration-test-failures .gemini/skills/triage-integration-test-failures && 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 "triage-integration-test-failures" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/triage-integration-test-failures into .gemini/skills/triage-integration-test-failures/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-integration-test-failures", 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 newrelic/newrelic-dotnet-agent triage-integration-test-failuresInstalls 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 newrelic/newrelic-dotnet-agent --skill triage-integration-test-failures -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/triage-integration-test-failures .github/skills/triage-integration-test-failures && 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 "triage-integration-test-failures" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/triage-integration-test-failures into .github/skills/triage-integration-test-failures/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-integration-test-failures", 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 newrelic/newrelic-dotnet-agent --skill triage-integration-test-failures -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent triage-integration-test-failures --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/triage-integration-test-failures .opencode/skills/triage-integration-test-failures && 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 "triage-integration-test-failures" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/triage-integration-test-failures into .opencode/skills/triage-integration-test-failures/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-integration-test-failures", 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.
triage-integration-test-failuresA skill your agent uses when a CI integration, unbounded, or container test job fails intermittently, passes on a rerun, fails identically across every matrix variant, or shows an infra-shaped error…
Triage Integration Test Failures is an agent skill from newrelic/newrelic-dotnet-agent. Use when a CI integration, unbounded, or container test job fails intermittently, passes on a rerun, fails identically across every matrix variant, or shows an infra-shaped error (connection timeout, account lock, native crash, docker daemon not ready) rather than a clear assertion diff -- the cause may be environmental, tooling, or a real product defect exposed only sometimes. Classify the failure before proposing any fix.
Its SKILL.md is about 2.5k 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 Integration testing. It works with Docker. The repository describes itself as: The New Relic .NET language agent. 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 aca7658. 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:
azghkubectlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use az, gh and kubectl, 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.
Triage Integration Test Failures loads about 2.5k tokens when it runs. Until then it costs about 115 tokens; SKILL.md has 1,420 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 newrelic/newrelic-dotnet-agent at commit aca7658, republished under its Apache-2.0 licence (© newrelic). 1,420 words, ~2,496 tokens.
.claude/skills/triage-integration-test-failures/SKILL.md (or your agent's skills folder).A failure investigation ends with one of five remedies, not a patch guessed under time pressure. Classify the failure first. The category decides the remedy; the wrong category produces a fix that treats a symptom.
REQUIRED BACKGROUND: superpowers:systematic-debugging governs root-cause work in general. This skill adds the classification step and the toolkit specific to this repo's CI, agent, and test infrastructure.
A CI job log, an az monitor/kubectl dump, and an agent log are evidence,
not the deliverable. None of them belongs in the main session.
gh run list for the workflow: has this exact test or job failed
before on unrelated PRs? Count occurrences of the exact signature across
recent scheduled runs, and state the rate as per-run, not per-call -- one
occurrence in 100 runs is not proof of absence. A recurring signature
across unrelated changes is strong evidence of an environmental cause, not
a code bug.Before matching a row, trace the failing message or exception string to the
code that emits it, and note whether the assertion sits in the test body or
in fixture setup/teardown (e.g. RemoteApplicationFixture.TestForKnownProblems
is a health check, not the test's own logic) -- this decides which row
applies.
| Category | Signature | Evidence to pull |
|---|---|---|
| Infra / cluster | Whole class of tests fails identically across every framework/OS variant in the same run; error is a connection, timeout, or account/lock error thrown before any agent code runs | az monitor metrics list on the AKS node and load balancer; kubectl get pods -n unbounded-services -o wide for restarts/uptime; does a bare retry pass (transient) or fail identically (persistent server state)? |
| Timing / race | Assertion is a count or an event that "usually" arrives, on a harvest or aggregator cycle; failure shows the right data, late or short by one cycle | The agent log, via analyze-dotnet-agent-logs -- confirm the exact interleaving (e.g. Seen vs Sent counts) before touching the test |
| Tooling / dependency bug | Crash signature is inside a third-party tool's native code, not in test or agent code; all tests report Passed, only the collector/runner process dies | The crash stack (module name, access-violation code); the tool's own changelog/issue tracker for a fix version already in flight |
| External / upstream | Error surfaces in CI infrastructure setup (runner boot, docker daemon, VM image), not in the app or the agent at all | Search the CI vendor's own issue tracker (e.g. actions/runner-images) for the exact error string before assuming it's local |
| Product defect, exposed nondeterministically | The traced assertion is a health check or invariant (fixture setup/teardown), or the emitting code shows a structural hole (missing try/finally, unguarded async race) | The suspect code path traced above; a repro run that proves the path executed (see Toolkit) |
Never conclude "just flaky" without pulling at least one row's evidence. See [[feedback_no_guessing]] -- a root cause claim needs a log line, a metric, or a matching upstream issue behind it, not a hunch. An assertion that exists to catch a product defect is never reclassified as timing/race and its threshold is never widened -- trace and fix the defect instead.
| Category | Remedy | Do NOT |
|---|---|---|
| Infra, transient (network blip) | CI-level retry-once on the job, plus raise the client-side timeout that actually stalled; document as an accepted risk | Silently widen unrelated timeouts repo-wide |
| Infra, persistent server state (account lock, stuck pod) | Operational fix (restart the pod/service); decide explicitly whether to harden the exposure, and record that decision even if the answer is "no, too costly" | Write code to retry around infra state that a retry cannot clear |
| Timing / race in event-harvest assertions | A race-free wait keyed on the exact asserted evidence (e.g. an AgentLogBase.WaitForMetricAggregateCallCount-style helper polling the real aggregate) | Bump a harvest-cycle magic number again -- each prior bump on the same test is evidence the race is still there, only the window changed |
| Tooling bug with no correctness impact | Wait for the upstream version bump already in flight; record the specific version and re-check after it lands | Change unrelated project settings (e.g. PDB format) as a workaround before confirming the bump doesn't already fix it |
| External/upstream CI regression | Apply the vendor's own recommended workaround inside the repo's CI composite action/step; link the upstream issue in a comment; remove the workaround once fixed upstream | Invent a bespoke workaround when the vendor already published one |
| Product defect, exposed nondeterministically | Trace the code path, file a ticket, leave the check alone; hand off to superpowers:systematic-debugging with the gathered evidence as the starting hypothesis and stop triage | Reclassify as timing/race, widen the assertion or its timeout, or suppress it to keep CI green |
Every one of the categories above ends in a decision someone will ask about again ("why don't we just fix the LB exposure", "did coverlet ever get bumped"). Capture, in a project memory or handoff note:
Each row runs inside a subagent per the hard rule above; the main session sees only the verdict it returns.
gh run view --job <id> --log-failed and --log truncate silently
past ~889 lines / 168KB, cutting off mid agent-log dump. For the complete
text: gh api repos/<org>/<repo>/actions/jobs/<jobid>/logs. Copy any log to
a file before a step that clears it -- lost evidence cannot be re-created.
The pristine agent log also survives as CI artifact
integration-test-results-<matrix> (all_solutions.yml uploads
C:\IntegrationTestWorkingDirectory\**\*.log unconditionally).az monitor metrics list --resource <aks-or-lb-id> --metric <name> --
cluster/LB health at the failure timestamp (MSYS_NO_PATHCONV=1 needed for
the slash-prefixed resource ID in Git Bash).kubectl get pods -n unbounded-services -o wide -- pod restarts/uptime
after az aks get-credentials.© newrelic, 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
Just SKILL.md in .claude/skills/triage-integration-test-failures of newrelic/newrelic-dotnet-agent.
Open the folder on GitHubat commit aca7658
Triage Integration Test Failures 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 |
|---|---|---|---|---|---|---|
| Triage Integration Test Failures this skillnewrelic/newrelic-dotnet-agent | 117 | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Remote Executor Integration Testsopeninterpreter/openinterpreter | 69k | 2 repos | ~842 | Automated safety check: Pass | Apache-2.0 | |
| MongoDB Source Connector E2E Harnessairbytehq/airbyte | 22k | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Integration Tests for pRESTprest/prest | 4.6k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Go Redis Client Test Runnerredis/go-redis | 22k | — | ~786 | Automated safety check: Pass | BSD-2-Clause | |
| Test Weave Router with Codexweave-os/router | 5.6k | — | ~4.7k | Automated safety check: Notes | Apache-2.0 |
openinterpreter/openinterpreter
Explains how to run agent integration tests against remote executors, using Docker for Linux or Wine for Windows, and how to opt tests in or skip them.
airbytehq/airbyte
Starts a throwaway MongoDB 7.0 replica set and runs the Airbyte spec, check, discover and read commands against source-mongodb-v2 images for local end-to-end testing.
prest/prest
Guides writing and reviewing pREST Docker-based integration tests so every HTTP request is explained by step comments or table-driven descriptions.
redis/go-redis
Explains how to run go-redis tests: the Docker Compose stack, make targets, focusing a single Ginkgo spec, the e2e suite and the version environment variables.
weave-os/router
Local test harness for the Weave router: a docker compose stack plus codex exec runs that confirm how Codex requests are routed, translated and marked.
airbytehq/airbyte
Starts a local PostgreSQL 16 container, loads SQL fixtures and runs the Airbyte spec, check, discover and read commands against a chosen source-postgres image.
newrelic/newrelic-dotnet-agent
Parse and diagnose New Relic .NET agent logs (newrelicagent.log) and profiler logs (NewRelic.Profiler.<pid.log) from a support ticket.
newrelic/newrelic-dotnet-agent
Open an Angler PR that adds the latest .NET agent release to metricnames.txt.
newrelic/newrelic-dotnet-agent
Build the New Relic .NET agent locally and validate that code changes compile.
newrelic/newrelic-dotnet-agent
Run the New Relic .NET agent integration tests locally. An agent skill from newrelic/newrelic-dotnet-agent.
newrelic/newrelic-dotnet-agent
A skill your agent uses when the user mentions a Dotty PR, dotty (package/dependency) updates, or asks to update the .NET agent compatibility docs / net-agent-compatibility-requirements after tested…
newrelic/newrelic-dotnet-agent
Mandatory unit-test and code-coverage rules for the .NET agent.
Works with
Categories
A skill your agent uses when a CI integration, unbounded, or container test job fails intermittently, passes on a rerun, fails identically across every matrix variant, or shows an infra-shaped error…. Triage Integration Test Failures is an agent skill from newrelic/newrelic-dotnet-agent. Use when a CI integration, unbounded, or container test job fails intermittently, passes on a rerun, fails identically across every matrix variant, or shows an infra-shaped error (connection timeout, account lock, native crash, docker daemon not ready) rather than a clear assertion diff -- the cause may be environmental, tooling, or a real product defect exposed only sometimes.
Triage Integration Test Failures fits situations like: A CI integration; container test job fails intermittently; passes on a rerun; fails identically across every matrix variant.
Run `npx skills add newrelic/newrelic-dotnet-agent --skill triage-integration-test-failures -a claude-code`. Or copy the skill folder (.claude/skills/triage-integration-test-failures in newrelic/newrelic-dotnet-agent) into .claude/skills/triage-integration-test-failures in your project. Claude Code loads it when a task matches its description.
Run `npx skills add newrelic/newrelic-dotnet-agent --skill triage-integration-test-failures -a codex`. Or copy the skill folder (.claude/skills/triage-integration-test-failures in newrelic/newrelic-dotnet-agent) into .agents/skills/triage-integration-test-failures 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 newrelic/newrelic-dotnet-agent --skill triage-integration-test-failures -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/triage-integration-test-failures, .gemini/skills/triage-integration-test-failures, .github/skills/triage-integration-test-failures and .opencode/skills/triage-integration-test-failures in your project.
Going by SKILL.md and its folder, Triage Integration Test Failures needs the command-line tools its instructions call (az, gh and kubectl). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use gh, 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.
Triage Integration Test Failures 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 2.5k tokens (SKILL.md is roughly 10k 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 Triage Integration Test Failures: Remote Executor Integration Tests (openinterpreter/openinterpreter, 69k stars), MongoDB Source Connector E2E Harness (airbytehq/airbyte, 22k stars), Integration Tests for pREST (prest/prest, 4.6k stars) and Go Redis Client Test Runner (redis/go-redis, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
newrelic (a GitHub organization) maintains it in newrelic/newrelic-dotnet-agent, which has 117 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 9, 2026.
Source: newrelic/newrelic-dotnet-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.