DocsbookDocsbook
← Back to catalog
analysisrequires Docsbook MCP

docs-media

Analyzes media in markdown documentation — images, screenshots, videos, and diagrams. Checks formats, file sizes, alt text, screenshot freshness, and diagram best practices.

Local install
npx docs-skills install
Try in MCP
@docsbook find_skill "docs-media"

docs-media — Media Analysis

Before Starting#

  1. Get the repository. Ask for the GitHub repo URL or {user}/{repo}.
  2. Check Docsbook. Run mcp__docsbook__list_workspaces to find the workspace.
    • If found → use mcp__docsbook__get_doc_graph and mcp__docsbook__read_doc_sections to scan image references in markdown.
    • If not found → offer to add it first.
  3. Check the graph. If get_doc_graph returns an empty graph or no data → run mcp__docsbook__reindex_doc_graph to generate it, then retry. If it returns a stale warning, offer to reindex before proceeding.
  4. Two levels of analysis. From Docsbook MCP, detect issues visible in markdown (missing alt, generic filenames in links, missing captions). Physical file checks (size, age) require local repo access — note which checks need it.
  5. Skip if no media. If read_doc_sections finds no image or video references, skip this skill.

Core Principles#

1. Text is primary, media amplifies#

Images, videos, and diagrams should strengthen the text — not replace it. A page that is 80% screenshots is an anti-pattern.

2. Stability over beauty#

UI changes. Full-page screenshots go stale fastest. For frequently-changing UI, a text description ages better than a screenshot.

3. Lightweight by default#

Large media files slow page load and hurt SEO. PNG screenshots under 500 KB, GIF under 2 MB.

4. Diagrams as code#

A Mermaid diagram in markdown versions with the code, renders automatically, and updates in a PR. A static PNG requires a designer and goes stale silently.


Checklist#

File Formats#

Content type Recommended format Notes
UI screenshot PNG (or WebP) Sharp text; never JPG for UI
Photo / illustration WebP > JPG Natural images
Short animation GIF or MP4 ≤ 5 seconds
Long video YouTube/Loom embed > 5 seconds — do not commit video files
Architecture diagram Mermaid in markdown Code-first, versions in git
Logo / icon SVG Scalable, no quality loss

File Size (local repo check)#

# Find large media files
find . -type f \( -name '*.png' -o -name '*.jpg' -o -name '*.gif' -o -name '*.mp4' \) -size +500k -exec ls -lh {} \;

Alt Text (detectable from markdown)#

UI Screenshots#

Screenshot Freshness (local repo check)#

Screenshots older than 180 days in an actively developed product are very likely stale:

# Screenshots older than 180 days
find . -name '*.png' -mtime +180 -exec ls -lh {} \;

From Docsbook MCP: check last_updated of pages containing screenshots — if a page hasn't been updated in 180+ days and contains screenshots, flag for manual review.

Videos#

Diagrams#


What to Look For#

Severity Problem Detection
critical Informative image with no alt ![]() in markdown
high PNG > 1 MB find by size (local)
high Generic filename — screenshot1.png, image.png Regex on image links in markdown
high Video file committed to repo (> 5 MB) find *.mp4 *.mov (local)
high JPG used for UI screenshot .jpg extension on UI images
high Full browser screenshot (not cropped) Width > 1500px (local exif/identify)
medium GIF > 2 MB find by size (local)
medium Screenshot on a page not updated in 180+ days Page last_updated + image presence
medium Static PNG diagram that could be Mermaid PNG with architecture/flow content
medium Video without caption note No "captions" / "transcript" near embed
low Timestamp in filename Regex \d{4}-\d{2}-\d{2} in filename
low Missing highlight on screenshot No mention of highlight/annotation

Output Format#

{
  "file": "docs/quick-start.md",
  "line": 34,
  "severity": "critical",
  "rule": "image-missing-alt",
  "found": "Line 34: ![](screenshots/setup.png) — informative image with no alt text.",
  "suggestion": "Add descriptive alt: '![Docsbook workspace creation form with GitHub repo URL field](screenshots/setup.png)'"
}
{
  "file": "docs/guides/api-setup.md",
  "line": 67,
  "severity": "high",
  "rule": "generic-filename",
  "found": "Line 67: ![Settings panel](screenshots/screenshot1.png) — filename 'screenshot1.png' is not descriptive and will be impossible to identify when the folder has many screenshots.",
  "suggestion": "Rename to a descriptive kebab-case name: 'screenshots/api-settings-key-field.png'. Update the link in the markdown."
}
{
  "file": "docs/architecture.md",
  "line": 12,
  "severity": "medium",
  "rule": "diagram-could-be-mermaid",
  "found": "Line 12: ![System architecture](architecture.png) — static PNG diagram. Hard to keep updated without design tools.",
  "suggestion": "Convert to Mermaid:\n```mermaid\ngraph LR\n  GitHub --> Docsbook\n  Docsbook --> CDN\n  CDN --> Users\n```\nMermaid renders automatically, versions in git, and updates in a PR without design software."
}

Task-Specific Questions#

When invoked directly, ask:

  1. Is local repo access available? File size and age checks require it.
  2. What's the screenshot freshness threshold? Default is 180 days.
  3. Convert PNG diagrams to Mermaid? Or just report them?

Tool Integrations#

Tool Purpose
mcp__docsbook__list_workspaces Find workspace
mcp__docsbook__get_doc_graph Page list with timestamps
mcp__docsbook__read_doc_sections Scan image references in markdown
find + stat (Bash, local) File size and age checks
identify / exiftool (local) Image dimensions

View source on GitHub →Browse full catalog repo →
Keywords
mediaimagesscreenshotsvideosdiagramsalt-text
MCP tools used
list_workspacesget_doc_graphread_doc_sections