Agent skill

Wayback Machine Raw Content Id Modifier

by divinevideo in divinevideo/divine-mobile

Fix JSON parse errors when fetching archived API responses from Wayback Machine.

MPL-2.0Auto-check passedBackend & APIs

Install Wayback Machine Raw Content Id Modifier

skills CLI
$ npx skills add divinevideo/divine-mobile --skill wayback-machine-raw-content-id-modifier -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install divinevideo/divine-mobile wayback-machine-raw-content-id-modifier --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/wayback-machine-raw-content-id-modifier .claude/skills/wayback-machine-raw-content-id-modifier && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
wayback-machine-raw-content-id-modifier
GitHub stars
266
Token cost
~940 tokens
SKILL.md length
247 words
Files
1
Skills in repo
103
Repo updated
First seen
Licence
MPL-2.0

At a glance

Fix JSON parse errors when fetching archived API responses from Wayback Machine.

  • Works in 2 steps: Test the URL with curl to see actual… → Verify JSON parsing works
  • Getting Expecting value: line 1 column 1 (char
  • SKILL.md covers Problem, Context / Trigger Conditions, Solution and Verification, plus 3 more sections
  • Calls curl; reaches web.archive.org and vine.co

What it does

Wayback Machine Raw Content Id Modifier is an agent skill from divinevideo/divine-mobile. Fix JSON parse errors when fetching archived API responses from Wayback Machine. Use when: (1) Getting "Expecting value: line 1 column 1 (char 0)" JSON decode errors from archived URLs, (2) Wayback returns HTML instead of expected JSON/raw content, (3) Crawling archived REST APIs or JSON endpoints from web.archive.org. The id modifier returns raw content without the Wayback toolbar wrapper.

Its SKILL.md is about 940 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering REST APIs. The licence is MPL-2.0.

When your agent uses it

  • Getting Expecting value: line 1 column 1 (char
  • JSON decode errors from archived URLs
  • Wayback returns HTML instead of expected JSON/raw content
  • Crawling archived REST APIs

Example prompts

  • “Expecting value: line 1 column 1 (char 0)”
  • “/wayback-machine-raw-content-id-modifier”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Test the URL with curl to see actual response
  2. Verify JSON parsing works

What it can do on your machine

Read from SKILL.md and the folder at commit 6487b05. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • web.archive.org
    • vine.co

    Also links to:

    • archive.org
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Wayback Machine Raw Content Id Modifier loads about 940 tokens when it runs. Until then it costs about 109 tokens; SKILL.md has 247 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~109
When it runs · the whole SKILL.md, loaded when a task matches
~940

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from divinevideo/divine-mobile at commit 6487b05, republished under its MPL-2.0 licence (© divinevideo). 247 words, ~940 tokens.

Download SKILL.mdSave it as .claude/skills/wayback-machine-raw-content-id-modifier/SKILL.md (or your agent's skills folder).
name
wayback-machine-raw-content-id-modifier
description
Fix JSON parse errors when fetching archived API responses from Wayback Machine. Use when: (1) Getting "Expecting value: line 1 column 1 (char 0)" JSON decode errors from archived URLs, (2) Wayback returns HTML instead of expected JSON/raw content, (3) Crawling archived REST APIs or JSON endpoints from web.archive.org. The `id_` modifier returns raw content without the Wayback toolbar wrapper.
author
Claude Code
version
1.0.0
date
2026-01-20

Wayback Machine Raw Content with id_ Modifier

Problem

When fetching archived JSON API endpoints from the Wayback Machine, you get HTML-wrapped content with the Wayback toolbar instead of the raw JSON response. This causes JSON parse errors like "Expecting value: line 1 column 1 (char 0)" because the response starts with <!DOCTYPE html> instead of valid JSON.

Context / Trigger Conditions

  • Fetching archived API endpoints from web.archive.org/web/{timestamp}/{url}
  • JSON parsing fails with "Expecting value: line 1 column 1 (char 0)"
  • Response content starts with HTML instead of expected JSON
  • Crawling archived REST APIs, JSON feeds, or any non-HTML content from Wayback
  • Using Python json.loads(), response.json(), or similar JSON parsing

Solution

Add id_ after the timestamp in the Wayback URL to get raw content:

Default (HTML-wrapped):

https://web.archive.org/web/20170112012313/https://vine.co/api/users/profiles/123

Raw content (add id_):

https://web.archive.org/web/20170112012313id_/https://vine.co/api/users/profiles/123
Code Fix Pattern
python
# BEFORE (broken - returns HTML)
url = f"https://web.archive.org/web/{timestamp}/https://example.com/api/data"

# AFTER (works - returns raw JSON)
url = f"https://web.archive.org/web/{timestamp}id_/https://example.com/api/data"
Other Wayback Modifiers
  • id_ - Raw/identity (no modifications, returns original content)
  • if_ - Iframe embed mode
  • js_ - JavaScript rewriting mode
  • cs_ - CSS rewriting mode
  • im_ - Image mode

Verification

  1. Test the URL with curl to see actual response:

    bash
    # Without id_ - shows HTML with Wayback toolbar
    curl -s "https://web.archive.org/web/20170112012313/https://example.com/api/data" | head -5
    
    # With id_ - shows raw JSON
    curl -s "https://web.archive.org/web/20170112012313id_/https://example.com/api/data" | head -5
  2. Verify JSON parsing works:

    python
    import json
    import urllib.request
    
    url = f"https://web.archive.org/web/{timestamp}id_/{api_url}"
    with urllib.request.urlopen(url) as resp:
        data = json.loads(resp.read())  # Should work now

Example

Crawling archived Vine API profiles:

python
WAYBACK_BASE = "https://web.archive.org/web"

def fetch_profile(user_id: str, timestamp: str):
    # Use id_ modifier to get raw JSON instead of HTML-wrapped content
    url = f"{WAYBACK_BASE}/{timestamp}id_/https://vine.co/api/users/profiles/{user_id}"

    with urllib.request.urlopen(url) as resp:
        data = json.loads(resp.read())
        return data['data']  # Now works correctly

Notes

  • The id_ modifier works for any content type, not just JSON (images, CSS, JS, etc.)
  • Some archived content may still fail if it was never properly captured
  • CDX API queries (for finding archived URLs) don't need the modifier
  • Rate limit requests to archive.org (5+ seconds between requests recommended)
  • Empty responses (0 bytes) indicate the archive entry exists but content wasn't captured

References

© divinevideo, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/wayback-machine-raw-content-id-modifier of divinevideo/divine-mobile.

Open the folder on GitHubat commit 6487b05

Compare with similar skills

Wayback Machine Raw Content Id Modifier next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Wayback Machine Raw Content Id Modifier compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wayback Machine Raw Content Id Modifier this skilldivinevideo/divine-mobile266—~940Automated safety check: PassMPL-2.0
Paperclippaperclipai/paperclip99k—~9.6kAutomated safety check: PassMIT
Nodejs Backend Patternsever-works/ever-works16218 repos~4kAutomated safety check: PassAGPL-3.0
OpenAPI to MCP Servermcp-use/mcp-use11k—~5.2kAutomated safety check: PassApache-2.0
Use Yaakmountain-loop/yaak19k—~1.9kAutomated safety check: PassMIT
API DesignerJeffallan/claude-skills12k1 repos~2kAutomated safety check: PassMIT

Similar skills

  • Paperclip

    paperclipai/paperclip

    Interact with the Paperclip control plane API for task coordination and governance.

    99k GitHub stars~9.6k tokensUpdated today
    Backend & APIsAuto-check passed
  • Nodejs Backend Patterns

    ever-works/ever-works

    Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices.

    162 GitHub starsUsed in 18 repos~4k tokens
    Backend & APIsAuto-check passed
  • OpenAPI to MCP Server

    mcp-use/mcp-use

    Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.

    11k GitHub stars~5.2k tokensUpdated today
    Backend & APIsAuto-check passed
  • Use Yaak

    mountain-loop/yaak

    A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…

    19k GitHub stars~1.9k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • API Designer

    Jeffallan/claude-skills

    Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.

    12k GitHub starsUsed in 1 repo~2k tokens
    Backend & APIsAuto-check passed
  • Covers the RuView `wifi-densepose` command line binary, its Axum REST API and the WebAssembly builds for browsers and ESP32, for embedding or scripting RuView.

    97k GitHub stars~1.2k tokensUpdated today
    Backend & APIsAuto-check: notes

More from divinevideo/divine-mobile

All 103 skills in this repo
  • Fix ArgoCD ExternalSecret deployment failing with "namespace X is not permitted in project Y".

    266 GitHub stars~931 tokensUpdated today
    Auto-check passed
  • Art Direct

    divinevideo/divine-mobile

    Art direction for any content — reads text, PDF, Word, HTML, PPT, then proposes 2-3 creative directions with photography style, mood, and visual language.

    266 GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Async Await Null Race Condition

    divinevideo/divine-mobile

    Fix "Null check operator used on a null value" errors when an object is set to null during an async await.

    266 GitHub stars~881 tokensUpdated today
    Auto-check passed
  • AWS V4 Signing Custom Headers Gcs

    divinevideo/divine-mobile

    Add custom metadata headers (x-amz-meta-) to AWS v4 signed requests for GCS S3-compatible API.

    266 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Bash Herestring Newline Secrets

    divinevideo/divine-mobile

    Fix password/secret authentication failures caused by trailing newlines when creating Google Cloud secrets (or similar) with bash here-strings.

    266 GitHub stars~791 tokensUpdated today
    Auto-check passed
  • Fix silent video/media processing failures caused by URL extraction code that filters on file extensions (.mp4, .webm, .webp).

    266 GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Categories

Questions about Wayback Machine Raw Content Id Modifier

What does Wayback Machine Raw Content Id Modifier do?

Fix JSON parse errors when fetching archived API responses from Wayback Machine. Wayback Machine Raw Content Id Modifier is an agent skill from divinevideo/divine-mobile. Fix JSON parse errors when fetching archived API responses from Wayback Machine.

When should I use Wayback Machine Raw Content Id Modifier?

Wayback Machine Raw Content Id Modifier fits situations like: getting Expecting value: line 1 column 1 (char; JSON decode errors from archived URLs; wayback returns HTML instead of expected JSON/raw content; crawling archived REST APIs.

How do I install Wayback Machine Raw Content Id Modifier in Claude Code?

Run `npx skills add divinevideo/divine-mobile --skill wayback-machine-raw-content-id-modifier -a claude-code`. Or copy the skill folder (.agents/skills/wayback-machine-raw-content-id-modifier in divinevideo/divine-mobile) into .claude/skills/wayback-machine-raw-content-id-modifier in your project. Claude Code loads it when a task matches its description.

How do I install Wayback Machine Raw Content Id Modifier in Codex?

Run `npx skills add divinevideo/divine-mobile --skill wayback-machine-raw-content-id-modifier -a codex`. Or copy the skill folder (.agents/skills/wayback-machine-raw-content-id-modifier in divinevideo/divine-mobile) into .agents/skills/wayback-machine-raw-content-id-modifier in your project. Codex loads it when a task matches its description.

Can I use Wayback Machine Raw Content Id Modifier in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add divinevideo/divine-mobile --skill wayback-machine-raw-content-id-modifier -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wayback-machine-raw-content-id-modifier, .gemini/skills/wayback-machine-raw-content-id-modifier, .github/skills/wayback-machine-raw-content-id-modifier and .opencode/skills/wayback-machine-raw-content-id-modifier in your project.

What does Wayback Machine Raw Content Id Modifier need to run?

Going by SKILL.md and its folder, Wayback Machine Raw Content Id Modifier needs the command-line tools its instructions call (curl). Our summary lists: Python 3.

Does Wayback Machine Raw Content Id Modifier access the network?

SKILL.md names 4 domains. In commands or code: web.archive.org and vine.co; the agent is likely to contact these when it follows the instructions. As links in the text: archive.org and github.com. This is read from the text; nothing was executed.

Is Wayback Machine Raw Content Id Modifier safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Wayback Machine Raw Content Id Modifier use?

Wayback Machine Raw Content Id Modifier is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Wayback Machine Raw Content Id Modifier use?

About 940 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Wayback Machine Raw Content Id Modifier?

Skills that share tags, products or a category with Wayback Machine Raw Content Id Modifier: Paperclip (paperclipai/paperclip, 99k stars), Nodejs Backend Patterns (ever-works/ever-works, 162 stars), OpenAPI to MCP Server (mcp-use/mcp-use, 11k stars) and Use Yaak (mountain-loop/yaak, 19k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Wayback Machine Raw Content Id Modifier?

divinevideo (a GitHub organization) maintains it in divinevideo/divine-mobile, which has 266 GitHub stars. The repository holds 103 skills in this directory. The repository was last updated on October 9, 2026.

Source: divinevideo/divine-mobile on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.