HTML 仕様書 graph 管理の徹底調査

v0.1.0-draft · 調査日 2026-05-22 · session c3c53fbb · 調査範囲: DB/graph 基盤 / SSG link graph / AI agent indexing / OSS 仕様書事例 / HTML metadata + drift detection

§1. 調査背景

§1.1. folio の核心問題

folio は AI agent (Claude Code) と人間が共同で「仕様書 (architecture spec)」 を書き続ける meta framework。 すべての spec を HTML 形式で記述するルール (P-2) のもと、 ディレクトリ整理 + index + 各仕様書間ハイパーリンクで関係性を表現したい。 ただし、 新規 spec ファイル追加時に 既存ハイパーリンク網に正しく組み込まれ整合性が保たれる仕組み が必要。 一方で HTML ファイル全文を AI agent に毎回読ませると context window が圧迫され管理破綻する懸念がある。

§1.2. Beads パターン類推適用の動機

Beads (github.com/steveyegge/beads) は GitHub Issue の依存関係を Dolt (versioned SQL database) で管理し、 issue 間の関係をグラフとして表現することで AI agent が効率的に dependency を辿れる仕組みを実現している。 これと類推して spec ファイル間の関係 (cross-reference / 依存 / extend / supersede 等)、 要約・メタデータ、 グラフノード構造をデータベース技術で整理し、 AI が HTML 全文を読まなくても全体構造を把握できるか — を検証することが本調査の趣旨。

§1.3. 5 サブ質問

  1. HTML/Markdown 文書群の関係性を versioned SQL/graph database で管理する基盤技術の比較
  2. SSG (Sphinx, Hugo, MkDocs, Docusaurus, Antora, DocFX) および PKM tools (Foam, Obsidian, Logseq, Roam, DokuWiki, MediaWiki) の link graph 実装パターン
  3. AI agent (Claude Code, Continue.dev, Cursor) が大規模 documentation を context window 効率的に扱うための indexing / RAG / graph traversal パターン
  4. 仕様書・ADR・dependency tree 管理の OSS 実装事例 (Beads, log4brains, MADR, Specmatic, Spectral, ArchUnit, Backstage)
  5. HTML 内 machine-readable metadata 埋め込み技術と spec drift detection

§2. 5 サブ質問の調査結果サマリ

§2.1. DB/graph 基盤技術 (researcher-1)

