agent-device-lab
Prepare and check trusted macOS hosts for physical Android and iPhone tests with agent-device, ADB, and Xcode, or set up iPhone…
Use when inspecting a ghcrawl SQLite store, pulling GitHub issue/PR data, refreshing summaries, embeddings, and clusters, or extracting one cluster and its evidence through the ghcrawl CLI.
$ npx -y skills add vincentkoc/dotskills --skill ghcrawl-cluster-operator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ghcrawl-cluster-operatorContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when inspecting a ghcrawl SQLite store, pulling GitHub issue/PR data, refreshing summaries, embeddings, and clusters, or extracting one cluster and its evidence through the ghcrawl CLI.
name: ghcrawl-cluster-operator description: "Use when inspecting a ghcrawl SQLite store, pulling GitHub issue/PR data, refreshing summaries, embeddings, and clusters, or extracting one cluster and its evidence through the ghcrawl CLI." license: MIT metadata: source: "https://github.com/vincentkoc/dotskills"
Operate ghcrawl as a local-first GitHub issue and pull request crawler: inspect the SQLite store, pull GitHub data, refresh summaries and embeddings, build clusters, and extract cluster evidence through deterministic CLI commands.
The default stance is conservative and cost-aware. Inspect first, then run mutating or API-spend commands only when the operator asked for fresh data or enrichment.
1. Start with read-only checks: `doctor`, `configure`, `runs`, `clusters`, `cluster-explain`, and `threads`. 2. Confirm the target repo as `owner/repo` and prefer `--json` for agent-readable output. 3. Use `sync` or `refresh` only when fresh GitHub data is needed. 4. Use `--include-code` only when file overlap matters; it hydrates PR file metadata and can increase DB size. 5. Run structured key summaries before embedding when LLM summaries should influence vectors. 6. Run `embed`, then `cluster`, after summary or configuration changes. 7. Pull one cluster with `cluster-explain` before making durable maintainer edits. 8. After durable edits, rerun `cluster` and explain the affected cluster to verify the decision stuck.
ghcrawl doctor --json ghcrawl configure --json ghcrawl runs owner/repo --limit 10 --json
If the local store is empty or stale, pull current open GitHub data:
ghcrawl sync owner/repo --limit 200 --json ghcrawl sync owner/repo --include-code --limit 200 --json
For a normal end-to-end update:
ghcrawl refresh owner/repo --json
Use code hydration when file evidence should affect clustering:
ghcrawl refresh owner/repo --include-code --json
Default clustering can run without LLM summaries. LLM summaries and embeddings enrich the cluster graph.
Useful configurations:
ghcrawl configure --summary-model gpt-5.4 --embedding-basis title_original --json ghcrawl configure --summary-model gpt-5.4 --embedding-basis llm_key_summary --json
For structured key summaries:
ghcrawl key-summaries owner/repo --limit 200 --json ghcrawl key-summaries owner/repo --number 12345 --json
Then refresh vectors and clusters:
ghcrawl embed owner/repo --json ghcrawl cluster owner/repo --json
List clusters:
ghcrawl clusters owner/repo --min-size 2 --limit 20 --sort size --json ghcrawl clusters owner/repo --search "cron timeout" --limit 10 --json
Explain one durable cluster:
ghcrawl cluster-explain owner/repo --id 123 --member-limit 50 --event-limit 50 --json
Inspect current durable clusters with members:
ghcrawl durable-clusters owner/repo --member-limit 25 --json ghcrawl durable-clusters owner/repo --include-inactive --member-limit 25 --json
Pull specific issues/PRs from the local store:
ghcrawl threads owner/repo --numbers 123,456,789 --json
Open the TUI:
ghcrawl tui owner/repo
Use these only when the operator asks for durable cluster edits:
ghcrawl exclude-cluster-member owner/repo --id 123 --number 456 --reason "not same root cause" --json ghcrawl include-cluster-member owner/repo --id 123 --number 456 --reason "same root cause" --json ghcrawl set-cluster-canonical owner/repo --id 123 --number 456 --reason "clearest report" --json ghcrawl merge-clusters owner/repo --source 123 --target 456 --reason "same issue family" --json
After edits, re-run:
ghcrawl cluster owner/repo --json ghcrawl cluster-explain owner/repo --id 123 --member-limit 50 --event-limit 50 --json
We are moving from "prompt as text" to skill as runtime module. Each skill acts like a lightweight, containerized application for AI work: a stable interface, opinionated workflow, and bundled resources that can be installed, versioned, tested, and reused
Prepare and check trusted macOS hosts for physical Android and iPhone tests with agent-device, ADB, and Xcode, or set up iPhone…
Resolve canonical Git checkouts, index and verify codebase-memory-mcp graphs through the guarded CLI, open its browser viewer on…
Mine structured Codex /goal history locally or across a configured machine fleet, measure active goal time and resumed thread…
Recover Codex or Claude sessions from tmux panes, saved cockpit snapshots, session history, and recent agent logs without…
Interpret Crabpot and OpenClaw performance dashboard metrics, import-loop profiles, runtime profiles, and branch-to-branch perf…
Maintain and release the crawlkit Go library, preserving downstream compatibility for gitcrawl, slacrawl, discrawl, and notcrawl.