jpskill.com
🛠️ 開発・MCP コミュニティ

bv

Beads Viewer - Graph-aware triage engine for Beads projects. Computes PageRank, betweenness, critical path, and cycles. Use --robot-* flags for AI agents.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o bv.zip https://jpskill.com/download/18639.zip && unzip -o bv.zip && rm bv.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18639.zip -OutFile "$d\bv.zip"; Expand-Archive "$d\bv.zip" -DestinationPath $d -Force; ri "$d\bv.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して bv.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → bv フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

BV - Beads Viewer

Beads プロジェクト(.beads/beads.jsonl)のためのグラフを意識したトリアージエンジンです。9つのグラフメトリクスを計算し、実行計画を生成し、決定論的な推奨を提供します。ブラウジングのための人間向け TUI と、AI エージェント向けのロボットフラグを備えています。

BV を生の Beads と比較する理由

機能 生の beads.jsonl BV ロボットモード
クエリ 「すべての課題をリストアップ」 「リリースを妨げている上位5つのボトルネックをリストアップ」
コンテキストコスト 高い (課題数に比例) 低い (固定の概要構造)
グラフ理論 エージェントが計算する必要がある 事前計算済み (PageRank、媒介中心性、サイクル)
安全性 エージェントがサイクルを見逃す可能性がある サイクルが明示的にフラグ付けされる

beads.jsonl を直接解析する代わりに BV を使用してください。グラフメトリクスを決定論的に計算します。

重要: エージェント向けのロボットモード

bv をむき出しで実行しないでください。セッションをブロックするインタラクティブな TUI が起動します。

常に --robot-* フラグを使用してください。

bv --robot-triage        # THE MEGA-COMMAND: ここから開始
bv --robot-next          # 最小限: 最上位の選択肢のみ
bv --robot-plan          # 並列実行トラック
bv --robot-insights      # 完全なグラフメトリクス

9つのグラフメトリクス

BV は、隠れたプロジェクトの動態を明らかにするために、これらのメトリクスを計算します。

メトリクス 何を測定するか 主要な洞察
PageRank 再帰的な依存関係の重要度 基礎となるブロッカー
媒介中心性 最短経路のトラフィック ボトルネックとブリッジ
HITS ハブ/オーソリティの二重性 エピック vs ユーティリティ
クリティカルパス 最長の依存関係チェーン スラックがゼロのキーストーン
固有ベクトル中心性 隣接ノードを介した影響力 戦略的な依存関係
次数中心性 直接的な接続数 直接的なブロッカー/ブロックされたもの
密度 エッジ対ノードの比率 プロジェクトの結合の健全性
サイクル 循環依存 構造的なエラー (修正必須!)
トポロジカルソート 有効な実行順序 作業キューの基礎

2段階分析

BV はタイムアウト付きの非同期計算を使用します。

  • フェーズ 1 (即時): 次数、トポロジカルソート、密度
  • フェーズ 2 (500ms タイムアウト): PageRank、媒介中心性、HITS、固有ベクトル中心性、サイクル

常に出力の status フィールドを確認してください。大規模なグラフ (>500 ノード) の場合、一部のメトリクスは approx または skipped になる場合があります。

ロボットコマンドリファレンス

トリアージと計画

bv --robot-triage              # 完全なトリアージ: 推奨事項、quick_wins、clearすべきブロッカー
bv --robot-next                # クレームコマンド付きの単一の最上位の選択肢
bv --robot-plan                # アンブロックリスト付きの並列実行トラック
bv --robot-priority            # 優先順位のずれの検出

グラフ分析

bv --robot-insights            # 完全なメトリクス: PageRank、媒介中心性、HITS、サイクルなど
bv --robot-label-health        # ラベルごとの健全性: healthy|warning|critical
bv --robot-label-flow          # ラベル間の依存関係フローマトリクス
bv --robot-label-attention     # 注意度でランク付けされたラベル

