cjavdev/mods/tree/main/link-bar

最近言及した claude.ai の成果物と GitHub の pull request をワンクリックで開けるようにする Claude Code mod です。
cjavdev/mods/tree/main/link-bar

link-bar はプロンプトの下にリンク行を追加し、会話で最近言及された claude.ai の成果物 3 件と GitHub の pull request 5 件を表示します。リンクは OSC 8 ハイパーリンクとして描画され、iTerm2、Ghostty、kitty、WezTerm、VS Code では cmd/ctrl-click で開けます。単一の hooks モジュールで session.append を使ってリンクを追跡し、PromptHint 上で ui.render を使って行を描画します。/config から enabled、artifacts、pullRequests の件数を設定できます。Claude Code 2.1.287 以降が必要です。リポジトリを clone して --plugin-dir で実行するか、パスを CLAUDE_CODE_PLUGIN_DIRS に追加してインストールします。
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add cjavdev/mods claude plugin install link-bar
A Claude Code mod that keeps the artifacts and pull requests you've been talking about one click away. It adds a row of links under the prompt: the 3 claude.ai artifacts and the 5 GitHub pull requests mentioned most recently in the conversation.

⏸ manual mode on · ? for shortcuts · ← for agents
Artifacts UX picks PRs mods#3 · mods#2 · mods#1
claude.ai/artifact/… and claude.ai/code/artifact/… links. One written as a markdown link, like [UX picks](https://claude.ai/artifact/…), shows its label. A bare one shows the start of its id, like artifact DhK2K2.github.com/<owner>/<repo>/pull/<n> links, shown as repo#n.Only your prompts and Claude's replies count. Tool output (a gh pr list, say), system reminders and subagents' messages don't, so the row holds what the conversation was actually about. Nothing shows until the first link is mentioned.
You need Claude Code 2.1.287 or newer.
git clone https://github.com/cjavdev/mods.git ~/mods
claude --plugin-dir ~/mods/link-bar
Or add ~/mods/link-bar to CLAUDE_CODE_PLUGIN_DIRS in the env block of ~/.claude/settings.json.
It shares the space under the prompt with context-meter and cache-shot-clock: they stay at the end of the hint line, and the links get the row below it.
In /config, or under pluginConfigs["link-bar"].options in settings:
| Setting | Default | |
| --- | --- | --- |
| enabled | true | Turns the mod off without unloading it. |
| artifacts | 3 | How many of the most recently mentioned artifacts to link. 0 shows none. |
| pullRequests | 5 | How many of the most recently mentioned pull requests to link. 0 shows none. |
The mod is one hooks module, hooks/register.tsx, with the link finding in hooks/links.ts:
session.append hook sees every row the conversation keeps. For your prompts and Claude's replies on the main thread, it pulls out artifact and PR links and moves them to the front of two lists in session state ($.state, declared in types/index.d.ts). A change redraws the row.--resume and --continue load a conversation without appending it, so on a resume the mod reads the recent end of the transcript file and picks the links back up. /clear empties the lists.ui.render hook on the PromptHint component draws the engine's own hint line and adds a row under it with a Link element per entry. The hint line's tail is plain text cut at the row's end, which is why the links get a row of their own.claude plugin validate ~/mods/link-bar # manifest and hooks check
claude plugin test ~/mods/link-bar # runs tests/*.test.tsx
The screenshot is a real capture of Claude Code running the mod (with context-meter beside it) in tmux (tmux capture-pane -p -e), turned into a page with scripts/ansi2html.py and screenshotted.