Gitcrawl
Use this skill before live GitHub search when triaging OpenClaw issues or PRs.
gitcrawl is the local candidate-discovery layer. It is fast, includes open and closed threads, and can surface duplicate attempts, related issues, and already-landed fixes. It is not the final source of truth for comments, labels, merges, closes, or current CI.
Default Flow
- Check local state:
gitcrawl doctor --json
- Read the target from the local archive:
gitcrawl threads openclaw/openclaw --numbers <issue-or-pr-number> --include-closed --json
- Find related candidates:
gitcrawl neighbors openclaw/openclaw --number <issue-or-pr-number> --limit 12 --json
gitcrawl search openclaw/openclaw --query "<scope or title keywords>" --mode hybrid --limit 20 --json
- Inspect relevant clusters:
gitcrawl cluster-detail openclaw/openclaw --id <cluster-id> --member-limit 20 --body-chars 280 --json
- Verify anything actionable with live GitHub and the checkout:
gh pr view <number> --json number,title,state,mergedAt,body,files,comments,reviews,statusCheckRollup
gh issue view <number> --json number,title,state,body,comments,closedAt
Freshness Rules
- Treat
gitcrawl as stale if doctor shows no target thread, an old last_sync_at, missing embeddings for neighbor/search commands, or a clearly wrong open/closed state.
- If stale data blocks the decision, refresh the portable store first:
gitcrawl init --portable-store git@github.com:openclaw/gitcrawl-store.git --json
- Run expensive update commands such as
gitcrawl sync --include-comments only when the user asked to update the local store or stale data is blocking the decision.
- The sync default is all GitHub thread states; pass
--state open, --state closed, or --state all only when a task requires a narrower or explicit scope.
Boundaries
- Use
gitcrawl for candidates, clusters, and historical context.
- Use
gh, gh api, and the current checkout for live state before commenting, labeling, closing, reopening, merging, or filing a PR review.
- Do not close or label based only on
gitcrawl similarity. Require matching problem intent plus live verification.
- If
gitcrawl is unavailable, say so and fall back to targeted gh search rather than blocking normal maintainer work.
1---2name: gitcrawl3description: Use gitcrawl for OpenClaw issue and PR archive search, duplicate discovery, related-thread clustering, and local GitHub mirror freshness checks.4---56# Gitcrawl78Use this skill before live GitHub search when triaging OpenClaw issues or PRs.910`gitcrawl` is the local candidate-discovery layer. It is fast, includes open and closed threads, and can surface duplicate attempts, related issues, and already-landed fixes. It is not the final source of truth for comments, labels, merges, closes, or current CI.1112## Default Flow13141. Check local state:1516```bash17gitcrawl doctor --json18```19202. Read the target from the local archive:2122```bash23gitcrawl threads openclaw/openclaw --numbers <issue-or-pr-number> --include-closed --json24```25263. Find related candidates:2728```bash29gitcrawl neighbors openclaw/openclaw --number <issue-or-pr-number> --limit 12 --json30gitcrawl search openclaw/openclaw --query "<scope or title keywords>" --mode hybrid --limit 20 --json31```32334. Inspect relevant clusters:3435```bash36gitcrawl cluster-detail openclaw/openclaw --id <cluster-id> --member-limit 20 --body-chars 280 --json37```38395. Verify anything actionable with live GitHub and the checkout:4041```bash42gh pr view <number> --json number,title,state,mergedAt,body,files,comments,reviews,statusCheckRollup43gh issue view <number> --json number,title,state,body,comments,closedAt44```4546## Freshness Rules4748- Treat `gitcrawl` as stale if `doctor` shows no target thread, an old `last_sync_at`, missing embeddings for neighbor/search commands, or a clearly wrong open/closed state.49- If stale data blocks the decision, refresh the portable store first:5051```bash52gitcrawl init --portable-store git@github.com:openclaw/gitcrawl-store.git --json53```5455- Run expensive update commands such as `gitcrawl sync --include-comments` only when the user asked to update the local store or stale data is blocking the decision.56- The sync default is all GitHub thread states; pass `--state open`, `--state closed`, or `--state all` only when a task requires a narrower or explicit scope.5758## Boundaries5960- Use `gitcrawl` for candidates, clusters, and historical context.61- Use `gh`, `gh api`, and the current checkout for live state before commenting, labeling, closing, reopening, merging, or filing a PR review.62- Do not close or label based only on `gitcrawl` similarity. Require matching problem intent plus live verification.63- If `gitcrawl` is unavailable, say so and fall back to targeted `gh search` rather than blocking normal maintainer work.