Docsbook
← Back to catalog
observabilitypro_plusrequires Docsbook MCP

docs-engagement-analyzer

Splits high-dwell-time pages into "engagement signal" (deep interest) vs "engagement problem" (stuck users) by cross-referencing dwell time with negative feedback. Identifies which long-read pages are loved vs which are confusing. Produces an insight JSON report consumable by downstream actor agents. Requires PRO+ plan.

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-engagement-analyzer -a claude-code
2. Use
/docs-engagement-analyzer

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-engagement-analyzer"

docs-engagement-analyzer — Tell interest from confusion

A user spending 5 minutes on a page can mean two opposite things:

  1. Deep interest — pricing, billing, AI chat setup. They're reading carefully because the decision is important. Good.
  2. Stuck — they cannot figure out what the page is telling them. Bad.

The only reliable disambiguator is negative feedback on the same page. This skill combines dwell time and feedback to label every long-dwell page as engagement_signal (info) or engagement_problem (high severity).

When to run#

Workflow#

Standard four-stage docs-insights pipeline. Slice = engagement. See docs-utm-analyzer for the canonical step-by-step. Differences for this skill:

  1. Collector slice: engagement (pulls get_analytics, query_events for dwell p50/p90 per page, get_negative_feedback).
  2. Clusterer: groups by page path, computes dwell z-score against site median, joins with feedback counts.
  3. Reporter input: SKILL: docs-engagement-analyzer, SKILL_VERSION: 1.0.0.

Decision matrix (clusterer applies; reporter surfaces)#

Dwell time Negative feedback count Finding type Severity
> 2× site median ≥ 1 engagement_problem high
> 2× site median 0 engagement_signal info
< 0.5× site median ≥ 1 engagement_problem medium — page is short AND disliked
~median ≥ 3 engagement_problem medium

What this skill catches#

Pattern Example finding
Confusing reference page webhooks.md — dwell p50 = 6:00, 12 thumbs-down. People keep re-reading because the payload shape isn't clear. → invoke_skill: docs-editor with the specific section.
Engagement signal (positive) pricing-spec.md — dwell p50 = 4:30, 0 thumbs-down. People genuinely study pricing. → add_to_todo (consider expanding with comparison tables).
Skim-and-leave api-overview.md — dwell p50 = 0:08. Page exists but no one reads it. → Likely an SEO/title problem, not content.

Guardrails#

Output for downstream consumption#

The JSON report's findings[].suggested_actions[] is pre-filled so the actor agent can:

Acceptance criteria#

Same shape as docs-utm-analyzer. Skill exits with PRO+ message if workspace is below PRO+.

Arguments#

Argument Type Default Description
workspace string required id or owner/repo
period string 30d 30d / 90d (need volume for stable percentiles)
min_pageviews number 30 Floor before including a page
View source on GitHub →Browse full catalog repo →
Keywords
engagementdwell-timetime-on-pageattentionconfusionretentioncontent-quality
MCP tools used
get_analyticsquery_eventsget_negative_feedbackget_workspace