Agent skill

GreptimeDB Fuzz CI Failure Investigation

by GreptimeTeam in GreptimeTeam/greptimedb

Diagnoses a failed GreptimeDB fuzz CI job by pulling its GitHub Actions logs and fuzz artifacts, then matching the evidence to the local source code.

Apache-2.0Auto-check passedTesting & QA

Install GreptimeDB Fuzz CI Failure Investigation

skills CLI
$ npx skills add GreptimeTeam/greptimedb --skill greptimedb-fuzz-ci-failure-investigation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install GreptimeTeam/greptimedb greptimedb-fuzz-ci-failure-investigation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/GreptimeTeam/greptimedb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/greptimedb-fuzz-ci-failure-investigation .claude/skills/greptimedb-fuzz-ci-failure-investigation && rm -rf skills-src

Use ~/.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/

Facts

Skill name
greptimedb-fuzz-ci-failure-investigation
GitHub stars
6.7k
Token cost
~4.4k tokens
SKILL.md length
1,739 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Diagnoses a failed GreptimeDB fuzz CI job by pulling its GitHub Actions logs and fuzz artifacts, then matching the evidence to the local source code.

  • Works in 10 steps: Capture run and job metadata → Download CI output for the failed job → Find and download fuzz artifacts → …
  • Diagnosing a failed fuzz job from a GitHub Actions URL
  • SKILL.md covers Scope, Inputs, Prerequisites and 1. Capture run and job metadata, plus 9 more sections
  • Calls gh, jq and git

What it does

Given the link to one failed fuzz job in GreptimeDB's integration workflow, the skill downloads the job output and the uploaded group artifact, which holds a manifest, a summary and one folder per target. A failed distributed target can include the fuzz log, libFuzzer reproducers, CSV and SQL traces, Kind logs, monitor dumps and Kubernetes state. The agent then explains the likely cause by tying that evidence to the source in your checkout.

It stays read-only: `gh` is always pointed at the GreptimeTeam/greptimedb repository because local remotes may be forks, and it does not rerun jobs, cancel workflows, push, comment on pull requests or delete artifacts unless you ask. Scope is limited to the fuzz jobs `fuzztest`, `unstable-fuzztest`, `distributed-fuzztest` and `distributed-fuzztest-with-chaos`, which run groups of targets through a shared action and script. Local reproduction falls back to `cargo fuzz run` when no prebuilt binary directory is set.

When your agent uses it

  • Diagnosing a failed fuzz job from a GitHub Actions URL
  • Reading Kind logs and monitor dumps from a distributed fuzz run
  • Deciding whether a fuzz failure comes from setup or from a target
  • Reproducing a libFuzzer failure locally with cargo fuzz

Example prompts

  • “Here is the failing fuzz job link. Download the artifacts and tell me why it failed.”
  • “Look at the distributed-fuzztest failure from last night and find the relevant code in our checkout.”
  • “Which fuzz target failed first in this CI run, and what does its fuzz log show?”

Requirements

  • GitHub CLI (`gh`) with access to GreptimeTeam/greptimedb
  • A local checkout of the GreptimeDB source

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Capture run and job metadata
  2. Download CI output for the failed job
  3. Find and download fuzz artifacts
  4. Understand artifact contents
  5. Build a layered diagnosis model
  6. Reduce evidence before reading source
  7. Inspect the tested source revision
  8. Map logs to GreptimeDB code
  9. Classify the cause
  10. Final response format

What it can do on your machine

Read from SKILL.md and the folder at commit 28ec3ff. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • jq
    • git
    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh 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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

GreptimeDB Fuzz CI Failure Investigation loads about 4.4k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,739 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~4.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from GreptimeTeam/greptimedb at commit 28ec3ff, republished under its Apache-2.0 licence (© GreptimeTeam). 1,739 words, ~4,430 tokens.

