renzrollon/interlock/docs-digest
Claude Code and agent skill by renzrollon/interlock
- community
Checking that the SKILL.md file is still in the repository.
Compress a repo's docs and OpenSpec specs into one token-dense, agent-only primer at .claude/graph/DOCS_DIGEST.md — the prose twin of GRAPH_REPORT.md. Use when docs context is too large to load, after substantial docs or spec edits, or when asked to rebuild or refresh the docs digest. Not for producing human-readable documentation.
Install
npx vskill@latest install renzrollon/interlock/docs-digestSKILL.md
Produce one agent-only primer that lets a fresh agent understand this repo's documented domain without reading docs/ end to end.
GRAPH_REPORT.md answers what connects to what. This answers what this project means. They are siblings, both under .claude/graph/.
Inputs: docs/** and openspec/specs/**, via the deterministic index. Output: .claude/graph/DOCS_DIGEST.md, overwritten in place. Never indexed: openspec/changes/**. Active change artifacts are read directly, not digested.
Run this when: the digest is missing or stale, docs or living specs changed substantially, or the user asks to rebuild it. Do not run it per query — interactive skills should read an existing fresh digest, not regenerate one.
Execution
1. Index (deterministic — no model judgement)
Writes .claude/graph/docs-index.json covering docs/ and openspec/specs/, with a sha256 and heading spans per file.
If the index is empty, stop and report that: a repo with no docs/ and no openspec/specs/ has nothing to digest, and inventing one is worse than having none.
2. Staleness check
If .claude/graph/DOCS_DIGEST.md exists, compare its frontmatter source_hashes against each files[].sha256 in the index. All match, and the user didn't force a refresh? Report fresh and stop.
Rebuild when: hashes mismatch, the digest is missing, or the user says rebuild / refresh / force.
3. Selective read — never concatenate the corpus
Read .claude/graph/docs-index.json in full. It is an inventory, not the corpus.
Then read section spans only (offset/limit from each entry's startLine/endLine), highest signal first. Rank the index entries yourself using these signals, in order:
- Entry points. A file whose path or title matches
readme,architecture,overview,getting-started,contributing, oradr— these state intent and structure. - Inbound references. Files linked to most often from other indexed files. The index records outbound links; invert them. A doc everything points at is load-bearing.
- Spec coverage. Every
openspec/specs/*/spec.mdcapability gets at least its title and requirement blurbs — the capability map is the single most useful thing in the digest. - Breadth over depth. Prefer one section from each of ten documents over ten sections from one. You are building a map, not a summary.
Drop first under token pressure: long analysis or research write-ups, changelogs, meeting notes, anything whose blurb already conveys the point, and peripheral spec capabilities. For those, use the index blurb instead of reading a span.
Rank what the repo actually contains. Do not assume any particular filename exists.
Forbidden: find docs -exec cat, reading every docs/**/*.md or openspec/specs/**/*.md end to end, reading anything under openspec/changes/, and writing output anywhere under docs/ or openspec/.
4. Write the digest
Overwrite .claude/graph/DOCS_DIGEST.md with exactly this contract:
Omit ## specs entirely when the index contains no openspec/specs/ files.
Style — this is read by agents, not people. Telegraphic. Abbreviations fine. Lists and →. No tutorial tone, no narrative padding, no worked examples. Prefer a pointer over a paraphrase whenever the reader could drill down with interlock-graph context or a Read span.
Budgets: soft cap ~2500 tokens (ceil(chars/4)), hard stop ~3200. Drop lowest-priority content first. Never state a fact that isn't in the index or a span you actually read.
5. Report (≤10 lines)
Output path, token estimate, file count split by docs/ vs openspec/specs/, fresh-vs-rebuilt, and a reminder that humans should keep reading docs/ — this artifact is not for them.
Relation to the graph skill
| Need | Use | |
|---|---|---|
| Prose bootstrap / domain primer | This digest (DOCS_DIGEST.md) | |
| Structural bootstrap | GRAPH_REPORT.md, interlock-graph query | |
| Task-specific cited excerpts | interlock-graph context / docs | |
| Active change artifacts | Read openspec/changes/<name>/ directly — never this digest | |
| TOC and hashes for this skill | interlock-graph docs-index |
Follow ${CLAUDE_PLUGIN_ROOT}/shared/TOOL-ECONOMY.md.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/docs-digest/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/renzrollon/interlock/docs-digest)