|
1 | 1 | --- |
2 | 2 | name: gitcrawl |
3 | | -description: Use gitcrawl for OpenClaw issue and PR archive search, duplicate discovery, related-thread clustering, and local GitHub mirror freshness checks. |
| 3 | +description: "GitHub archive: issue/PR search, sync freshness, duplicate clusters, gh-shim PR status, and Gitcrawl repo work." |
4 | 4 | metadata: |
5 | 5 | openclaw: |
| 6 | + homepage: https://github.com/openclaw/gitcrawl |
6 | 7 | requires: |
7 | 8 | bins: |
8 | 9 | - gitcrawl |
| 10 | + install: |
| 11 | + - kind: go |
| 12 | + module: github.com/openclaw/gitcrawl/cmd/gitcrawl@latest |
| 13 | + bins: |
| 14 | + - gitcrawl |
9 | 15 | --- |
10 | 16 |
|
11 | 17 | # Gitcrawl |
12 | 18 |
|
13 | | -Use this skill before live GitHub search when triaging OpenClaw issues or PRs. |
14 | | - |
15 | | -`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. |
16 | | - |
17 | | -## Default Flow |
18 | | - |
19 | | -1. Check local state: |
| 19 | +Use local GitHub issue/PR archives before live GitHub search. Check freshness first: |
20 | 20 |
|
21 | 21 | ```bash |
22 | 22 | gitcrawl doctor --json |
23 | 23 | ``` |
24 | 24 |
|
25 | | -2. Read the target from the local archive: |
| 25 | +Find candidates: |
26 | 26 |
|
27 | 27 | ```bash |
28 | 28 | gitcrawl threads openclaw/openclaw --numbers <issue-or-pr-number> --include-closed --json |
29 | | -``` |
30 | | - |
31 | | -3. Find related candidates: |
32 | | - |
33 | | -```bash |
34 | 29 | gitcrawl neighbors openclaw/openclaw --number <issue-or-pr-number> --limit 12 --json |
35 | | -gitcrawl search openclaw/openclaw --query "<scope or title keywords>" --mode hybrid --limit 20 --json |
| 30 | +gitcrawl search issues "query" -R openclaw/openclaw --state open --json number,title,url |
| 31 | +gitcrawl clusters openclaw/openclaw --sort size --min-size 5 |
| 32 | +gitcrawl cluster-detail openclaw/openclaw --id <cluster-id> |
36 | 33 | ``` |
37 | 34 |
|
38 | | -4. Inspect relevant clusters: |
| 35 | +For PR triage, start cached and go live only before mutation/merge decisions: |
39 | 36 |
|
40 | 37 | ```bash |
41 | | -gitcrawl cluster-detail openclaw/openclaw --id <cluster-id> --member-limit 20 --body-chars 280 --json |
| 38 | +gitcrawl gh pr status <number-or-url> -R openclaw/openclaw --compact |
| 39 | +gitcrawl gh pr view <number-or-url> -R openclaw/openclaw --json number,title,state,url,isDraft,headRef,headSha |
| 40 | +gitcrawl gh --live pr status <number-or-url> -R openclaw/openclaw --compact |
42 | 41 | ``` |
43 | 42 |
|
44 | | -5. Verify anything actionable with live GitHub and the checkout: |
| 43 | +Use live `gh` plus checkout proof before commenting, labeling, closing, reopening, merging, or filing a PR review: |
45 | 44 |
|
46 | 45 | ```bash |
47 | 46 | gh pr view <number> --json number,title,state,mergedAt,body,files,comments,reviews,statusCheckRollup |
48 | 47 | gh issue view <number> --json number,title,state,body,comments,closedAt |
49 | 48 | ``` |
50 | 49 |
|
51 | | -## Freshness Rules |
52 | | - |
53 | | -- 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. |
54 | | -- If stale data blocks the decision, refresh the portable store first: |
55 | | - |
56 | | -```bash |
57 | | -gitcrawl init --portable-store git@github.com:openclaw/gitcrawl-store.git --json |
58 | | -``` |
59 | | - |
60 | | -- 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. |
61 | | -- 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. |
62 | | - |
63 | | -## Boundaries |
64 | | - |
65 | | -- Use `gitcrawl` for candidates, clusters, and historical context. |
66 | | -- Use `gh`, `gh api`, and the current checkout for live state before commenting, labeling, closing, reopening, merging, or filing a PR review. |
67 | | -- Do not close or label based only on `gitcrawl` similarity. Require matching problem intent plus live verification. |
68 | | -- If `gitcrawl` is unavailable, say so and fall back to targeted `gh search` rather than blocking normal maintainer work. |
| 50 | +Report absolute dates, repo names, issue/PR numbers, cluster ids, and source gaps. Do not close/label from similarity alone; require matching intent plus live verification. |
0 commit comments