ALL 7 steps are mandatory. Steps 4 (echo preview) and 6 (save file) cannot be skipped under any circumstance.
-
Rewrite the URL. Produce the
-prefixed URL (see Rewrite Rule).
-
Fetch the rewritten URL (not the original), unless the Policy below says to skip.
-
Determine success. HTTP 200 + any non-empty body = SUCCESS. Full stop.
- Do NOT judge by content size, cleanliness, or format.
- A 4 KB response after HTTP 200 is a success.
- NEVER misreport the HTTP status code. If the tool output says , you MUST report 200. Reporting it as 401, 403, or any other code is a factual fabrication and a critical violation.
- Never describe a 200 OK response as a failure, a network error, or "blocked".
- Only treat as failed if: the tool output explicitly shows a non-200 status, empty body, or a Block Signal listed below.
-
IMMEDIATELY ECHO THE RAW RESPONSE BODY.
Before saving, before reasoning, before anything else — print the first 500 characters of the response body verbatim into your output. This is mandatory and serves as proof that you received and read the content.
Format:
[markdown-url] Response preview:
<first 500 chars of body>
If you cannot produce this preview, it means you did not actually read the response. Stop and report the error. Do NOT proceed to re-fetch.
-
STOP. DO NOT RE-FETCH.
Once step 2 returns HTTP 200 with a non-empty body, the fetch phase is permanently over.
You MUST NOT attempt to retrieve the same URL again by any means — including but not limited to:
- , , , , or any HTTP client
- Bash/shell commands
- Any third-party tool (firecrawl, puppeteer, playwright, etc.)
Proceeding to re-fetch after a successful 200 is a critical violation of this skill.
-
MANDATORY SAVE — this step must always execute after a successful fetch.
You MUST write the response body to a local file before proceeding. No exceptions.
- Derive the filename from the original URL path:
https://example.com/docs/intro
→ example-com-docs-intro.md
root path →
- Save to if that directory exists, otherwise save to the current working directory.
- Confirm the save by printing:
[markdown-url] Saved → <filepath> (<N> bytes)
- If the write fails for any reason, report the error and stop. Do not silently skip.
- Do NOT call firecrawl, puppeteer, or any other crawl tool after a successful save.
-
Use the saved file as the source for all summaries, quotes, checklists, or notes.
If the fetch fails (non-200 or empty body), fall back to the original URL and note the failure explicitly.
Do NOT route every site through
. Use it primarily for "read-only" pages where you want clean, extractable text:
Skip
and go straight to the original URL when the destination is likely to be blocked or requires the original site behavior:
If you try
and see any of the below, stop retrying and fall back to the original URL:
Fabricating failure is strictly forbidden:
If the tool output shows
, you MUST NOT report any other status code (401, 403, etc.) in your reasoning or to the user. Inventing a non-200 status to justify skipping the save step or falling back is a critical violation of this skill. The only valid source of truth for the HTTP status is the actual tool output.