履歴と変更

bv --robot-history             # Bead とコミットの相関関係
bv --robot-diff --diff-since <ref>  # ref からの変更

その他のコマンド

bv --robot-burndown <sprint>   # スプリントバーンダウン、スコープの変更
bv --robot-forecast <id|all>   # ETA 予測
bv --robot-alerts              # 古い課題、ブロッキングカスケード
bv --robot-suggest             # 衛生: 重複、依存関係の欠落、サイクルブレーク
bv --robot-graph               # 依存関係グラフのエクスポート (JSON、DOT、Mermaid)
bv --export-graph <file.html>  # 自己完結型のインタラクティブな HTML 可視化

スコープとフィルタリング

bv --robot-plan --label backend              # ラベルのサブグラフにスコープ
bv --robot-insights --as-of HEAD~30          # 過去のある時点
bv --recipe actionable --robot-plan          # 事前フィルタ: 作業準備完了
bv --recipe high-impact --robot-triage       # 事前フィルタ: 上位 PageRank
bv --robot-triage --robot-triage-by-track    # 並列ワークストリームでグループ化
bv --robot-triage --robot-triage-by-label    # ドメインでグループ化

組み込みレシピ

レシピ 目的
default 優先度でソートされたすべてのオープンな課題
actionable 作業準備完了 (ブロッカーなし)
high-impact 上位 PageRank スコア
blocked 依存関係を待機中
stale オープンだが 30 日以上タッチされていない
triage 計算されたトリアージスコアでソート
quick-wins ブロッカーのない簡単な P2/P3 項目
bottlenecks 媒介中心性の高いノード

ロボット出力構造

すべてのロボット JSON には以下が含まれます。

  • data_hash - beads.jsonl のフィンガープリント (一貫性を検証)
  • status - メトリクスごとの状態: computed|approx|timeout|skipped
  • as_of / as_of_commit - --as-of を使用する場合に存在

--robot-triage 出力

{
  "quick_ref": { "open": 45, "blocked": 12, "top_picks": [...] },
  "recommendations": [
    { "id": "bd-123", "score": 0.85, "reason": "Unblocks 5 tasks", "unblock_info": {...} }
  ],
  "quick_wins": [...],
  "blockers_to_clear": [...],
  "project_health": { "distributions": {...}, "graph_metrics": {...} },
  "commands": { "claim": "bd claim bd-123", "view": "bv --bead bd-123" }
}

--robot-insights 出力

{
  "bottlenecks": [{ "id": "bd-123", "value": 0.45 }],
  "keystones": [{ "id": "bd-456", "value": 12.0 }],
  "influencers": [...],
  "hubs": [...],
  "authorities": [...],
  "cycles": [["bd-A", "bd-B", "bd-A"]],
  "clusterDensity": 0.045,
  "status": { "pagerank": "computed", "betweenness": "computed", ... }
}

jq クイックリファレンス


bv --robot-triage | jq '.quick_ref'                        # 一目でわかる概要
bv --robot-triage | jq '.recommendations[0]'               # 上位の推奨事項
bv --robot-plan | jq '.plan.summary.highest_impact'        # 最適なアンブロックターゲット
bv --robot-insights | jq '.status'                         # メトリクスの準備状況を確認
bv --robot-insights | jq '.cycles'                         # 循環依存 (修正必須!)
bv --robot-label-health | jq '.results.labels[] | select(.health_level == "critical

