Docsbook
← Back to catalog
observability

docs-gap-finder

Know exactly which docs page to write next. Cross-references real user signals — failed searches, AI-unanswered questions, popular queries — against your live doc graph and returns the top 7 pages worth creating. Optionally opens a GitHub Issue with a draft outline for each. PRO+.

Install & use this skill

Pick your AI client — install this single skill and call it.

1. Install
npx skills add Docsbook-io/docs-skills --skill docs-gap-finder -a claude-code
2. Use
/docs-gap-finder

Invoke as a slash command in chat.

Or: runtime discovery via Docsbook MCP

Already connected to the Docsbook MCP server? Skip install — ask your agent to load this skill on demand.

@docsbook find_skill "docs-gap-finder"

docs-gap-finder — Content Gap Analysis

Surfaces which documentation pages should be created next, based on real user signals (search misses, unanswered AI-chat questions, top external queries) instead of guesswork. Cross-references these signals against the live doc graph so already-covered topics are filtered out, then returns a prioritized list of the top 7 pages to create.

Workflow#

  1. Collect demand signals — gather what users searched for but didn't find, questions the AI/support couldn't answer, and the most popular queries. If a docs analytics source is connected (e.g. a Docsbook workspace, PRO+), pull these directly; otherwise work from whatever search-log / support-ticket / question data the user can provide. Retain normalized text, frequency, and source signal type for each result.
  2. Gather the docs — get the list of pages in scope and read their titles/headings. If a semantic/graph search tool over the markdown is available (self-hosted markdown-lsp, or a connected Docsbook workspace), prefer it — faster and cheaper than scanning files; otherwise read the files directly with grep/find.
  3. Cluster and score — group near-duplicate queries into topic clusters. Compute priority score: (failed_search × 3) + (ai_unanswered × 3) + (popular_search × 1). Failed searches and unanswered AI questions outweigh popularity — they confirm a gap.
  4. Cross-reference doc graph — drop clusters already covered by an existing page (title/H1/H2 token overlap ≥ 0.6 with non-stub content). Mark partial matches as expand_existing.
  5. Produce report — sort surviving clusters by score, take top limit (default 7), emit a markdown report with draft outlines per gap.
  6. Optionally open GitHub Issues — if open_issues: true, create one issue per gap in the source repo with the draft outline and signal data.

Guardrails#

Inputs#

This skill needs two things, by whatever means are available:

Acceleration (optional). A connected Docsbook workspace (PRO+) exposes search-miss and unanswered-question analytics plus the doc graph directly. Without it, feed the skill whatever search/support data you have, and read the docs folder normally.

Checklist#

Step 1 — Signal collection#

Step 2 — Clustering#

Step 3 — Coverage check#

Step 4 — Report output#

# Documentation gaps — <workspace> (<period>)

Found N high-signal gaps. Prioritized by user demand.

## 1. <Cluster topic> — score: <X>
- Action: create_new | expand_existing → <path>
- Signals:
  - failed_search: <n> hits (e.g. "<example query>")
  - ai_unanswered: <n> hits (e.g. "<example question>")
  - popular_search: <n> hits
- Suggested path: docs/<slug>.md
- Draft outline:
  1. <heading 1>
  2. <heading 2>
  3. <heading 3>

## 2. ...

Step 5 — GitHub Issues (if open_issues: true)#

Arguments#

Argument Type Default Description
workspace string required Workspace ID or owner/repo
period string 30d Analytics window: 7d / 14d / 30d
open_issues boolean false Create one GitHub Issue per gap
limit number 7 Max number of gaps to return

Acceptance Criteria#

View source on GitHub →Browse full catalog repo →
Keywords
gapcontentmissinganalyticsobservability