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 XuanRanL/loamwright-SEO-Skill --skill batch-job-pollergit clone --depth 1 https://github.com/XuanRanL/loamwright-SEO-SkillWrote 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/xuanranl/loamwright-seo-skill/batch-job-poller)<a href="https://agentmods.dev/skills/xuanranl/loamwright-seo-skill/batch-job-poller"><img src="https://agentmods.dev/badge/skills/xuanranl/loamwright-seo-skill/batch-job-poller/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/xuanranl/loamwright-seo-skill/batch-job-poller"><img src="https://agentmods.dev/badge/skills/xuanranl/loamwright-seo-skill/batch-job-poller.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00084 | $0.00735 |
| Opus 5.5 | $0.00034 | $0.00294 |
| Sonnet 5.5 | $0.00017 | $0.00147 |
| Haiku 4.5 | $0.00008 | $0.00073 |
Grade A, and why
batch-job-poller scanned grade A with 0 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 78 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Batch Job Poller (Supplemental — Recovery Only)
Status (as of 2026-05-21)
This skill is no longer part of the standard image flow. The new
openai-image-generator skill consolidates submit + poll + download + realtime
fallback into a single synchronous call via openai_image_pipeline.py.
This skill remains for two recovery scenarios only:
Scenario 1: Orphan batch recovery
If a prior pipeline run gave up on a batch (timeout, crash, user cancellation), the batch may still complete in OpenAI's queue. Use this skill to:
- Poll the batch status
- Download images if
completed - Read error file if
failedfor root-cause diagnosis - Mark the batch as abandoned if
expired(24h)
Example:
# Find orphan batches across all workspaces
for status_file in memory/workspace/*/batch_status.json; do
batch_id=$(python -c "import json,sys; print(json.load(open('$status_file'))['batch_id'])")
python -m scripts.openai.openai_batch_image_api --json poll $batch_id
done
# Download a specific orphan batch's images
python -m scripts.openai.openai_batch_image_api download batch_xxx \
--output-dir memory/workspace/{task_id}/images
Scenario 2: Diagnose stuck or failed batches
If a current batch is reporting failed, get the error_file_id and read it:
python -c "
import sys
sys.path.insert(0, '.')
from scripts._core import credential_hub
import openai
client = openai.OpenAI(api_key=credential_hub.get_credential('openai'))
batch = client.batches.retrieve('batch_xxx')
if batch.error_file_id:
print(client.files.content(batch.error_file_id).text)
"
The error file is JSONL — one line per failed request, with the OpenAI HTTP code
and rejected parameter name. The 2026-05-20 incident on project-charlie post 37063
turned out to be a script bug (sent response_format) detectable only by reading
this file.
Why this is no longer auto-scheduled
The previous design ran this skill every 15 minutes via hooks/scheduled.json.
That pattern had three drawbacks:
- 15-minute granularity meant up to 15 min of latency after batch completion
- No fallback path if batch failed permanently
- Multiple background pollers competing across workspaces
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.
- 1mo ago First seen · 78 lines · 84 tokens per session scan A 94088620ecb7
batch-job-poller is a skill published in the GitHub repository XuanRanL/loamwright-SEO-Skill (51 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 84 tokens to every session and 735 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
agent-merge-conflict-arbiter
Neutral arbiter for merge conflicts between two agents.
python-debugpy
Debug Python: pdb REPL + debugpy remote (DAP).
c2pa-metadata
Embed C2PA provenance in AI-generated images, video or PDF by script. "add content credentials to this asset".
competitor-pages
Build competitor comparison pages: X-vs-Y, alternatives and roundups, with schema. "create a vs page".
yearly-planner
Produce the Part 8 yearly planner: quarterly themes and monthly initiatives. "plan the whole year month by month".
21-audit-ads-performance
Dung khi can ra soat CAU HINH tai khoan quang cao mot cach he thong — 6 khau tu account, campaign, adset, creative, landing den tracking, cham Health Score theo do phu (pass/fail/unknown), tinh diem hoa von, gan verdict HOLD/FIX/TEST/INVESTIGATE cho moi phat hien va soan de xuat thay doi dang nhap. Kich hoat khi user…