issue-graph

issue-graph is a skill for Claude Code from ArcBlock/agent-skills. It costs 53 tokens per session (2,194 once invoked), scanned A, original, MIT.

A calculation-based graph of GitHub issues, using sub-issues and dependency links to show which work is ready, which parent issues may be complete, and which issues become unblocked after a closure.

In plain words
What is it for?
Finding ready issues, identifying parent issues ready to roll up or close, tracking what a closed issue unlocks, and coordinating parallel agents without duplicate terminal actions.
Why use it?
It replaces guesses about work order with results calculated from the relationships stored in GitHub.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions CLAUDE.md.

Part of the agentloop plugin — 19 skills shipped together

Good fit Finding ready issues, identifying parent issues ready to roll up or close, tracking what a closed issue unlocks, and coordinating parallel agents without duplicate terminal actions.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/arcblock/agent-skills/issue-graph
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add ArcBlock/agent-skills --skill issue-graph
Clone the repo
git clone --depth 1 https://github.com/ArcBlock/agent-skills

Made for: Claude Code.

Or install agentloop, the plugin that ships this one along with the rest of its 19 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for issue-graph

README.md
[![agentmods](https://agentmods.dev/badge/skills/arcblock/agent-skills/issue-graph/github.svg)](https://agentmods.dev/skills/arcblock/agent-skills/issue-graph)
Your own site
<a href="https://agentmods.dev/skills/arcblock/agent-skills/issue-graph"><img src="https://agentmods.dev/badge/skills/arcblock/agent-skills/issue-graph/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for issue-graph

Your own site · 80×15
<a href="https://agentmods.dev/skills/arcblock/agent-skills/issue-graph"><img src="https://agentmods.dev/badge/skills/arcblock/agent-skills/issue-graph.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 53 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,194 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00053 $0.02194
Opus 5.5 $0.00021 $0.00878
Sonnet 5.5 $0.00011 $0.00439
Haiku 4.5 $0.00005 $0.00219

Measured 9d ago against content hash e1b6610409af, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

issue-graph scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

The scan reads SKILL.md. This mod also ships 7 executable files (scripts/backfill.ts, scripts/claim.ts, scripts/graph-scan.ts, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/agentloop/skills/issue-graph/SKILL.md · 136 lines

How it starts

The opening of the file, as written. The whole thing — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Issue Graph — 确定性 issue 关系图(原生边 + 图计算 + 并发原语)

Repo profile — read .claude/repo-profile.md first. This skill is repo-agnostic; arc is the reference implementation. It resolves the repo from the git remote (repo_slug); its runtime scripts are referenced as <plugin_root>/skills/issue-graph/scripts/*.ts (the profile's plugin_root — so they resolve wherever the plugin is checked out). Arc's own issue-number provenance for any lessons is not inlined here.

「选择和传播都是纯计算,LLM 只负责做,不负责猜该做谁。」

GitHub 原生图(sub-issues + issue dependencies)是关系数据的唯一真相;本 skill 提供四个确定性脚本,把「哪些 issue 现在能做 / 哪些父 issue 该收尾 / 哪些 issue 被某次关闭解锁」从模型猜测变成每轮现算的图计算。图不落盘——唯一持久状态是 GitHub 本身,所以永远没有索引漂移。

设计来源、Phase 0 演练证据(149 条边、17 个 rollup 候选、fencing 实测)、并发 设计全文见 arc case-law 附录(repo-profile Case Law)。

脚本(scripts/,全部 REST-only + 手动分页)

为什么 REST-only:cloud routine 的出站代理挡 gh 的 GraphQL(403 "not enabled"),--paginate 对 issues 端点也有代理 bug(根 CLAUDE.md「按需安装 CLI 依赖」节)。所有脚本手动 page=N 循环,在本地与 cloud routine 行为一致。

graph-scan.ts — 图计算(只读,sweep 每轮调)

bun <plugin_root>/skills/issue-graph/scripts/graph-scan.ts [--window-hours 2] [--pretty]

输出 JSON:

字段 语义 消费方怎么用
ready open ∧ 无 open blocker;顺序已按 hostname 旋转(多机错峰) 并入 sweep 候选集;hasHold=true 的按 hold 语义处理
blocked 有 open blocker 的 issue + blocker 列表 确定性 SKIP(带原因),不再靠模型猜「轮没轮到」
rollupCandidates open ∧ 有孩子 ∧ 全部孩子已关 走 issue-review 的父级 rollup(fencing 互斥)
kicks 近窗口关闭的 issue 反查出的 open parent / 被解锁 dependent 无需人类 comment 直接注入候选集——这就是修「子 issue 完成后要人 bump」的机制

窗口默认 2h > sweep 间隔 1h:同一关闭事件被两轮看见没关系,kick 只是注入候选, 后续统一走 terminal-comment 去重 + 锁 + 认领检查,重复注入零成本。

link.ts — 写边(幂等,开派生 issue 时必调)

bun <plugin_root>/skills/issue-graph/scripts/link.ts --parent <N> --child <M>      # 父子边
bun <plugin_root>/skills/issue-graph/scripts/link.ts --issue <Y> --depends-on <X>  # 依赖边

写边纪律(图精确性的来源):agent 每开一个 spin-off / 派生 issue,除了 body 里的 <!-- spinoff-of: #N --> 标记(留作 provenance),必须同时调 link.ts 挂原生父子边;phase 之间有硬次序的加 --depends-on。边已存在 = 幂等 OK;child 已有不同 parent = 报错停下(换 parent 是人类决定)。人手开的 issue 不带边也 没关系——孤立点走现有 label/catch-all 通道,图只增强、不替代。

Read the full file on GitHub · 136 lines

Files

What ships with it

7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago Changed e1b6610409af
  2. 20d ago Changed · +3 lines · -42 tokens per session f5fd742b4287
  3. 1mo ago First seen · 133 lines · 95 tokens per session scan A 64312f446abf

Subscribe to this mod's changes

issue-graph is a skill published in the GitHub repository ArcBlock/agent-skills (5 stars, last pushed 9d ago), licensed MIT. It adds 53 tokens to every session and 2,194 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

mcore-split-pr

Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.

NVIDIA/skills · 25 tokens

shiplog

Recap of everything shipped since the last run - cross-repo PRs, security fixes, star deltas, and X traction, synthesized into a digest article and a ready-to-post shiplog in your voice.

aeonfun/aeon · 46 tokens

connect

Choose which wiki this session uses, the team project's pages on the Nimbalyst server or the project's local wiki of files, and connect a repository to its team project. Use at the start of a task before any wiki tool, when a wiki tool returns reponotbound, ambiguousproject, pinmismatch, projectnotaccessible…

nimbalyst/nimbalyst · 101 tokens

llxprt-issue-workflow

Use this skill when asked to address, fix, or work on a GitHub issue in the llxprt-code repository. Covers the complete issue lifecycle - branch setup, gh CLI usage, test-first planning, subagent delegation and review loops, the full verification cycle (including the zai-glm-flash smoke test), open code review (ocr)…

vybestack/llxprt-code · 88 tokens

cuga-github-issues

Create GitHub issues for cuga-agent (bugs, features, epics, designs, and related work) against origin using gh, with epic → feature → issue hierarchy and GraphQL sub-issue linking. Use when the user says create new issues, report a bug, file a bug, feature request, new feature, create an epic, GitHub issue, sub-issue…

cuga-project/cuga-agent · 88 tokens

implement-issue

Implement a Linear brief in a named GitHub repo. Use when the brief skill is implement-issue or the user wants a new branch and draft PR.

CopilotKit/OpenTag · 35 tokens