Download SKILL.mdSave it as .claude/skills/greptimedb-fuzz-ci-failure-investigation/SKILL.md (or your agent's skills folder).
name
greptimedb-fuzz-ci-failure-investigation
description
Investigate a failed GreptimeDB fuzz CI target link by downloading GitHub Actions job logs plus fuzz artifacts such as kind logs, monitor dumps, and CSV dumps, then correlate the failure with local GreptimeDB source code. Use when the user provides a failed fuzz CI target/job URL or asks to diagnose GreptimeDB fuzz CI failures.

GreptimeDB Fuzz CI Failure Investigation

Investigate failed fuzz-test jobs for GreptimeTeam/greptimedb from a local checkout. The purpose is to download the failed job's CI output and fuzz artifacts, then explain the likely cause by correlating the evidence with GreptimeDB source.

Always pass --repo GreptimeTeam/greptimedb to gh; local remotes may point to forks. Keep the workflow read-only: do not rerun jobs, cancel workflows, push, comment on PRs, or delete artifacts unless the user explicitly asks.

Scope

Use this skill for fuzz CI only. In .github/workflows/integration.yml, fuzz failures are the CI jobs that use .github/actions/fuzz-test:

  • fuzztest — standalone fuzz targets.
  • unstable-fuzztest — unstable standalone fuzz target.
  • distributed-fuzztest — distributed cluster fuzz targets.
  • distributed-fuzztest-with-chaos — distributed fuzz targets with Chaos Mesh.

Each matrix job runs a semantic group of targets on one prepared environment. The group defaults to fail-fast: after the first target failure it captures that target's diagnostics and marks the remaining targets as skipped. The workflow strategy still uses fail-fast: false, so failures do not cancel other groups.

The reusable action .github/actions/fuzz-test/action.yaml delegates each target to .github/scripts/run-fuzz-targets.sh. CI passes FUZZ_BIN_DIR, so the script runs the prebuilt target executable:

bash
<prebuilt-fuzz-binary> -max_total_time=<seconds> \
  -artifact_prefix=<target-dir>/libfuzzer/

Without FUZZ_BIN_DIR, such as during local reproduction, the script falls back to cargo fuzz run <target> --fuzz-dir tests-fuzz -D -s none with the same libFuzzer arguments.

Failed jobs upload one group artifact. Its stable name identifies the job kind, mode, and group, for example:

text
fuzz-distributed-remote-wal-database-and-regular-table

The artifact contains manifest.json, summary.md, and one directory per target under targets/<target>/. A failed distributed target can include fuzz.log, libFuzzer reproducers, CSV/SQL traces, Kind logs, monitor dumps, and Kubernetes state. Setup failures use targets/setup/.

Inputs

The normal user input is a CI target link: a GitHub Actions job URL for one failed matrix target. Treat that URL as the primary source of truth. Example:

text
https://github.com/GreptimeTeam/greptimedb/actions/runs/29000666156/job/86062894741

Also accept these fallback inputs:

  • A workflow run URL, e.g. https://github.com/GreptimeTeam/greptimedb/actions/runs/29000666156.
  • A run id plus a fuzz target, mode name, artifact name, PR, branch, or commit SHA.

Parse ids from URLs:

bash
REPO=GreptimeTeam/greptimedb
RUN_ID=29000666156
JOB_ID=86062894741

When the input is a job URL, do not ask for the target name first. Use the job id to fetch metadata, then derive the group and mode from the job name. A distributed fuzz job name usually contains the CI group tuple:

text
Fuzz Test (Distributed, <mode>, <group>)
Fuzz Test with Chaos (Distributed, <mode>, <group>)

If only a run URL is provided, list failed jobs and choose the fuzz job matching the group/mode. Ask only when multiple fuzz jobs are plausible and there is no group, mode, artifact, or job-url clue.

Prerequisites

  • gh must be installed and authenticated (gh auth status). Actions logs and artifacts commonly require authentication even for a public repo.
  • jq, unzip, and standard shell tools are useful for reducing logs.
  • Use the local GreptimeDB checkout for source analysis. If the run's head SHA is not the current checkout, inspect the code at the run's SHA before making claims.
  • Use a scratch directory outside the source tree, such as /tmp/greptimedb-fuzz-ci.

1. Capture run and job metadata

Create a scratch directory:

bash
mkdir -p /tmp/greptimedb-fuzz-ci/$RUN_ID
cd /tmp/greptimedb-fuzz-ci/$RUN_ID

Fetch run metadata:

bash
gh run view "$RUN_ID" --repo "$REPO" \
  --json databaseId,name,displayTitle,event,headBranch,headSha,status,conclusion,createdAt,updatedAt,url,workflowName \
  > run.json

Fetch all jobs through the REST API:

bash
gh api "repos/$REPO/actions/runs/$RUN_ID/jobs?per_page=100" \
  --paginate --jq '.jobs[]' \
  | jq -s '{jobs: .}' > jobs.json

List failed fuzz-like jobs:

bash
jq -r '
  .jobs[]
  | select(.conclusion != null and .conclusion != "success")
  | select(.name | test("Fuzz Test|fuzz"; "i"))
  | [.id, .name, .status, .conclusion, .html_url] | @tsv
' jobs.json

For a known JOB_ID, capture job name and step outcomes:

bash
jq -r --arg id "$JOB_ID" '
  .jobs[] | select((.id | tostring) == $id) |
  "job=\(.name) conclusion=\(.conclusion) url=\(.html_url)",
  (.steps[]? | [.number, .name, .status, .conclusion, .started_at, .completed_at] | @tsv)
' jobs.json > job-summary.txt

Record the fuzz job kind, matrix mode, group, failed step, event type, branch, and head SHA. Do not assume main for PR or merge-queue runs. The failed target is authoritative in the downloaded artifact's manifest.json; do not guess it from the group name.

2. Download CI output for the failed job

Download the selected job's log; this is the authoritative target CI output for the cargo fuzz run command:

bash
gh run view "$RUN_ID" --repo "$REPO" --job "$JOB_ID" --log > job-$JOB_ID.log

Download the full workflow log only when setup/build context matters:

bash
gh run view "$RUN_ID" --repo "$REPO" --log > run-$RUN_ID.log

Fallback if gh run view --log is incomplete. The job logs endpoint returns a plain text stream, while the full run logs endpoint returns a zip archive:

bash
gh api "repos/$REPO/actions/jobs/$JOB_ID/logs" > job-$JOB_ID.log
gh api "repos/$REPO/actions/runs/$RUN_ID/logs" > run-$RUN_ID-logs.zip
unzip -oq run-$RUN_ID-logs.zip -d run-logs

In the job log, inspect the Run Fuzz Test step first. Capture:

  • exact target name;
  • max_total_time;
  • panic/assertion/backtrace or libFuzzer crash output;
  • generated crash/reproducer path if printed;
  • timeout or resource symptoms.

3. Find and download fuzz artifacts

List artifacts:

bash
gh api "repos/$REPO/actions/runs/$RUN_ID/artifacts?per_page=100" \
  --paginate --jq '.artifacts[]' \
  | jq -s '{artifacts: .}' > artifacts.json
jq -r '.artifacts[] | [.id, .name, .expired, .size_in_bytes] | @tsv' artifacts.json

Match the one group artifact by job kind, mode slug, and group slug. If the display name does not make the slug obvious, list the run artifacts and choose the unique fuzz-* artifact whose suffix matches the group. Do not search for separate Kind, monitor, or CSV artifacts; these are target subdirectories in the group artifact.

Download exact artifacts when possible:

bash
ARTIFACT='fuzz-distributed-remote-wal-database-and-regular-table'
gh run download "$RUN_ID" --repo "$REPO" --name "$ARTIFACT" --dir artifacts/"$ARTIFACT"

Fallback by artifact id:

bash
ARTIFACT_ID=$(jq -r --arg name "$ARTIFACT" '.artifacts[] | select(.name == $name and (.expired | not)) | .id' artifacts.json | head -n 1)
if [ -z "$ARTIFACT_ID" ]; then
  echo "Artifact not found or expired: $ARTIFACT"
  exit 1
fi
gh api "repos/$REPO/actions/artifacts/$ARTIFACT_ID/zip" > artifact-$ARTIFACT_ID.zip
mkdir -p artifacts/"$ARTIFACT"
unzip -oq artifact-$ARTIFACT_ID.zip -d artifacts/"$ARTIFACT"

After download, read the manifest before the bulk logs:

bash
jq -r '.[] | [.target, .status, .exit_code, .after_prior_failure, .artifact_collection] | @tsv' \
  artifacts/"$ARTIFACT"/manifest.json

Select the first failure entry as the primary target. Entries with skipped_after_failure did not run; entries with after_prior_failure=true ran against a potentially contaminated shared environment. Note expired or missing artifacts explicitly; retention is currently short (retention-days: 3).

4. Understand artifact contents

Evidence for target <target> is rooted at artifacts/$ARTIFACT/targets/<target>/. result.json records timestamps, status, exit code, fuzz budget, prior-failure provenance, and artifact collection status. fuzz.log is the complete libFuzzer output from the prebuilt target executable in CI; local fallback runs it through cargo fuzz run.

Kind logs under targets/<target>/kind/ come from an immediate failure snapshot and usually include Kubernetes state plus container logs. Prioritize:

  • GreptimeDB component logs: frontend, datanode, metasrv, flownode, monitor.
  • Kubernetes pod descriptions/events: restarts, OOMKilled, scheduling, image pull, volume, DNS, and network issues.
  • External service logs: etcd, Kafka, Minio, Chaos Mesh, Kafka WAL helper.

Monitor dumps under targets/<target>/monitor/ are collected by .github/scripts/collect-fuzz-monitor-artifacts.sh. They may include:

  • state.log, sql.log, copy.log, port-forward.log;
  • *.show_create_table.sql for _gt_logs and OpenTelemetry trace tables;
  • parquet dumps for _gt_logs, opentelemetry_traces, opentelemetry_traces_operations, and opentelemetry_traces_services.

CSV and SQL traces are under targets/<target>/csv/. LibFuzzer crash or timeout reproducers are under targets/<target>/libfuzzer/. Kubernetes descriptions and events are under targets/<target>/kubernetes/. Standalone service logs are under targets/<target>/service/ when available.

5. Build a layered diagnosis model

Before drilling into a specific error string, build a small macro-level model of the failure. This prevents overfitting on the loudest symptom, such as libFuzzer: deadly signal, Internal error, or a cleanup warning.

5.1 Create a failure timeline

Record the key timestamps in order:

  • job start and setup steps;
  • external dependencies ready, such as etcd, Kafka, Minio, and Chaos Mesh;
  • GreptimeDB cluster ready;
  • fuzz binary starts;
  • first generated operation or SQL visible in the target log;
  • first suspicious component log line;
  • user-visible fuzz failure or panic;
  • artifact collection and cleanup.

Use the timeline to classify the failure phase: setup, workload execution, storage/WAL/write path, query path, cleanup, or runner infrastructure.

Show full SKILL.md (704 more words)Show less
5.2 Trace the error propagation chain

For distributed fuzz failures, identify the chain from outer symptom to inner cause candidate. Prefer this shape:

text
fuzz panic/assertion
  -> client-visible SQL/gRPC/HTTP error
  -> frontend or monitor error
  -> meta/datanode/flownode component error
  -> storage/WAL/object-store/Kafka/etcd/k8s dependency error

At each boundary, decide whether that layer produced the error or merely wrapped and forwarded a downstream error. Do not stop at wrapper errors unless there is no deeper evidence.

5.3 Investigate by component boundary

For distributed targets, scan evidence in this order unless the timeline points elsewhere:

  1. fuzz target and generated operations;
  2. frontend request handling and SQL/error response;
  3. metasrv metadata/procedure/routing;
  4. datanode/mito2/metric-engine region execution;
  5. WAL, Kafka, object store, Minio, etcd, or other dependencies;
  6. Kubernetes pod state, restarts, scheduling, DNS, network, and runner resource signals.

For each layer, answer two questions: "is this the first causal error?" and "is this layer producing or propagating the failure?"

5.4 Verify intended config against runtime behavior

When a failure appears configuration-related, compare all three levels before claiming a config did or did not take effect:

  1. the workflow/action/Helm/YAML config at the tested SHA;
  2. the actual pod/container runtime config or startup logs, if available;
  3. the source path that consumes the config, including hard-coded defaults and library retry/backoff settings.

If a logged value differs from the expected config, explicitly state whether the config was not applied, was overridden by another layer, or refers to a different kind of timeout/retry/deadline.

5.5 Keep competing hypotheses until evidence rules them out

Before final classification, list at least two plausible causes and the evidence that supports or weakens each, for example:

  • product bug;
  • fuzz/test invalid assumption or missing wait;
  • config not applied or overridden;
  • dependency/infra flake;
  • timeout, retry, or resource pressure.

Then choose the most likely cause and keep the confidence scoped. It is often valid to have high confidence in the observed error chain but only medium confidence in the ultimate cause category.

5.6 State what would disprove the diagnosis

Include one or two falsifiable checks, such as a same-SHA rerun, a fixed reproducer, a cross-target pattern in the same dependency mode, or one missing artifact/log that would change the conclusion.

6. Reduce evidence before reading source

Extract high-signal lines from job logs and artifacts:

bash
grep -RInE '(^|[^[:alpha:]])(ERROR|Error|WARN|panic|panicked|FAILED|failure|timeout|Timeout|assert|backtrace|SIG[A-Z]+|OOMKilled|CrashLoopBackOff|ImagePullBackOff|libFuzzer|AddressSanitizer|UndefinedBehaviorSanitizer)' \
  job-$JOB_ID.log run-$RUN_ID.log job-logs run-logs artifacts 2>/dev/null > signals.txt

Then identify the first causal failure, not the last cleanup error. A typical order:

  1. cargo fuzz run output in job-$JOB_ID.log.
  2. GreptimeDB component logs around the same timestamp.
  3. Kubernetes events/restarts/OOMs.
  4. Monitor/CSV dumps that show the generated SQL or cluster state.

Avoid common mistakes:

  • Do not blame cleanup errors after the fuzz failure.
  • Do not treat expected retry warnings as root cause unless they align with the assertion, crash, or timeout.
  • Do not assume an artifact is relevant only because it contains fuzz; match mode and target.
  • Do not diagnose from current local main if the run used a different SHA.

7. Inspect the tested source revision

Read the tested SHA:

bash
HEAD_SHA=$(jq -r '.headSha // empty' run.json)
if [ -z "$HEAD_SHA" ]; then
  echo "Error: HEAD_SHA is empty or null"
  exit 1
fi

UPSTREAM_REMOTE=$(git remote -v \
  | awk '/GreptimeTeam\/greptimedb(\.git)?\/?([[:space:]])/ { print $1; exit }')
UPSTREAM_REMOTE=${UPSTREAM_REMOTE:-origin}

git rev-parse --verify "$HEAD_SHA^{commit}" >/dev/null 2>&1 \
  || git fetch "$UPSTREAM_REMOTE" "$HEAD_SHA"

If local HEAD differs, inspect files at that SHA or create a temporary worktree:

bash
git worktree add --detach /tmp/greptimedb-fuzz-ci/$RUN_ID/source "$HEAD_SHA"

Remove temporary worktrees after investigation with git worktree remove <path>. Never overwrite the user's current branch.

8. Map logs to GreptimeDB code

Start from concrete strings: fuzz target name, panic text, assertion message, error variant, SQL statement, or log message. Search/read the matching source at the run SHA.

Useful entry points:

  • tests-fuzz/ — fuzz targets, operation generators, checkers, dump paths.
  • .github/actions/fuzz-test/action.yaml — exact CI fuzz runner configuration.
  • .github/workflows/integration.yml — fuzz matrix and artifact upload names.
  • .github/scripts/collect-fuzz-monitor-artifacts.sh — monitor dump contents.
  • src/mito2/AGENTS.md — storage/WAL/region failures.
  • src/metric-engine/AGENTS.md — metric/logical table failures.
  • src/frontend/AGENTS.md — SQL/protocol/query orchestration failures.
  • src/meta-srv/AGENTS.md — metadata/procedure/routing failures.
  • src/flow/AGENTS.md — flow failures.

When reporting code evidence, cite the file/function/line and quote the log line that reaches it. Separate confirmed facts from hypotheses.

9. Classify the cause

Use this taxonomy:

  • Product bug: GreptimeDB panics, returns wrong results, loses data, or violates invariants under generated fuzz operations.
  • Fuzz/test bug: the fuzz target/generator/checker makes an invalid assumption or fails to wait for an asynchronous condition it requires.
  • Flake/race: timing/order/resource issue, usually supported by timeouts, retries, pod restarts, or prior similar failures.
  • Environment/infra: runner disk/OOM, Docker/kind, network, dependency install, Kafka/Minio/etcd startup, or GitHub service issue.
  • Unknown: logs/artifacts are expired or evidence conflicts.

10. Final response format

Use this structure:

markdown
## Summary
- Likely cause: <one sentence>
- Confidence: high|medium|low
- Classification: product bug|fuzz/test bug|flake/race|environment/infra|unknown
- Confidence basis: <which parts are confirmed vs inferred>

## Evidence
- `<job log or artifact path>`: quoted line(s)
- `<source-file:line>`: relevant code path

## Reasoning
<short chain from fuzz target -> CI output -> artifact logs -> source code>

## Alternative hypotheses
- <hypothesis>: <supporting and weakening evidence>
- <hypothesis>: <supporting and weakening evidence>

## Next steps
1. <minimal fix, reproduction command, or verification command>
2. <rerun command or extra log needed, if any>

## What would disprove this
- <specific rerun, artifact, log line, or reproducer result that would change the diagnosis>

If logs or artifacts cannot be downloaded because gh is not authenticated or the artifacts expired, say so directly and include the exact command/error.

© GreptimeTeam, 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

Files

Just SKILL.md in .agents/skills/greptimedb-fuzz-ci-failure-investigation of GreptimeTeam/greptimedb.

Open the folder on GitHubat commit 28ec3ff

Compare with similar skills

GreptimeDB Fuzz CI Failure Investigation 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.

GreptimeDB Fuzz CI Failure Investigation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
GreptimeDB Fuzz CI Failure Investigation this skillGreptimeTeam/greptimedb6.7k—~4.4kAutomated safety check: PassApache-2.0
Megatron-LM CI Failure TriageNVIDIA/Megatron-LM18k—~1.6kAutomated safety check: PassApache-2.0
MAUI CI Investigatordotnet/maui23k—~2kAutomated safety check: PassMIT
CI Triagecanton-network/splice117—~1.4kAutomated safety check: PassApache-2.0
Reviewapollographql/apollo-mcp-server314—~2.9kAutomated safety check: PassMIT
Babysit PRZenUml/web-sequence150—~871Automated safety check: PassMIT

Similar skills

  • Official

    Investigates a failing GitHub Actions run or job for Megatron-LM, finds the root cause plus the PR and test author involved, and files a structured bug issue.

    18k GitHub stars~1.6k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Official

    Adds dotnet/maui-specific context for investigating failing PR checks and broken nightly builds: pipelines, Helix logs, binlogs and merge-readiness verdicts.

    23k GitHub stars~2k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • CI Triage

    canton-network/splice

    Triage a failed splice GitHub Actions job (cn-test-failures ref) into a reproducible evidence packet - fetch job log and artifact, isolate the flagged lines, check the known flake families for…

    117 GitHub stars~1.4k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Review

    apollographql/apollo-mcp-server

    Review a GitHub pull request for a Rust codebase. An agent skill from apollographql/apollo-mcp-server.

    314 GitHub stars~2.9k tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Babysit PR

    ZenUml/web-sequence

    Monitor and diagnose GitHub Actions checks on ZenUML web-sequence PRs, fixing code-caused CI failures when appropriate.

    150 GitHub stars~871 tokensUpdated 6 days ago
    Testing & QAAuto-check passed
  • Analysing CI Failures

    golemcloud/golem

    Analysing GitHub Actions CI failures from a run URL. An agent skill from golemcloud/golem.

    1.5k GitHub stars~862 tokensUpdated yesterday
    Testing & QAAuto-check passed

More from GreptimeTeam/greptimedb

  • GreptimeDB Dev Docker Image

    GreptimeTeam/greptimedb

    Packages a locally built GreptimeDB debug binary into a development-only Docker image for local-cluster testing, with an optional push to a dev registry.

    6.7k GitHub stars~4k tokensUpdated yesterday
    Auto-check: notes
  • GreptimeDB Release Runbook

    GreptimeTeam/greptimedb

    Runbook for publishing a GreptimeDB version: pick the release branch, verify the Cargo version, then tag, create the GitHub release and open the docs note PR.

    6.7k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • GreptimeDB Release Notes

    GreptimeTeam/greptimedb

    Generates a GreptimeDB release changelog with git cliff, subtracts patch PRs already shipped, rebuilds contributors and prepares the docs-repo blog PR.

    6.7k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed

Questions about GreptimeDB Fuzz CI Failure Investigation

What does GreptimeDB Fuzz CI Failure Investigation do?

Diagnoses a failed GreptimeDB fuzz CI job by pulling its GitHub Actions logs and fuzz artifacts, then matching the evidence to the local source code. Given the link to one failed fuzz job in GreptimeDB's integration workflow, the skill downloads the job output and the uploaded group artifact, which holds a manifest, a summary and one folder per target. A failed distributed target can include the fuzz log, libFuzzer reproducers, CSV and SQL traces, Kind logs, monitor dumps and Kubernetes state.

When should I use GreptimeDB Fuzz CI Failure Investigation?

GreptimeDB Fuzz CI Failure Investigation fits situations like: diagnosing a failed fuzz job from a GitHub Actions URL; reading Kind logs and monitor dumps from a distributed fuzz run; deciding whether a fuzz failure comes from setup or from a target; reproducing a libFuzzer failure locally with cargo fuzz.

How do I install GreptimeDB Fuzz CI Failure Investigation in Claude Code?

Run `npx skills add GreptimeTeam/greptimedb --skill greptimedb-fuzz-ci-failure-investigation -a claude-code`. Or copy the skill folder (.agents/skills/greptimedb-fuzz-ci-failure-investigation in GreptimeTeam/greptimedb) into .claude/skills/greptimedb-fuzz-ci-failure-investigation in your project. Claude Code loads it when a task matches its description.

How do I install GreptimeDB Fuzz CI Failure Investigation in Codex?

Run `npx skills add GreptimeTeam/greptimedb --skill greptimedb-fuzz-ci-failure-investigation -a codex`. Or copy the skill folder (.agents/skills/greptimedb-fuzz-ci-failure-investigation in GreptimeTeam/greptimedb) into .agents/skills/greptimedb-fuzz-ci-failure-investigation in your project. Codex loads it when a task matches its description.

Can I use GreptimeDB Fuzz CI Failure Investigation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GreptimeTeam/greptimedb --skill greptimedb-fuzz-ci-failure-investigation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/greptimedb-fuzz-ci-failure-investigation, .gemini/skills/greptimedb-fuzz-ci-failure-investigation, .github/skills/greptimedb-fuzz-ci-failure-investigation and .opencode/skills/greptimedb-fuzz-ci-failure-investigation in your project.

What does GreptimeDB Fuzz CI Failure Investigation need to run?

Going by SKILL.md and its folder, GreptimeDB Fuzz CI Failure Investigation needs the command-line tools its instructions call (gh, jq, git and cargo). Our summary lists: GitHub CLI (`gh`) with access to GreptimeTeam/greptimedb; A local checkout of the GreptimeDB source.

Does GreptimeDB Fuzz CI Failure Investigation access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is GreptimeDB Fuzz CI Failure Investigation safe to install?

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.

What licence does GreptimeDB Fuzz CI Failure Investigation use?

GreptimeDB Fuzz CI Failure Investigation 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.

How many tokens does GreptimeDB Fuzz CI Failure Investigation use?

About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to GreptimeDB Fuzz CI Failure Investigation?

Skills that share tags, products or a category with GreptimeDB Fuzz CI Failure Investigation: Megatron-LM CI Failure Triage (NVIDIA/Megatron-LM, 18k stars), MAUI CI Investigator (dotnet/maui, 23k stars), CI Triage (canton-network/splice, 117 stars) and Review (apollographql/apollo-mcp-server, 314 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains GreptimeDB Fuzz CI Failure Investigation?

GreptimeTeam (a GitHub organization) maintains it in GreptimeTeam/greptimedb, which has 6,729 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 10, 2026.

Source: GreptimeTeam/greptimedb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.