Agent skill · software engineering · jeremylongshore

bug-clustering

Internal process for the bug-clusterer agent. Defines the step-by-step procedure for parsing, classifying, redacting, scoring, and clustering bug candidates from raw X/Twitter posts. Not user-invocable — loaded by the bug-clusterer agent through its skills frontmatter.

Why this skill is useful

Adds a comprehensive executable workflow for transforming raw XPost data into structured bug candidates, including PII redaction and clustering logic.

What it needs

Requires bash installed locally. About 3k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.

What this skill does

Bug Clustering Process Step-by-step procedure for transforming raw XPost objects into structured, clustered bug candidates with PII redaction and reliability scoring. Overview Loaded by the bug-clusterer agent inside the x-bug-triage plugin. Transforms raw XPost records ingested from X/Twitter into structured BugCandidate rows, deduplicates near-identical candidates, classifies each candidate into one of 12 bug families, redacts six categories of PII, scores reporter reliability across four dimensions, and groups results into bug clusters by deterministic signature. The output feeds the downstream repo-scanning, owner-routing, and triage-display stages. Prerequisites Database initialized via lib/db.ts schema migrations config/cluster-matching-thresholds.json present (controls dedup + cluster overlap thresholds) config/approved-accounts.json present (drives reporter category tagging) Raw XPost[] array passed in by the orchestrator (not fetched here) Instructions Step 1: Parse For each XPost, produce a BugCandidate with all 33 fields using lib/parser.ts: Extract productsurface, featurearea, symptoms, errorstrings, reprohints Extract urls, mediakeys, language, conversation references Determine sourcetype (mention, reply, quotepost, searchhit) Step 1.5: Deduplicate Before classification, run content-similarity deduplication using lib/dedupe.ts: Call deduplicateCandidates() with parsed candidates and the candidatededup.hybridsimilaritythreshold from config/cluster-matching-thresholds.json (default 0.70) Uses char-trigram + token-Jaccard hybrid similarity Does NOT remove posts — tags them as duplicate groups with a canonical post (highest engagement) Only canonical posts and non-duplicates (forwardids) proceed to classification Log dedup stats in the form: "N posts (M unique, K duplicate groups)" with N/M/K replaced by integer counts Step 2: Classify Run lib/classifier.ts on each candidate: Assign one of 12 classifications with confidence score (0.0-1.0) and rationale Sar …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeremylongshore/bug-clustering

View the source on GitHub

Browse the @skills marketplace