/analyse
Analyze GitHub issues, Pull Requests (PRs), Discussions, and repo vitality for an Open Source Software (OSS) project. For any specific item, casts a wide net — finds and lists all related open and closed issues/PRs/discussions, explicitly flags duplicates. Summarizes long
Claude Code
$ npx -y skills add Borda/AI-Rig --skill analyse --agent claude-code
Codex
$ npx skills add Borda/AI-Rig --skill analyse -a codex -y
Cursor
$ npx skills add Borda/AI-Rig --skill analyse -a cursor -y
Gemini CLI
$ npx skills add Borda/AI-Rig --skill analyse -a gemini-cli -y
GitHub Copilot
$ npx skills add Borda/AI-Rig --skill analyse -a github-copilot -y
OpenCode
$ npx skills add Borda/AI-Rig --skill analyse -a opencode -y
Windsurf
$ npx skills add Borda/AI-Rig --skill analyse -a windsurf -y
SKILL.md
analyse.SKILL.mdname: analyse
description: |
Analyze GitHub issues, Pull Requests (PRs), Discussions, and repo vitality for an Open Source Software (OSS) project. For any specific item, casts a wide net — finds and lists all related open and closed issues/PRs/discussions, explicitly flags duplicates. Summarizes long threads, extracts reproduction steps, and generates repo vitality stats. Uses gh Command Line Interface (CLI) for GitHub Application Programming Interface (API) access. Complements oss:shepherd. NOT for PR readiness assessment or code review (use /oss:review).
TRIGGER when: user provides GitHub issue number (#N), PR number, or github.com URL with issue/PR/discussion path AND asks to analyze, summarize, understand, or triage it; user asks for repo vitality stats or "is this repo healthy"; user asks which release introduced the features later releases fixed, for a fix-lineage/fix-flow chart, or a feature/fix burn-up across releases (`evolution`).
SKIP: user already pasted full thread text inline; /oss:resolve already active on same PR; user wants code review (use /oss:review); user phrasing is "review PR" meaning code quality assessment, not thread triage (route to /oss:review).
argument-hint: <N|vitality [<owner>/<repo>|github-url]|ecosystem|evolution [<owner>/<repo>|url] [v1->v2]|path/to/report.md> [--reply] [--quick] [--full] [--break-lock] [--adjudicate] [--bug-labels "<a,b>"] [--tag-prefix "<p>"] [--keep "<items>"]
allowed-tools: Read, Bash, Write, Edit, Agent, Skill, AskUserQuestion, TaskList, TaskCreate, TaskUpdate
effort: high
<objective>
Analyze GitHub threads + repo vitality. Help maintainers triage, respond, decide fast. Output actionable + structured — not just summaries.
NOT for implementing PR action items (use /oss:resolve). NOT for **code-quality assessment on a PR** — phrasing like "review PR #N" or "does this PR look good?" routes here via TRIGGER (PR number + "analyze/summarize" verbs) but yields thread analysis, not code review. When request is code quality, route to `/oss:review` instead. NOT for multi-agent code review (use /oss:review). NOT for CI pipeline diagnosis (use oss:cicd-steward).
</objective>
<inputs>
- **$ARGUMENTS**: one of:
- `N` (number, plain `123` or `#123`) — any GitHub thread: issue, PR, or discussion; auto-detects type
- `vitality [<owner>/<repo> | <github-url>]` — repo vitality overview with 9-axis health scorecard, duplicate detection. Optional repo argument accepts `owner/repo` shorthand or full `https://github.com/owner/repo` URL. Omitted → auto-detected from git upstream. Non-GitHub remotes (GitLab, Bitbucket, etc.) stop with warning.
- `ecosystem` — downstream consumer impact analysis for library maintainers
- `evolution [<owner>/<repo> | <url>] [v1->v2]` — release evolution: feature × fix association matrix (which features each fix repairs), fix-lineage flow coloured by origin age, feature/fix burn-up with approximate open bugs. Durable store under `.evolution/<host>/<owner>/<repo>/`: reruns resume, extend and rescore; user corrections in its `overrides.csv`. Flags (evolution only, ignored elsewhere): `--full` rebuild the store (keeps clone, overrides, saved LLM verdicts) · `--break-lock` remove a lock the run cannot prove stale, after confirmation · `--adjudicate` LLM step for ambiguous rows (off by default until hand-labelled evaluation via `evolution_eval.py` passes) · `--bug-labels "<a,b>"` replace the default bug label set · `--tag-prefix "<p>"` scan one package of a monorepo whose tags carry that prefix (`pkg-v1.2.0` → `pkg-v`), with its own store and report
- `--reply` — only valid with `N` or a direct report path; spawns shepherd to draft contributor-facing reply after thread analysis. Silently ignored for other modes.
- `--quick` — only meaningful with `vitality`; fast daily-scorecard path skipping Codex independent review (Step 5) and mandatory adversarial rework loop (Step 6), reduces spawns to core 4 (gh-scraper + 3 axis scorers). Full mode (all quality passes) stays default. Silently ignored for `N`, `ecosystem`, report-path modes.
- `path/to/report.md` — path to existing report file; only valid combined with `--reply`; skips all analysis, spawns shepherd directly using provided file
</inputs>
<constants>
> Agent health monitoring (CLAUDE.md §6) — applies to every spawn (shepherd, reproduction agent, gh-scraper, repo-warden, adversarial reviewers). Spawns are background; end the turn after each and resume on the completion notification. The constant is a per-agent deadline checked at wake-ups by `agent_watch.py` — not a poll cadence, nothing sleeps.
AGENT_DEADLINE_S=1800 # per spawned agent, from its spawn; covers the former 900 s silence cutoff + 300 s extension with margin
</constants>
<compaction>
> loads: compaction-contract.md
- Key boundary: end of Step 5 — gather/fetch complete, before Step 6 synthesis gate.
- Preserve: cache-dir (.cache/gh), target # (CLEAN_ARGS), synthesized report path, reply-mode flag.
</compaction>
<workflow>
<!-- Agent resolution: see _OSS_SHARED/agent-resolution.md -->
<!-- ../../assets/images/analyse-arch.svg diagrams the runs, gates and parallel fan-out. Documentation only, never loaded — update it in the same commit as any change to step order, gate placement, or agent fan-out. -->
Agent Resolution
Resolved in Step 1's setup block — the `--reply` hard-fail branch needs `REPLY_MODE` parsed first.
> loads: oss-shared-resolver.md
Step 1: Flag parsing
PLUGIN_ROOT=$(python "${CLAUDE_PLUGIN_ROOT}/bin/resolve_plugin_root.py" --plugin-name oss) || exit $?; export PLUGIN_ROOT
export CSID="${CLAUDE_CODE_SESSION_ID:-$PPID}"
# flags: --reply, --quick (vitality fast-path: skips codex review + adversarial rework; ignored for N/ecosystem), --keep; evolution-only: --full, --break-lock, --adjudicate, --bug-labels, --tag-prefix (modes/evolution.md reads their sentinels)
# shared flag/--keep parser (C5; also resolve/review SKILL.md); --keep-Read more
name: analyse description: | Analyze GitHub issues, Pull Requests (PRs), Discussions, and repo vitality for an Open Source Software (OSS) project. For any specific item, casts a wide net — finds and lists all related open and closed issues/PRs/discussions, explicitly flags duplicates. Summarizes long threads, extracts reproduction steps, and generates repo vitality stats. Uses gh Command Line Interface (CLI) for GitHub Application Programming Interface (API) access. Complements oss:shepherd. NOT for PR readiness assessment or code review (use /oss:review). TRIGGER when: user provides GitHub issue number (#N), PR number, or github.com URL with issue/PR/discussion path AND asks to analyze, summarize, understand, or triage it; user asks for repo vitality stats or "is this repo healthy"; user asks which release introduced the features later releases fixed, for a fix-lineage/fix-flow chart, or a feature/fix burn-up across releases (`evolution`). SKIP: user already pasted full thread text inline; /oss:resolve already active on same PR; user wants code review (use /oss:review); user phrasing is "review PR" meaning code quality assessment, not thread triage (route to /oss:review). argument-hint: <N|vitality [<owner>/<repo>|github-url]|ecosystem|evolution [<owner>/<repo>|url] [v1->v2]|path/to/report.md> [--reply] [--quick] [--full] [--break-lock] [--adjudicate] [--bug-labels "<a,b>"] [--tag-prefix "<p>"] [--keep "<items>"] allowed-tools: Read, Bash, Write, Edit, Agent, Skill, AskUserQuestion, TaskList, TaskCreate, TaskUpdate effort: high
<objective>
Analyze GitHub threads + repo vitality. Help maintainers triage, respond, decide fast. Output actionable + structured — not just summaries.
NOT for implementing PR action items (use /oss:resolve). NOT for **code-quality assessment on a PR** — phrasing like "review PR #N" or "does this PR look good?" routes here via TRIGGER (PR number + "analyze/summarize" verbs) but yields thread analysis, not code review. When request is code quality, route to `/oss:review` instead. NOT for multi-agent code review (use /oss:review). NOT for CI pipeline diagnosis (use oss:cicd-steward).
</objective>
<inputs>
- **$ARGUMENTS**: one of:
- `N` (number, plain `123` or `#123`) — any GitHub thread: issue, PR, or discussion; auto-detects type
- `vitality [<owner>/<repo> | <github-url>]` — repo vitality overview with 9-axis health scorecard, duplicate detection. Optional repo argument accepts `owner/repo` shorthand or full `https://github.com/owner/repo` URL. Omitted → auto-detected from git upstream. Non-GitHub remotes (GitLab, Bitbucket, etc.) stop with warning.
- `ecosystem` — downstream consumer impact analysis for library maintainers
- `evolution [<owner>/<repo> | <url>] [v1->v2]` — release evolution: feature × fix association matrix (which features each fix repairs), fix-lineage flow coloured by origin age, feature/fix burn-up with approximate open bugs. Durable store under `.evolution/<host>/<owner>/<repo>/`: reruns resume, extend and rescore; user corrections in its `overrides.csv`. Flags (evolution only, ignored elsewhere): `--full` rebuild the store (keeps clone, overrides, saved LLM verdicts) · `--break-lock` remove a lock the run cannot prove stale, after confirmation · `--adjudicate` LLM step for ambiguous rows (off by default until hand-labelled evaluation via `evolution_eval.py` passes) · `--bug-labels "<a,b>"` replace the default bug label set · `--tag-prefix "<p>"` scan one package of a monorepo whose tags carry that prefix (`pkg-v1.2.0` → `pkg-v`), with its own store and report
- `--reply` — only valid with `N` or a direct report path; spawns shepherd to draft contributor-facing reply after thread analysis. Silently ignored for other modes.
- `--quick` — only meaningful with `vitality`; fast daily-scorecard path skipping Codex independent review (Step 5) and mandatory adversarial rework loop (Step 6), reduces spawns to core 4 (gh-scraper + 3 axis scorers). Full mode (all quality passes) stays default. Silently ignored for `N`, `ecosystem`, report-path modes.
- `path/to/report.md` — path to existing report file; only valid combined with `--reply`; skips all analysis, spawns shepherd directly using provided file
</inputs>
<constants>
> Agent health monitoring (CLAUDE.md §6) — applies to every spawn (shepherd, reproduction agent, gh-scraper, repo-warden, adversarial reviewers). Spawns are background; end the turn after each and resume on the completion notification. The constant is a per-agent deadline checked at wake-ups by `agent_watch.py` — not a poll cadence, nothing sleeps.
AGENT_DEADLINE_S=1800 # per spawned agent, from its spawn; covers the former 900 s silence cutoff + 300 s extension with margin
</constants>
<compaction>
> loads: compaction-contract.md
- Key boundary: end of Step 5 — gather/fetch complete, before Step 6 synthesis gate.
- Preserve: cache-dir (.cache/gh), target # (CLEAN_ARGS), synthesized report path, reply-mode flag.
</compaction>
<workflow>
<!-- Agent resolution: see _OSS_SHARED/agent-resolution.md -->
<!-- ../../assets/images/analyse-arch.svg diagrams the runs, gates and parallel fan-out. Documentation only, never loaded — update it in the same commit as any change to step order, gate placement, or agent fan-out. -->
Agent Resolution
Resolved in Step 1's setup block — the `--reply` hard-fail branch needs `REPLY_MODE` parsed first.
> loads: oss-shared-resolver.md
Step 1: Flag parsing
PLUGIN_ROOT=$(python "${CLAUDE_PLUGIN_ROOT}/bin/resolve_plugin_root.py" --plugin-name oss) || exit $?; export PLUGIN_ROOT
export CSID="${CLAUDE_CODE_SESSION_ID:-$PPID}"
# flags: --reply, --quick (vitality fast-path: skips codex review + adversarial rework; ignored for N/ecosystem), --keep; evolution-only: --full, --break-lock, --adjudicate, --bug-labels, --tag-prefix (modes/evolution.md reads their sentinels)
# shared flag/--keep parser (C5; also resolve/review SKILL.md); --keep-Practical agent workflows for Python, ML, and open-source maintenance. AI-Rig turns recurring work—scoping a change, reproducing a bug, reviewing a pull request, running an experiment, or checking release readiness—into explicit workflows with specialist
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about analyse.
- Which coding agents can use analyse?
- analyse installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

