Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ManiacMike/chatgpt-endless-canvas --skill chatgpt-imagegit clone --depth 1 https://github.com/ManiacMike/chatgpt-endless-canvasWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/maniacmike/chatgpt-endless-canvas/chatgpt-image)<a href="https://agentmods.dev/skills/maniacmike/chatgpt-endless-canvas/chatgpt-image"><img src="https://agentmods.dev/badge/skills/maniacmike/chatgpt-endless-canvas/chatgpt-image/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/maniacmike/chatgpt-endless-canvas/chatgpt-image"><img src="https://agentmods.dev/badge/skills/maniacmike/chatgpt-endless-canvas/chatgpt-image.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00097 | $0.01861 |
| Opus 5.5 | $0.00039 | $0.00744 |
| Sonnet 5.5 | $0.00019 | $0.00372 |
| Haiku 4.5 | $0.00010 | $0.00186 |
Grade B, and why
chatgpt-image scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
bytes (`curl --data-binary @file.png`), then generate with the returned Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s --max-time 2 http://127.0.0.1:9222/json/version How it starts
The opening of the file, as written. The whole thing — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ChatGPT image generation (board-first)
Project home: ${CHATGPT_IMAGE_GEN_HOME:-~/Workspace/chatgpt-endless-canvas}
(referred to as $PROJ below — resolve it once per session). Data root:
~/Documents/chatgpt-endless-image-gen/.
Bootstrap (skill install ≠ project install). This file only teaches the
workflow; the project code + venv must exist at $PROJ. Check once per
session, and set it up if missing:
[ -f "$PROJ/board_server.py" ] || {
git clone https://github.com/ManiacMike/chatgpt-endless-canvas.git "$PROJ" &&
python3 -m venv "$PROJ/.venv" &&
"$PROJ/.venv/bin/pip" install -r "$PROJ/requirements.txt"
}
Core rule: submit ALL generation requests through the board server API
(POST /api/generate) instead of invoking the Python script directly — the
server serializes jobs, spaces batches with random pauses (rate-limit
protection), streams results onto the canvas, and records lineage. Call the
script directly only as a fallback when the server cannot run, or for
--grab-only recovery.
Standard flow (every request)
-
Debug Chrome ready?
curl -s --max-time 2 http://127.0.0.1:9222/json/versionOn failure → ask the user to run
bash $PROJ/launch-chrome-debug.sh, log into chatgpt.com in the opened window, and keep it open. Do NOT run it for them in the background — the window needs to stay interactive. -
Board server running? Use the idempotent launcher (safe from any session; already-running → no-op; starts detached via nohup so it outlives this session):
bash $PROJ/start.shIt prints the ACTUAL url (
board started: http://127.0.0.1:<port>) — the port may NOT be 8090: ports occupied by other programs (including stale pre-rename copies of this project) are skipped automatically. Use the printed url as$BOARDfor ALL API calls below, andopen $BOARDif the user doesn't have the board open. To re-discover it later,GET /api/healthmust return"app": "chatgpt-endless-canvas"(also in~/Documents/chatgpt-endless-image-gen/server.jsonalongside pid/port) — a port that answers/api/statebut not/api/healthis NOT this server. Do NOT run board_server.py with run_in_background — that ties the server to this session. Log:~/Documents/chatgpt-endless-image-gen/board.log. Unfinished jobs survive a server restart (persisted + requeued), so if the environment kills the detached process, just rerun start.sh.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 142 lines · 97 tokens per session scan B adf33a2e64f2
chatgpt-image is a skill published in the GitHub repository ManiacMike/chatgpt-endless-canvas (114 stars, last pushed 3mo ago), licensed MIT. It adds 97 tokens to every session and 1,861 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
chatgpt-image compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| chatgpt-imageManiacMike/chatgpt-endless-canvas | Skill | 114 | 3mo ago | MIT | B | 97 | Claude Code, Codex |
| interactive-loginyc-software/qm | Skill | 16k | yesterday | MIT | A | 46 | Claude Code, Codex |
| pinchtab-mcppinchtab/pinchtab | Skill | 11k | 10d ago | MIT | A | 52 | Claude Code, Codex |
| azure-messaging-webpubsub-javamicrosoft/skills | Skill | 3.2k | yesterday | MIT | A | 43 | Claude Code |
| cua-driverdavidondrej/skills | Skill | 4.3k | 3d ago | MIT | A | 68 | Claude Code, Codex |
| open-design-browsercompozy/compozy | Skill | 2.8k | yesterday | MIT | A | 56 | Claude Code, Codex |
| southwestborski/travel-hacking-toolkit | Skill | 895 | yesterday | MIT | A | 40 | Claude Code |