| name | download-mods |
| description | Downloads Minecraft 1.12.2 CurseForge mods from CurseForge URLs or slugs by resolving each slug through the CurseForge API, selecting the newest compatible file, and saving the file locally. Use when the user provides CurseForge mod links and wants downloads. |
Download CurseForge Mods
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL are to be interpreted as described in RFC 2119.
This skill downloads Minecraft 1.12.2 CurseForge mods using scripts/download_mods.py.
Prerequisite
The agent MUST use the check-prerequisites skill before running the script. If the user does not provide a CurseForge API key, the agent MUST stop.
Workflow
- The agent MUST collect all CurseForge mod links from the user request or provided files.
- The agent MUST extract each slug from
curseforge.com/minecraft/mc-mods/<slug> links. Plain slugs MAY also be used.
- The agent MUST resolve each slug with
GET https://api.curseforge.com/v1/mods/search?gameId=432&classId=6&slug=<slug>&pageSize=1.
- Every CurseForge API request MUST include headers
x-api-key=<user key> and Accept=application/json.
- HTTP status
200 is REQUIRED for a successful search response.
- From
data[0].latestFiles, the agent MUST select files whose gameVersions array contains 1.12.2.
- If multiple files match, the agent MUST choose the one with the newest
fileDate.
- The agent MUST download the selected file's
downloadUrl into the user-approved output directory.
Script
Run from this skill directory or pass the script path explicitly:
uv run --no-project --python 3.12 --with httpx python scripts/download_mods.py --output-dir <mods-dir> --api-key "$CURSEFORGE_API_KEY" <url-or-slug>...
Pixi fallback:
pixi exec --spec python=3.12 --spec httpx python scripts/download_mods.py --output-dir <mods-dir> --api-key "$CURSEFORGE_API_KEY" <url-or-slug>...
Local Python fallback, only after check-prerequisites confirms Python 3.12 and httpx:
python scripts/download_mods.py --output-dir <mods-dir> --api-key "$CURSEFORGE_API_KEY" <url-or-slug>...
The script also accepts --input-file <path> for newline-separated URLs or slugs and --game-version 1.12.2 for explicit version selection.
Output
The agent MUST report for each slug:
- CurseForge mod ID.
- Selected file ID.
- Selected download URL.
- Selected filename.
- Download status and saved path, or the reason it was skipped or failed.
Guardrails
- The agent MUST NOT guess a file when no
latestFiles entry contains 1.12.2.
- The agent MUST NOT print the API key.
- The agent SHOULD NOT overwrite existing files unless the user asks; the script skips existing files by default.