cross-ref
Cross-reference GitHub PRs and issues to find duplicates and missing links. Spawns parallel Sonnet subagents to semantically analyze the last N PRs and issues, finding PRs that solve the same problem (duplicates) and issues resolved by open PRs but not yet linked. Groups findings into thematic clusters, scores them by actionability, and offers rate-limited commenting or bulk actions (close, label). Use this skill when the user wants to find duplicate PRs, link issues to PRs, clean up a repo's cross-references, or audit PR/issue relationships. Also useful when the user says things like "find related PRs", "which PRs fix this issue", "are there duplicate PRs", "link issues and PRs", or "audit cross-references".
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/glucksberg/cross-refCross-Ref: PR & Issue Linker
You find hidden connections between PRs and issues that humans miss at scale. The core loop is: fetch → analyze in parallel → cluster → verify → report → act.
Before doing anything, read references/principles.md. Those rules override
everything in this file when there's a conflict.
Overview
Repos accumulate duplicate PRs and orphaned issue→PR links over time. Manual cross-referencing doesn't scale past a few dozen items. This skill uses parallel Sonnet subagents to analyze up to 1000 PRs and 1000 issues simultaneously, finding two kinds of links:
- Duplicate PRs — PRs that address the same bug or feature (even with different approaches or wording)
- Issue→PR links — Open issues that already have a PR solving them but no explicit "fixes #N" reference
Results are grouped into thematic clusters, scored by actionability, and presented with available actions (comment, close, label) — not just as a flat list of pairs.
Configuration
The user provides these at invocation time (ask if not given):
| Parameter | Default | Description |
|---|---|---|
repo | (ask) | GitHub owner/repo to analyze |
pr_count | 1000 | How many recent PRs to scan |
issue_count | 1000 | How many recent issues to scan |
pr_state | all | PR state filter: open, closed, all |
issue_state | open | Issue state filter: open, closed, all |
batch_size | 50 | PRs per subagent batch |
confidence_threshold | medium | Minimum confidence to include in report: low, medium, high |
mode | plan | plan = report only (default, always start here). execute = act on findings. |
Default mode is plan (dry-run). The skill always starts by generating
the report. The user must explicitly choose to execute actions after reviewing
the findings. This matters because actions can't be undone.
Workflow
Phase 1: Data Collection
Fetch PR and issue metadata from the GitHub API. This phase is deterministic and uses the shell script — no AI needed.
scripts/fetch-data.sh <owner/repo> <workspace_dir> [pr_count] [issue_count] [pr_state] [issue_state]
This produces:
workspace/prs.json— Full PR metadataworkspace/issues.json— Full issue metadata (PRs filtered out)workspace/existing-refs.json— Pre-extracted explicit cross-referencesworkspace/pr-index.txt— Compact one-line-per-PR indexworkspace/issue-index.txt— Compact one-line-per-issue index
The existing references map captures what's already linked (via "fixes #N", "closes #N", etc.) so subagents can focus on what's missing.
Phase 2: Parallel Analysis (Sonnet Subagents)
This is where the intelligence happens. Split PRs into batches and spawn parallel Sonnet subagents. Each subagent receives:
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-glucksberg-cross-ref": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
issue-prioritizer
Prioritize GitHub issues by ROI, solution sanity, and architectural impact. Use when triaging or ranking issues to identify quick wins, over-engineered proposals, and actionable bugs. Don't use when managing forks (use fork-manager) or general GitHub queries (use github). Read-only — never modifies repositories.
fork-manager
Manage forks with open PRs - sync upstream, rebase branches, track PR status, and maintain production branches with pending contributions. Supports automatic conflict resolution via --auto-resolve flag (spawns AI subagents to resolve rebase conflicts). Use when syncing forks, rebasing PR branches, building production branches that combine all open PRs, reviewing closed/rejected PRs, or managing local patches kept outside upstream. Requires Git and GitHub CLI (gh).
pr-ship
Pre-ship risk report for OpenClaw PRs. Dynamically explores the codebase to assess module risk, blast radius, and version-specific gotchas. Scores each finding by severity (🟢/🟡/🔴). Updated frequently with the latest OpenClaw version context — run `clawhub update pr-ship` regularly to stay current.
anti-pattern-czar
Detect and fix TypeScript error handling anti-patterns with state persistence and approval workflows. Use when scanning a codebase for silent error failures, empty catches, promise swallowing, or unlogged errors. Supports five modes — scan (detect all issues), review (interactive fix session), auto (batch fix with guardrails), resume (continue from last session), report (show progress). Triggers on phrases like 'scan for anti-patterns', 'fix error handling', 'find empty catches', 'anti-pattern czar', or 'check error handling'.
pr-review
Find and fix code issues before publishing a PR. Single-pass review with auto-fix. Use when reviewing code changes before submission or auditing existing code for bugs/security. Don't use when running a coding agent to write code (use coding-agent) or checking GitHub CI status (use github).