Beads は Dolt 単一バックエンドへ完全移行 (v1.0.0)
SQLite + JSONL hybrid を捨て、 cell-level merge / multi-writer / built-in version history / native push-pull のためだけに Dolt を選択。 「dual storage の同期複雑性を排除しつつ分散バージョン管理を維持」 が決定打。
Dolt の技術基盤
Prolly Trees (content-addressed B-trees) + Commit Graph (Merkle DAG)。 fast diffs O(d)、 structural sharing、 embedded mode で Go アプリ組み込み可能。 SQL アクセス (MySQL 互換) + dolt_* system tables/procedures で version control 操作。
W3C 標準語彙 (DCMI)
dcterms:replaces「supersedes」 関係を W3C 標準としてすでに提供 (URI: http://purl.org/dc/terms/replaces)。 ただし「depends-on」 の標準語彙は存在せず ドメイン固有 ontology が必要。
Property Graph vs RDF
一般的推奨は 「default で Property Graph、 interoperability 必要時のみ RDF」。 AI agent のクエリ生成では Cypher/GQL の方が SPARQL より好まれる傾向 (compact + expressive)。 ただし Beads は意図的に SQL を選択 (SQL は LLM training データが豊富)。

§2.2. SSG/PKM の link graph 実装 (researcher-2)

12 ツールを 4 軸 (ストレージ / Backlink 戦略 / Link 解決 / Broken link 動作) で整理 (詳細マトリクスは §3.2 参照)。 ストレージは大別して 4 種類:

§2.3. AI agent 向け doc indexing (researcher-3)

Claude Code は意図的に indexing しない
4 リスク (security, privacy, staleness, reliability) を回避するため。 3-tool hierarchy: Glob → Grep → Read。 深い探索は Explore sub-agent (Haiku) を spawn。 Amazon Science 2026 論文: agentic search は 「over 90% of RAG-level performance without a vector database」 を達成。
Anthropic Agent Skills: Progressive Disclosure (3-tier)
Tier 1 (metadata, 30-50 tokens) → Tier 2 (SKILL.md 本体) → Tier 3 (reference files) の段階的読込で 140x efficiency。 folio HTML 仕様書管理に直接適用可能なパターン。
Microsoft GraphRAG / LazyGraphRAG
GraphRAG: Hierarchical Leiden clustering + community summary。 LazyGraphRAG: 標準 GraphRAG の indexing cost の 0.1% (1000x 削減)、 query-time iterative deepening。 query cost 700x lower。
LlamaIndex DocumentSummaryIndex
folio の 2 段構造 (summary + detail) と最も近い実装。 LLM-based / Embedding-based の両 retrieval mode をサポート。

§2.4. 仕様書 ADR OSS 事例 (researcher-4)

Beads dependency edge schema
9 種類のエッジ: blocks / parent-child / related / discovered-from / conditional-blocks / waits-for / replies-to / supersedes / duplicates。 hash-based ID (bd-a1b2) で分散衝突防止。
Beads Phase metaphor (folio へ完全に写像可能)
Solid (Proto) / Liquid (Mol) / Vapor (Wisp) の三層抽象が folio の constitution.html (frozen) / decisions/*.html (ADR active) / research/*.html (ephemeral) に対応。
Beads AI agent integration: CLI + Hooks > MCP
MCP tool schemas は 10-50k tokens 追加するが、 bd prime (CLI) は 1-2k tokens → 10-50x context efficiency。 folio も同様に folio prime 相当の context injection を CLI で実現可能。
log4brains の Adr.supersedeBy() ―― 双方向リンク自動 materialization
古い側 status を superseded by [new-slug](path) に書換え、 新しい側に Supersedes [old-slug](path) リンクを自動追加。 これは Backstage の bidirectional relations (dependsOndependencyOf 等) と同じ思想。 folio の P-10 amendment 戦略に直接転用可能。
MADR の trade-off (ADR-0009)
「freedom が parsing を犠牲にする」 と公式に認めている。 folio は frontmatter (機械可読) + 本文 markdown link (自由度) の dual-track で両立を目指せる余地あり。

§2.5. HTML metadata + spec drift detection (researcher-5)

JSON-LD が 2026 デフォルト推奨
<script type="application/ld+json"> ブロックで HTML 構造から decoupled。 @id による linked data 構築が容易。 microdata は nested で maintenance nightmare、 RDFa は niche shrinking、 HTML5 data-* は MDN が明示的に「機械可読 metadata に非推奨」 と警告。
extruct (Scrapinghub) ―― HTML → DB sync の決定的ツール
HTML から JSON-LD / Microdata / RDFa / Microformats / Open Graph / Dublin Core を統一的に抽出。 標準パイプライン: HTML fetch → extruct で JSON-LD 抽出 → 型チェック → DB 行に正規化。
Sambal モデル ―― JSON-LD ファーストな SSG
HTML page と raw schema.org JSON-LD の両方を生成。 @id で external resources への参照を持つ linked data を、 DB なしで構築可能。
Broken link detection: lychee + hyperlink が最有力
lychee (Rust async, TOML config, anchor 4 modes, GitHub Action 成熟) + hyperlink (Rust file-system only, Sentry docs 1.1GB を 4 秒, flake free) の組み合わせが folio に最適。
Spec drift detection
oasdiff (OpenAPI 用 450+ breaking change rules) のメタファー応用。 検出パイプライン: (i) lychee で anchor 検証、 (ii) extruct で JSON-LD 抽出 + Dolt sync、 (iii) Dolt SQL で relations テーブル整合性検証、 (iv) ADR supersede 関係を log4brains 風に materialize。

§3. 統合観点

§3.1. Beads パターンの完全分解 (researcher-1 + researcher-4 のクロス検証)

両 worker が独立に Beads を深掘りし、 結論が完全一致 ―― 信頼度 high。 Beads 設計の核心 4 判断:

  1. Dolt 単一バックエンド (v1.0.0) ―― SQLite + JSONL hybrid を捨てた
  2. Hash-based ID (bd-a1b2) ―― 分散衝突防止
  3. Phase metaphor (化学 metaphor) ―― Solid/Liquid/Vapor の三層抽象
  4. CLI + Hooks > MCP ―― 10-50x context efficiency
Beads dependency edge schema → folio relation vocabulary 候補
Beads edge type意味ready 判定folio 類推
blocksX must close before Ydepends-on
parent-childhierarchical✓ (親 block 時)subsection-of
relatedsoft referencerelated-to
discovered-fromaudit traildiscovered-during
conditional-blocksB runs only if A failsalternative-to
waits-forfanout gate(不要)
supersedesA replaces Bsupersedes (P-10 と直結)
duplicatesA duplicates Bduplicate-of
replies-tomessage thread(不要)
Beads Phase metaphor ↔ folio Layer の完全 mapping
Beads Phasefolio Layer永続性Sync
Solid (Proto)scratch/constitution.htmlFrozen templateYes
Liquid (Mol)scratch/decisions/*.html (ADR)Active persistentYes
Vapor (Wisp)scratch/research/*.htmlEphemeralNo (Wisp=true)

§3.2. SSG/PKM link graph 実装マトリクス (researcher-2)

12 ツールを 4 軸で整理
ツールストレージBacklink 戦略Link 解決Broken link 動作
Sphinxflat zlib (objects.inv)build バッチUID + domain:rolemissing-reference event
DocFXYAML (xrefmap.yml)build バッチUID 中央集権build warning
Antorain-memory Map (ContentCatalog)build バッチResource ID version@component:module:family$fileunresolved
MkDocsfiles coll. + page.tocbuild バッチpath + anchorvalidation.links.* 設定
DocusaurusSet per pagebuild バッチpath-basedproduction build のみ
Hugopage lookup + fallbackbuild バッチpage → resource → globalwarning
ObsidianRecord<src, Record<dest, count>>incremental (events)shortest-pathunresolvedLinks 別管理
Foamgraphlib (dagre) NoteGraphincrementalwikilinkgraph 表示
LogseqDatalog EAV (:block/refs, :block/path-refs)クエリ時計算Datalog querygraph 表示
RoamDatomic EAVクエリ時計算block-uid 9 文字graph 表示
MediaWikiRDBMS (pagelinks + linktarget)incremental (LinksUpdate Job)namespace + title FKbrokenlinks (旧版)
DokuWiki.idx flat + relation_referencesバックグラウンド (TaskRunner)namespace + title暗黙

§3.3. Progressive Disclosure (researcher-3)

Anthropic が Agent Skills で実装している 3-tier loading が folio HTML 仕様書管理に直接適用可能:

Anthropic Skills 3-tier model ↔ folio 文書層
TierAnthropic Skillstokensfolio 対応
Tier 1YAML name + description30-50 / skillCLAUDE.md, MEMORY.md, inventory file (Sphinx objects.inv 風)
Tier 2SKILL.md 本体500-2000*.html<head> JSON-LD + 本文サマリ
Tier 3FORMS.md, REFERENCE.mdunbounded*.html 本文 + research/*.html

140x efficiency。 folio は vector DB に頼らず grep-friendly な HTML 構造 を目指すべき (Claude Code は意図的に indexing しないため)。

§3.4. HTML metadata embedding 技術比較 (researcher-5)

5 種類の metadata 技術の folio fit 評価
技術folio fit理由
JSON-LD (<script type="application/ld+json">)★★★★★HTML から decoupled、 @id で linked data、 Google 推奨、 Sambal 事例あり、 extruct で抽出容易
Microdata★★visible content と 1:1 だが nested で破綻、 HTML 構造に tight coupling
RDFa★★複数 vocabulary 同時可能だが complexity max、 niche shrinking
HTML5 data-*MDN が明示的に「機械可読 metadata に非推奨」 と警告
Custom <meta> tag★★★document-level metadata に向く、 Sphinx objects.inv のような flat 形式

§3.5. dcterms:replaces が W3C 標準として "supersedes" を既に提供

folio が JSON-LD で関係性を表現する場合、 独自の folio:supersedes を作らず DCMI 既存語彙を使うべき:

{
  "@context": {
    "dc": "http://purl.org/dc/terms/",
    "folio": "https://folio.dev/spec/v1/"
  },
  "@id": "decisions/ADR-0042-database-choice.html",
  "@type": "TechArticle",
  "dc:replaces": { "@id": "decisions/ADR-0017-original-database.html" },
  "folio:depends-on": { "@id": "constitution.html#P-3" }
}
folio relation 語彙の選択指針
folio 関係標準語彙備考
supersedesdc:replaces逆: dc:isReplacedBy
change historydc:provenance監査用
cross-referencedc:references / dc:isReferencedBy双方向 dual
subsectiondc:hasPart / dc:isPartOfschema.org も同じ
depends-on(独自必要)W3C 標準なし、 folio:depends-on
extends(独自必要)schema.org additionalType で近似可能だが弱い
derived-fromprov:wasDerivedFromPROV-O

§3.6. Bidirectional Materialization (log4brains + Backstage)

log4brains の Adr.supersedeBy() メソッド (TypeScript ソースから直接抽出) は、 folio が採用すべき双方向リンク自動化パターン:

supersedeBy(superseder: Adr): void {
  const relation = new AdrRelation(this, "superseded by", superseder);
  this.body.setHeaderMetadata("Status", relation.toMarkdown());
  superseder.markAsSuperseder(this);  // 自動的に逆参照を生成
}

private markAsSuperseder(superseded: Adr): void {
  const relation = new AdrRelation(this, "Supersedes", superseded);
  this.body.addLinkNoDuplicate(relation.toMarkdown());
}

Backstage も同じ思想で 8 対の双方向 relations を提供 (dependsOndependencyOf, partOfhasPart, ownedByownerOf 等)。 folio で同じパターンを採用すれば、 人間も AI も「片方を編集すれば反対側が自動で同期」 する保証が得られる。

§4. folio への具体的提案

§4.1. 中核推奨: Phase 1 (案 B) → Phase 2 (案 A) の段階導入

Phase 1 (現在 〜 specs ≦ 30 件): HTML 内 JSON-LD + inventory file

  1. HTML <head> に JSON-LD ブロック埋め込み
    • <script type="application/ld+json"> で関係性を機械可読化
    • dc:replaces, dc:references, dc:hasPart など W3C 標準語彙を使用
    • 独自語彙 (folio:depends-on, folio:extends) は @context で別 prefix 化
  2. scratch/inventory.json を build 時生成
    • Sphinx objects.inv パターンの JSON 版
    • 各 spec の {id, title, summary, status, relations[]} を 1 ファイルに集約
    • AI agent は inventory.json のみで全体構造把握、 必要な spec のみ Read (Tier 1 → Tier 2 の自然な発生)
  3. broken link CI
    • lychee で external link + anchor fragment 検証
    • hyperlink (file-system only) で内部 cross-reference 検証 (flake free)
    • GitHub Action として cron 実行 + PR-time validation
  4. 双方向リンク build hook
    • pre-commit hook または scripts/folio-link-materialize.py で log4brains 風に双方向化
    • 例: ADR A が ADR B を dc:replaces したら、 ADR B 側に dc:isReplacedBy を自動追加

Phase 2 (specs > 30 件で管理破綻が見え始めたら): Dolt 統合

  1. extruct で HTML → Dolt sync (one-way)
    • extruct.extract(html, syntaxes=['json-ld'], uniform=True) で JSON-LD 抽出
    • Dolt の specs + relations テーブルに upsert
    • HTML 編集 → pre-commit hook → extruct → Dolt の片方向パイプライン
  2. folio CLI 実装 (Beads bd 相当)
    • folio prime: Beads bd prime 相当の context injection (CLI で 1-2k tokens 注入)
    • folio ready: 未解決決定 / 未承認 amendment の列挙
    • folio graph <id>: 指定 spec の dependency 上流 / 下流クエリ
    • folio supersede <old> <new>: 双方向 materialization を CLI 一発で実行
  3. MCP server で AI agent 統合 (補完)
    • Datasette + MCP plugin 経由で folio Dolt DB を Claude Code から SQL クエリ可能化
    • ただし MCP は補完であり、 CLI が primary (Beads の 10-50x context efficiency 根拠)

§4.2. 3 案の trade-off

採用候補 3 案の比較
方針主な利点主な欠点判定
A HTML SSoT + DB sync (片方向) HTML 直接編集可能、 グラフクエリも可能、 P-2 尊重 sync パイプライン必要、 DB は cache (stale 可能性)、 保守コスト Phase 2 採用
B HTML 内 JSON-LD + inventory file (DB なし) 最もシンプル、 file system のみで完結、 P-1 (simplicity) と整合 グラフクエリは grep + JSON-LD parse の繰り返し、 scale 限界 Phase 1 採用
C 完全 DB 中心、 HTML はビュー生成 Beads 実証済、 cell-level merge、 distributed HTML 直接編集禁止 → P-2 と正面衝突、 既存 HTML 移行コスト 採用しない

§4.3. 案 C を採用しない根拠

Beads は issue tracker の文脈で Dolt SSoT を採用したが、 folio の core value は異なる:

案 A はこれらを回避しながら DB の利点を享受する妥協案。 Phase 2 で specs が増えてグラフクエリが必要になったときに導入する。

§4.4. 設計 4 原則 (調査結果からの抽出)

  1. Progressive Disclosure: AI agent には常に「最小限の metadata + on-demand 詳細」 を提供 (Anthropic Skills と同パターン)
  2. Bidirectional Materialization: supersedes 等の関係は両端で書く (log4brains, Backstage パターン)
  3. W3C Standard Vocabulary 優先: 独自語彙より dcterms / schema.org / PROV-O を使う (interoperability)
  4. CI で機械検証: lychee + hyperlink + 独自 spec drift script を CI に組み込む

§5. 未解決事項・追加調査候補

critique で PASS と判定済だが、 Phase 2 (Dolt 統合) 着手前に取得を推奨する nice-to-have の gap が 4 件:

1. Beads の Dolt 内部 SQL DDL (CREATE TABLE statements verbatim)
docs には table 名と column 一覧は出るが、 index / FK / CHECK 制約の完全な SQL DDL は未確認。 リポジトリの internal/storage/dolt/ 配下の Go ファイル直接読みが必要。
2. schema.org CreativeWork / TechArticle 系の文書間関係プロパティ
isBasedOn, citation, hasPart 等の詳細プロパティが文書間関係表現に使える可能性。 今回は dc:* 語彙を中心に調査したが、 schema.org の補完候補として深掘り余地あり。
3. HTML SSoT graph DB sync の production 事例
SSG (Sambal/Astro/Next.js) では DB→HTML が一般的で、 HTML→DB の事例は extruct を使った scraping/監査用途以外見当たらず。 folio は意図的に新しい設計領域 (草分け) になる可能性。
4. HyDE / GraphRAG を HTML/Markdown documentation に適用した production case study
HyDE は一般 retrieval 用途の事例はあるが、 仕様書 documentation 向けの具体実装は未確認。 GraphRAG / LazyGraphRAG も knowledge base 中心の事例が多く、 spec documentation 向けは限定的。

これらは Phase 2 着手時の設計検討で WebFetch + 追加 researcher spawn で補完予定。 Phase 1 着手には影響しない。

§5.1. 検出された緊張関係 (tensions)

§6. 参照ソース一覧

計 117 件。 全ソースは 2026-05-22 に確認。 公式ソース (Anthropic / W3C / DCMI / MS Research / GitHub README / 公式 docs) は 46% を占める。

§6.1. DB / Graph 基盤技術 (researcher-1)

#TitleURLSource Type
1Beads GitHub repository (steveyegge/beads)github.com/steveyegge/beadsGitHub README
2Restoring Beads Classic — DoltHub Blogdolthub.com/blog/2026-04-02公式 blog
3Beads DeepWikideepwiki.com/steveyegge/beadsコミュニティ wiki
4Beads Architecture - DeepWiki (Dolt backend)deepwiki.com/.../5.3-dolt-backendコミュニティ wiki
5Beads Agent Memory - MorphLLMmorphllm.com/beads-agent-memory技術 blog
6Beads ARCHITECTURE.mdgithub.com/.../ARCHITECTURE.mdGitHub docs
7Beads FAQ.mdgithub.com/.../FAQ.mdGitHub docs
8Beads DOLT.mdgithub.com/.../DOLT.mdGitHub docs
9Beads MOLECULES.mdgithub.com/.../MOLECULES.mdGitHub docs
10Beads CLAUDE_INTEGRATION.mdgithub.com/.../CLAUDE_INTEGRATION.mdGitHub docs
11Beads METADATA.mdgithub.com/.../METADATA.mdGitHub docs
12Dolt Storage Engine — DoltHub Docsdocs.dolthub.com/architecture/storage-engine公式 docs
13What Is Dolt? — DoltHub Docsdocs.dolthub.com公式 docs
14How to Version Control a Database — DoltHub Blogdolthub.com/blog/2026-01-07公式 blog
15Schema.org Documentationschema.org/docs/documents.html公式 標準
16DCMI: Replaces propertydublincore.org/.../replaces/W3C 標準
17Dublin Core to PROV Mapping — W3Cw3.org/TR/prov-dc/W3C 標準
18RDF Triple Stores vs Property Graphs — Neo4j Blogneo4j.com/blog/.../rdf-vs-property-graphsベンダー blog
19Neo4j Cypher Manual Introductionneo4j.com/docs/cypher-manual公式 docs
20Schema.org: Evolution of Structured Data — ACM Queuequeue.acm.org/detail.cfm?id=2857276学術
21Property Graph vs RDF Triple Store — PLOS Onejournals.plos.org/plosone学術
22Datasette Agent — Simon Willisonsimonw.substack.com/.../datasette-agent技術 blog
23Text2Cypher arxiv 2412.10064arxiv.org/html/2412.10064v1学術
24DITA OASIS specificationdocs.oasis-open.org/dita公式 標準
25sqlite-schema-vizgithub.com/paulsmith/sqlite-schema-vizGitHub tool

§6.2. SSG / PKM Link Graph 実装 (researcher-2)

#TitleURLSource Type
26sphinx.ext.intersphinxsphinx-doc.org/.../intersphinx.htmlOfficial docs
27sphobjinv objects.inv v2 Syntaxsphobjinv.readthedocs.ioProject docs
28sphinx/util/inventory.py sourcegithub.com/sphinx-doc/sphinxSource code
29Sphinx Domain APIsphinx-doc.org/.../domainapi.htmlOfficial docs
30DocFX Links and Cross Referencesdotnet.github.io/docfxOfficial docs
31Antora Xref Macrosdocs.antora.org/antoraOfficial docs
32Antora content-catalog.js sourcegitlab.com/antora/antoraSource code
33MkDocs Link Validation (DeepWiki)deepwiki.com/mkdocs-ngDeepWiki
34docusaurus brokenLinks.ts sourcegithub.com/facebook/docusaurusSource code
35Hugo Link render hooksgohugo.io/render-hooks/linksOfficial docs
36Obsidian MetadataCachedocs.obsidian.md/.../MetadataCacheOfficial docs
37Obsidian resolvedLinksdocs.obsidian.md/.../resolvedLinksOfficial docs
38obsidian-backlink-cache plugingithub.com/mnaoumov/obsidian-backlink-cacheGitHub
39Foam PR #83 graph refactorgithub.com/foambubble/foam/pull/83GitHub PR
40Logseq Database Schema (DeepWiki)deepwiki.com/logseq/logseqDeepWiki
41Logseq datascript schema gistgist.github.com/tiensonqinGist
42Logseq path-refs forumdiscuss.logseq.com/.../path-refsForum
43Roam Data Structure Deep Divezsolt.blog/.../Roam-Data-StructureTech blog
44MediaWiki Pagelinks tablemediawiki.org/.../Pagelinks_tableOfficial docs
45MediaWiki Linktarget tablemediawiki.org/.../Linktarget_tableOfficial docs
46MediaWiki LinksUpdate.php sourcedoc.wikimedia.org/.../LinksUpdateSource docs
47MediaWiki RefreshLinksJobmediawiki.org/.../RefreshLinksJobOfficial docs
48DokuWiki devel:metadatadokuwiki.org/devel:metadataOfficial docs
49DokuWiki Indexing (DeepWiki)deepwiki.com/dokuwiki/dokuwikiDeepWiki
50DokuWiki indexer.php sourcegithub.com/dokuwiki/dokuwikiSource code

§6.3. AI agent 向け doc indexing (researcher-3)

#TitleURLSource Type
51Best practices for Claude Codecode.claude.com/docs/en/best-practicesAnthropic 公式
52Contextual Retrieval — Anthropicanthropic.com/news/contextual-retrievalAnthropic 公式
53Claude Code Doesn't Index Your Codebasevadim.blog/claude-code-no-indexingTech blog
54Effective context engineering — Anthropicanthropic.com/engineering/...contextAnthropic 公式
55Equipping agents with Agent Skills — Anthropicanthropic.com/engineering/...skillsAnthropic 公式
56Claude Skills Solve the Context Window Problemtylerfolkman.substack.comTech blog
57GraphRAG — Microsoft Researchmicrosoft.com/.../graphragMS Research 公式
58LazyGraphRAG — Microsoft Researchmicrosoft.com/.../lazygraphragMS Research 公式
59GraphRAG vs LazyGraphRAGdev.to/.../graphrag-vs-lazygraphragCommunity blog
60Knowledge Base vs Knowledge Graph 2026kloia.com/blog/...kg-llmTech blog
61Implementing Contextual Retrievalmedium.com/.../contextual-retrievalTech blog
62LlamaIndex Index Types Guidedevelopers.llamaindex.aiLlamaIndex 公式
63DocumentSummaryIndex — LlamaIndexllamaindex.ai/blog/.../summary-indexLlamaIndex 公式
64GraphRAG v2 with LlamaIndexdevelopers.llamaindex.ai/.../graphrag_v2LlamaIndex 公式
65Cursor Codebase Indexingcursor.com/docs/context/codebase-indexingCursor 公式
66How Cursor Actually Indexes Your Codebasetowardsdatascience.com/.../cursor-indexesTech blog
67claude-context (zilliztech)github.com/zilliztech/claude-contextGitHub
68HyDEemergentmind.com/.../hydeResearch summary
69Better RAG with HyDE — Zillizzilliz.com/learn/.../hydeVendor blog
70Knowledge Graphs vs RAG 2026atlan.com/know/.../kg-vs-ragIndustry blog
71CLAUDE.md Configuration Hierarchyagentfactory.panaversity.orgTutorial

§6.4. 仕様書 ADR OSS 事例 (researcher-4)

#TitleURLSource Type
72log4brains AdrStatus.tsgithub.com/thomvaill/log4brains/.../AdrStatus.tsSource code
73log4brains AdrRelation.tsgithub.com/.../AdrRelation.tsSource code
74log4brains Adr.tsgithub.com/.../Adr.tsSource code
75MADR full templategithub.com/adr/madr/.../adr-template.mdPublic template
76MADR ADR-0013 YAML frontmatteradr.github.io/madr/.../0013-yaml公式 ADR
77MADR ADR-0009 Links between ADRsadr.github.io/madr/.../0009-links公式 ADR
78mkdocs-material-adrgithub.com/Kl0ven/mkdocs-material-adrOSS
79ArchUnit User Guidearchunit.org/userguide公式 docs
80Spectral Create a Rulesetdocs.stoplight.io/.../spectral/ruleset公式 docs
81Spectral GitHubgithub.com/stoplightio/spectralOSS
82Specmatic Contract Testingdocs.specmatic.io/.../contract_testing公式 docs
83Specmatic MCP Servergithub.com/specmatic/specmatic-mcp-serverOSS
84Backstage Catalog Descriptor Formatbackstage.io/docs/.../descriptor-format公式 docs
85Backstage Creating the Catalog Graphbackstage.io/docs/.../catalog-graph公式 docs
86Backstage ADR005 Catalog Core Entitiesbackstage.io/docs/.../adrs-adr005公式 ADR
87IETF RFC Processietf.org/process/rfcs公式仕様
88IETF Datatrackerdatatracker.ietf.org公式ツール
89Diátaxis Frameworkdiataxis.frFramework
90log4brains public ADR sitethomvaill.github.io/log4brains/adrPublic site

§6.5. HTML metadata + spec drift detection (researcher-5)

#TitleURLSource Type
91HTML Microdata (W3C)w3.org/TR/2017/WD-microdataW3C 標準
92Google Structured Datadevelopers.google.com/.../structured_dataGoogle 公式
93extruct (Scrapinghub)github.com/scrapinghub/extructOSS
94Microdata vs JSON-LD vs RDFa 2026rishikc.com/articles/structured-dataTech blog
95Microdata vs RDFa vs JSON-LDstructured-context.comTech blog
96Scrape JSON-LD with extructhackersandslackers.com/.../json-ldTutorial
97TechArticle (schema.org)schema.org/TechArticleschema.org 公式
98JSON-LD vs Microdata vs RDFa 2026schemavalidator.org/.../microdata-vs-json-ldTech guide
99meta HTML element (MDN)developer.mozilla.org/.../metaMDN 公式
100JSON-LD 1.1 (W3C)w3.org/TR/json-ld11W3C 標準
101JSON-LD spices up SSGchen4119.me/.../json-ld-ssgTech blog
102JSON-LD Tutorial 2026squin.org/.../json-ld-tutorialTutorial
103Sambal (JSON-LD SSG)sambal.dev/aboutProject site
104data-* attribute (MDN)developer.mozilla.org/.../data-*MDN 公式
105Single source of truth (Wikipedia)en.wikipedia.org/wiki/Single_source_of_truthReference
106lycheegithub.com/lycheeverse/lycheeOSS
107lychee-actiongithub.com/lycheeverse/lychee-actionOSS
108htmltestgithub.com/wjdp/htmltestOSS
109muffetgithub.com/raviqqe/muffetOSS
110Link checking benchmarkswellshapedwords.com/.../benchmarksTech blog
111hyperlink (untitaker)github.com/untitaker/hyperlinkOSS
112html-proofergithub.com/gjtorikian/html-prooferOSS
113mlc (Markup Link Checker)github.com/becheran/mlcOSS
114Azure SDK broken link detectiondevblogs.microsoft.com/.../broken-linkMS 公式 blog
115API Schema Drift Tools 2026dev.to/.../api-schema-driftTech blog
116oasdiffoasdiff.comProject site
117MyST Cross-referencesmyst-parser.readthedocs.io/.../cross-referencing公式 docs

§7. 調査メタデータ

調査セッション ID
c3c53fbb (snapshot: /tmp/research-search-c3c53fbb/)
調査日
2026-05-22
使用ワークフロー
/research:controller-search (deep モード) — Plan → Parallel Research (5 workers) → Integrate → Critique → Report の 5 段階
調査担当 researcher 5 名
researcher-1 (DB/graph 基盤) / researcher-2 (SSG/PKM link graph) / researcher-3 (AI agent indexing) / researcher-4 (仕様書 ADR 事例) / researcher-5 (HTML metadata + drift)
合計 WebSearch 回数 / Fetch 成功件数
WebSearch 62 回 / WebFetch 成功 68 件 (5 worker 合計)
品質検証
critic specialist で評価 → Overall Verdict: PASS (Coverage / Relevance / Citation Accuracy / Gap すべて PASS)
本レポートの位置づけ
scratch/research/ 配下の調査資料。 folio rule に縛られない自由形式。 試作 plugin が完成したら archive 候補。