(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

BV - Beads Viewer

A graph-aware triage engine for Beads projects (.beads/beads.jsonl). Computes 9 graph metrics, generates execution plans, and provides deterministic recommendations. Human TUI for browsing; robot flags for AI agents.

Why BV vs Raw Beads

Capability Raw beads.jsonl BV Robot Mode
Query "List all issues" "List the top 5 bottlenecks blocking the release"
Context Cost High (linear with issue count) Low (fixed summary struct)
Graph Logic Agent must compute Pre-computed (PageRank, betweenness, cycles)
Safety Agent might miss cycles Cycles explicitly flagged

Use BV instead of parsing beads.jsonl directly. It computes graph metrics deterministically.

CRITICAL: Robot Mode for Agents

Never run bare bv. It launches an interactive TUI that blocks your session.

Always use --robot-* flags:

bv --robot-triage        # THE MEGA-COMMAND: start here
bv --robot-next          # Minimal: just the single top pick
bv --robot-plan          # Parallel execution tracks
bv --robot-insights      # Full graph metrics

The 9 Graph Metrics

BV computes these metrics to surface hidden project dynamics:

Metric What It Measures Key Insight
PageRank Recursive dependency importance Foundational blockers
Betweenness Shortest-path traffic Bottlenecks and bridges
HITS Hub/Authority duality Epics vs utilities
Critical Path Longest dependency chain Keystones with zero slack
Eigenvector Influence via neighbors Strategic dependencies
Degree Direct connection counts Immediate blockers/blocked
Density Edge-to-node ratio Project coupling health
Cycles Circular dependencies Structural errors (must fix!)
Topo Sort Valid execution order Work queue foundation

Two-Phase Analysis

BV uses async computation with timeouts:

  • Phase 1 (instant): degree, topo sort, density
  • Phase 2 (500ms timeout): PageRank, betweenness, HITS, eigenvector, cycles

Always check status field in output. For large graphs (>500 nodes), some metrics may be approx or skipped.

Robot Commands Reference

Triage & Planning

bv --robot-triage              # Full triage: recommendations, quick_wins, blockers_to_clear
bv --robot-next                # Single top pick with claim command
bv --robot-plan                # Parallel execution tracks with unblocks lists
bv --robot-priority            # Priority misalignment detection

Graph Analysis

bv --robot-insights            # Full metrics: PageRank, betweenness, HITS, cycles, etc.
bv --robot-label-health        # Per-label health: healthy|warning|critical
bv --robot-label-flow          # Cross-label dependency flow matrix
bv --robot-label-attention     # Attention-ranked labels

History & Changes

bv --robot-history             # Bead-to-commit correlations
bv --robot-diff --diff-since <ref>  # Changes since ref

Other Commands

bv --robot-burndown <sprint>   # Sprint burndown, scope changes
bv --robot-forecast <id|all>   # ETA predictions
bv --robot-alerts              # Stale issues, blocking cascades
bv --robot-suggest             # Hygiene: duplicates, missing deps, cycle breaks
bv --robot-graph               # Dependency graph export (JSON, DOT, Mermaid)
bv --export-graph <file.html>  # Self-contained interactive HTML visualization

Scoping & Filtering

bv --robot-plan --label backend              # Scope to label's subgraph
bv --robot-insights --as-of HEAD~30          # Historical point-in-time
bv --recipe actionable --robot-plan          # Pre-filter: ready to work
bv --recipe high-impact --robot-triage       # Pre-filter: top PageRank
bv --robot-triage --robot-triage-by-track    # Group by parallel work streams
bv --robot-triage --robot-triage-by-label    # Group by domain

Built-in Recipes

Recipe Purpose
default All open issues sorted by priority
actionable Ready to work (no blockers)
high-impact Top PageRank scores
blocked Waiting on dependencies
stale Open but untouched for 30+ days
triage Sorted by computed triage score
quick-wins Easy P2/P3 items with no blockers
bottlenecks High betweenness nodes

Robot Output Structure

All robot JSON includes:

  • data_hash - Fingerprint of beads.jsonl (verify consistency)
  • status - Per-metric state: computed|approx|timeout|skipped
  • as_of / as_of_commit - Present when using --as-of

--robot-triage Output

{
  "quick_ref": { "open": 45, "blocked": 12, "top_picks": [...] },
  "recommendations": [
    { "id": "bd-123", "score": 0.85, "reason": "Unblocks 5 tasks", "unblock_info": {...} }
  ],
  "quick_wins": [...],
  "blockers_to_clear": [...],
  "project_health": { "distributions": {...}, "graph_metrics": {...} },
  "commands": { "claim": "bd claim bd-123", "view": "bv --bead bd-123" }
}

--robot-insights Output

{
  "bottlenecks": [{ "id": "bd-123", "value": 0.45 }],
  "keystones": [{ "id": "bd-456", "value": 12.0 }],
  "influencers": [...],
  "hubs": [...],
  "authorities": [...],
  "cycles": [["bd-A", "bd-B", "bd-A"]],
  "clusterDensity": 0.045,
  "status": { "pagerank": "computed", "betweenness": "computed", ... }
}

jq Quick Reference

bv --robot-triage | jq '.quick_ref'                        # At-a-glance summary
bv --robot-triage | jq '.recommendations[0]'               # Top recommendation
bv --robot-plan | jq '.plan.summary.highest_impact'        # Best unblock target
bv --robot-insights | jq '.status'                         # Check metric readiness
bv --robot-insights | jq '.cycles'                         # Circular deps (must fix!)
bv --robot-label-health | jq '.results.labels[] | select(.health_level == "critical")'

Agent Workflow Pattern

# 1. Start with triage
TRIAGE=$(bv --robot-triage)
NEXT_TASK=$(echo "$TRIAGE" | jq -r '.recommendations[0].id')

# 2. Check for cycles first (structural errors)
CYCLES=$(bv --robot-insights | jq '.cycles')
if [ "$CYCLES" != "[]" ]; then
  echo "Fix cycles first: $CYCLES"
fi

# 3. Claim the task
bd claim "$NEXT_TASK"

# 4. Work on it...

# 5. Close when done
bd close "$NEXT_TASK"

TUI Views (for Humans)

When running bv interactively (not for agents):

Key View
l List view (default)
b Kanban board
g Graph view (dependency DAG)
E Tree view (parent-child hierarchy)
i Insights dashboard (6-panel metrics)
h History view (bead-to-commit correlation)
a Actionable plan (parallel tracks)
f Flow matrix (cross-label dependencies)
] Attention view (label priority ranking)

