| name | guide-authoring |
| description | Create or revise docs guides under src/content/docs/guides with runnable MDX examples. |
Microlink Guide Authoring
Goal
Create guides like the current screenshot guide: practical, workflow-first, easy to scan, and strictly aligned with the API docs.
When to Use
- The user wants to add a new guide for a Microlink utility under
src/content/docs/guides.
- The user wants to turn API parameter docs into a guide set.
- The user wants feedback on guide structure, coverage, or sequencing before writing.
- The user wants an existing Microlink guide rewritten from parameter-by-parameter reference style into workflow-first documentation.
Read first
When asked to create or revise a guide, read:
src/content/docs/guides/index.md
- The target utility guide folder, if it exists.
src/content/docs/guides/screenshot/*.md as the house-style baseline.
- All relevant
src/content/docs/api/parameters/** pages for the utility.
- Related shared docs when applicable:
- basics:
authentication, cache, endpoint, error-codes, rate-limit
- shared params:
embed, filter, filename, force, headers, meta, proxy, retry, staleTtl, timeout, ttl
- Common pattern pages under
src/content/docs/guides/common/:
caching.md — shared caching patterns (ttl, staleTtl, force)
private-pages.md — shared auth patterns (headers, x-api-header-*, endpoint, proxy)
troubleshooting.md — shared debug patterns (timeouts, blocked sites, error codes, debug headers)
production-patterns.md — best practices for production integrations
src/components/patterns/Aside/constants.js if the guide set changes.
The screenshot guide is the current benchmark for tone, depth, and cross-linking. Match its quality, not necessarily its exact file count.
Core principles
- Guides explain user jobs, not parameter catalogs.
- The main
index.md is a quickstart and hub, not a thin landing page.
- Explain the key mental model once early:
- response shape
- canonical syntax
- important choice points such as JSON vs embed, viewport vs element, fresh vs cached
- Use one canonical syntax consistently across guide pages. For utility-specific options, prefer the nested object form in interactive examples when the API supports it.
- Compare related options directly with tables, checklists, or "choose X vs Y" sections.
- Use live
MultiCodeEditorInteractive examples. If metadata is not the point, add meta: false.
- Prefer stable demo URLs and selectors. Default to
microlink.io, github.com/microlinkhq, or other durable targets. Avoid deprecated third-party services (e.g., source.unsplash.com is deprecated).
- End each subguide with
## Next step.
- Add a
## See also section at the bottom of the index.md linking to related guides that solve adjacent problems.
- Mark Pro features with
ProBadge only when the authoritative parameter page has isPro: true or the user explicitly confirms the plan gating.
- Do not document undocumented parameter shapes. If the type/examples do not show a boolean, object, string, array form, do not invent it.
Shared content architecture
Caching, private pages, and troubleshooting contain patterns that are identical across all workflows. To avoid duplication and maintenance drift:
- Shared pattern pages live under
src/content/docs/guides/common/. They contain the universal advice: how ttl/staleTtl/force work, how headers/x-api-header-*/proxy work, and how to read debug headers.
- Per-guide pages for caching, private pages, and troubleshooting are slim — they contain only the guide-specific advice (e.g., "set
meta: false for screenshot-only requests") and link to the shared pattern page for the universal parts.
- When creating a new guide, do NOT duplicate the shared content. Write the guide-specific tips and link to
common/.
The pattern is:
- Guide-specific intro ("The biggest speedup for screenshot requests is…")
- Guide-specific checklist or examples
- Link to shared pattern page ("For cache controls that apply to all workflows, see caching patterns.")
- Next step link
Pick the page set
Start with the smallest useful set. Do not copy the screenshot page list blindly.
| Page | Use when | Typical content |
|---|
index.md | Always | Quickstart, response model, canonical syntax, key decision points, roadmap, "See also" |
customizing-output.md | The utility has output-specific options | Output modes, formatting, visual differences, asset customization |
browser-settings.md | Headless browser rendering changes the result | Device, viewport, color scheme, media type, JavaScript, rendering settings |
page-interaction.md | Browser actions affect success | waitUntil, waitForSelector, click, scroll, styles, scripts, function, adblock |
embedding.md | Users need to consume assets in markup or choose a delivery mode | JSON vs direct asset response, embed, response shaping, filenames |
caching-and-performance.md | Freshness, cost, and speed matter | Guide-specific speedups only, then link to common/caching |
private-pages.md | Auth, sessions, forwarded headers, or endpoint choice matter | Guide-specific examples only, then link to common/private-pages |
troubleshooting.md | Failure modes are common or multi-causal | Guide-specific issues only, then link to common/troubleshooting |
Rename pages when the utility needs different language (e.g., the markdown guide uses choosing-scope.md instead of defining-rules.md), but keep the workflow-first grouping.
Authoring workflow
-
Audit the utility surface.
- Gather all utility-specific parameters.
- Gather cross-cutting parameters that materially change user success.
- Note response fields, defaults, plan gating, and common failure modes.
-
Design the information architecture.
- Group by user decisions and workflows.
- Separate output, delivery, auth/private pages, and troubleshooting when those are meaningful.
- Avoid one giant page unless the utility surface is genuinely small.
-
Write the hub page.
- First runnable example.
- Response model.
- Canonical syntax.
- One or two decision sections or tables.
- "What's next" list linking to every subguide.
- "See also" section linking to related guides.
-
Write subguides.
- Start with the user problem the page solves.
- Show a runnable example early.
- Explain when to use the option or pattern.
- Compare it with adjacent options.
- Keep reference-style detail out unless it helps a decision.
- For caching, private pages, and troubleshooting: keep guide-specific, link to
common/.
-
Update shared navigation.
- Update
src/content/docs/guides/index.md (including the "Which guide do I need?" table).
- Update
src/components/patterns/Aside/constants.js.
-
Cross-check before finishing.
- Verify every claim against the API docs.
- Align syntax, defaults, response fields, and plan gating.
- If the guide exposes a clear reference inconsistency, fix it.
- If the inconsistency is ambiguous, ask the user instead of inventing behavior.
- Use an ask-questions step when the utility surface, page set, or plan gating is unclear.
- Verify all example URLs are stable and not deprecated.
MDX conventions
Common imports:
import { Link } from 'components/elements/Link'
import { Figcaption } from 'components/markdown/Figcaption'
import { MultiCodeEditorInteractive } from 'components/markdown/MultiCodeEditorInteractive'
import ProBadge from 'components/patterns/ProBadge/ProBadge'
- Import only what you use.
- Use
Link for internal docs links.
- Use
Figcaption to explain the takeaway of the example, not restate the code.
- Frontmatter descriptions should explain the page's user value, not list every parameter.
- Keep titles short and consistent with existing guide naming.
- Prefer markdown tables for comparisons and decision points.
Guardrails
- Do not mirror the API reference page-for-page.
- Do not add pages just for symmetry.
- Do not duplicate universal patterns that belong in
common/. Link instead.
- Do not bury critical workflows like private pages or troubleshooting if the utility needs them.
- Do not rely on fragile selectors or gated third-party pages for core examples.
- Do not ship inconsistent syntax between guide and reference.
- Do not use deprecated third-party services (verify URLs are still live).
- When docs conflict, prefer:
- parameter page type, frontmatter, and examples
- directly related basics/getting-started docs
- explicit user confirmation
- Do not infer behavior from pricing blurbs, isolated prose mentions, or error codes alone.
Definition of done
Templates
For copyable outlines, see references/templates.md.