agent/claude/code/skills/github-history/SKILL.md
Snider 9942ab8081 refactor: restructure as plugin monorepo
Reorganise as a marketplace with multiple focused plugins:
- claude/code: Core development (hooks, scripts, data collection)
- claude/review: Code review automation
- claude/verify: Work verification
- claude/qa: Quality assurance loops
- claude/ci: CI/CD integration

Structure:
- .claude-plugin/marketplace.json lists all plugins
- Each plugin has its own .claude-plugin/plugin.json
- Commands namespaced: /code:*, /review:*, /qa:*, etc.

Install individual plugins or all via marketplace:
  claude plugin add host-uk/core-agent
  claude plugin add host-uk/core-agent/claude/code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 19:44:26 +00:00

4 KiB

GitHub History Collection Skill

Collect and score GitHub issues and PRs for triage analysis.

Usage

# Single repo
./collect.sh https://github.com/LetheanNetwork/lthn-app-vpn

# Entire org (all repos)
./collect.sh https://github.com/LetheanNetwork --org

# Just issues (skip PRs)
./collect.sh https://github.com/LetheanNetwork/lthn-app-vpn --issues-only

# Just PRs (skip issues)
./collect.sh https://github.com/LetheanNetwork/lthn-app-vpn --prs-only

# Custom rate limit delay
./collect.sh https://github.com/LetheanNetwork --org --delay=0.5

Output Structure

repo/
├── {org}/
│   └── {repo}/
│       ├── Issue/
│       │   ├── 001.md        # Sequential, no gaps
│       │   ├── 002.md
│       │   ├── 003.md
│       │   └── INDEX.md      # Scored index
│       ├── PR/
│       │   ├── 001.md
│       │   ├── 002.md
│       │   └── INDEX.md
│       └── .json/            # Raw API responses
│           ├── issues-list.json
│           ├── issue-{n}.json
│           ├── prs-list.json
│           └── pr-{n}.json

Sequential vs GitHub Numbers

  • Filename: 001.md, 002.md, etc. - sequential, no gaps
  • Inside file: # Issue #47: ... - preserves original GitHub number
  • INDEX.md: Maps both: | 001 | #47 | Title | SCORE |

This ensures clean sequential browsing while maintaining traceability to GitHub.

Reception Scores

Score Meaning Triage Action
ADDRESSED Closed after discussion Review if actually fixed
DISMISSED Labeled wontfix/invalid RECLAIM candidate
IGNORED Closed, no response RECLAIM candidate
STALE Open, no replies Needs attention
ACTIVE Open with discussion In progress
MERGED PR accepted Done
REJECTED PR closed unmerged Review why
PENDING PR still open Needs review

Requirements

  • gh CLI authenticated (gh auth login)
  • jq installed

Batch Collection

Supports comma-separated targets for batch runs:

# Batch orgs
./collect.sh "LetheanNetwork,graft-project,oxen-io" --org

# Batch repos
./collect.sh "LetheanNetwork/lthn-app-vpn,monero-project/monero"

Full Registry List

Copy-paste ready commands for the complete CryptoNote ecosystem:

# === LETHEAN ECOSYSTEM ===
./collect.sh "LetheanNetwork,letheanVPN,LetheanMovement" --org

# === CRYPTONOTE ACTIVE ===
./collect.sh "monero-project,hyle-team,zanoio,kevacoin-project,scala-network" --org
./collect.sh "Karbovanets,wownero,ConcealNetwork,ryo-currency" --org

# === SALVAGE PRIORITY (dead/abandoned) ===
./collect.sh "haven-protocol-org,graft-project,graft-community" --org
./collect.sh "oxen-io,loki-project" --org
./collect.sh "turtlecoin,masari-project,aeonix,nerva-project,sumoprojects" --org
./collect.sh "deroproject,bcndev,electroneum" --org

# === NON-CN REFERENCE ===
./collect.sh "theQRL,hyperswarm,holepunchto,openhive-network,octa-space" --org

One-liner for everything

./collect.sh "LetheanNetwork,letheanVPN,LetheanMovement,monero-project,haven-protocol-org,hyle-team,zanoio,kevacoin-project,scala-network,deroproject,Karbovanets,wownero,turtlecoin,masari-project,aeonix,oxen-io,loki-project,graft-project,graft-community,nerva-project,ConcealNetwork,ryo-currency,sumoprojects,bcndev,electroneum,theQRL,hyperswarm,holepunchto,openhive-network,octa-space" --org

Example Run

$ ./collect.sh "LetheanNetwork,graft-project" --org

=== Collecting all repos from org: LetheanNetwork ===
=== Collecting: LetheanNetwork/lthn-app-vpn ===
    Output: ./repo/LetheanNetwork/lthn-app-vpn/
Fetching issues...
  Found 145 issues
  Fetching issue #1 -> 001.md
  ...
  Created Issue/INDEX.md
Fetching PRs...
  Found 98 PRs
  ...
  Created PR/INDEX.md

=== Collecting all repos from org: graft-project ===
=== Collecting: graft-project/graft-network ===
    Output: ./repo/graft-project/graft-network/
...

=== Collection Complete ===
Output: ./repo/