Integration with bd CLI

BV reads from .beads/beads.jsonl created by the bd CLI:

bd init                    # Initialize beads in project
bd create "Task title"     # Create a bead
bd list                    # List beads
bd ready                   # Show actionable beads
bd claim bd-123            # Claim a bead
bd close bd-123            # Close a bead

Integration with Agent Mail

Use bead IDs as thread IDs for coordination:

file_reservation_paths(..., reason="bd-123")
send_message(..., thread_id="bd-123", subject="[bd-123] Starting...")

Graph Export Formats

bv --robot-graph                              # JSON (default)
bv --robot-graph --graph-format=dot           # Graphviz DOT
bv --robot-graph --graph-format=mermaid       # Mermaid diagram
bv --robot-graph --graph-root=bd-123 --graph-depth=3  # Subgraph
bv --export-graph report.html                 # Interactive HTML

Time Travel

Compare against historical states:

bv --as-of HEAD~10                    # 10 commits ago
bv --as-of v1.0.0                     # At tag
bv --as-of "2024-01-15"               # At date
bv --robot-diff --diff-since HEAD~30  # Changes in last 30 commits

Common Pitfalls

Issue Fix
TUI blocks agent Use --robot-* flags only
Stale metrics Check status field, results cached by data_hash
Missing cycles Run --robot-insights, check .cycles
Wrong recommendations Use --recipe actionable to filter to ready work

Performance Notes

  • Phase 1 metrics (degree, topo, density): instant
  • Phase 2 metrics (PageRank, betweenness, etc.): 500ms timeout
  • Results cached by data_hash
  • Prefer --robot-plan over --robot-insights when speed matters