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 agentmods add skills/arunanksharan/claude-forge/setup-celerynpx skills add arunanksharan/claude-forge --skill setup-celerygit clone --depth 1 https://github.com/arunanksharan/claude-forgeWrote 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/arunanksharan/claude-forge/setup-celery)<a href="https://agentmods.dev/skills/arunanksharan/claude-forge/setup-celery"><img src="https://agentmods.dev/badge/skills/arunanksharan/claude-forge/setup-celery.svg" alt="Measured on agentmods" 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.00075 | $0.00632 |
| Opus 5 | $0.00037 | $0.00316 |
| Sonnet 5 | $0.00015 | $0.00126 |
| Haiku 4.5 | $0.00007 | $0.00063 |
Grade A, and why
setup-celery 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 5d 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.
What it actually says
Set Up Celery for Background Jobs (claudeforge)
Follow async-and-queues/celery.md (deeper) and backend/fastapi/05-async-and-celery.md. Steps:
- Confirm with user:
- Existing app (FastAPI / Django / Flask)?
- Use cases: emails, scheduled jobs, heavy CPU work?
- Already have Redis? If not, set up via Docker compose first.
- Install + configure:
- Add
celery[redis]>=5.4andredis>=5.2to pyproject.toml - Create
workers/celery_app.pywith the locked config (acks_late, prefetch=1, max_tasks_per_child, queue routing, beat schedule) - Update env to include
REDIS_URL
- Add
- Define tasks:
- Create
workers/{feature}_tasks.pyper feature - Each task:
@celery_app.task(bind=True, autoretry_for=..., retry_backoff=True, max_retries=5) - Idempotency: every task either checks a DB flag, uses an idempotency key, or is naturally idempotent. Do not skip this.
- For async DB operations: wrap in
asyncio.run(...)inside the task
- Create
- Wire into the app:
- Add
task.delay(args)calls from routes/services - Don't put heavy work directly in route handlers
- Add
- Run workers:
- Dev:
celery -A {{project-slug}}.workers.celery_app worker -Q emails -c 4 -n emails@%h - Plus separate worker per queue, plus exactly one beat
- Dev:
- Production setup:
- systemd template (
{{project-slug}}[email protected]) so you cansystemctl enable {{project-slug}}-worker@emails - Or Docker Compose with separate
workerservices per queue - Configure beat with persisted schedule file
- systemd template (
- Monitoring:
- Install Flower:
flower --basic-auth=admin:CHANGEME --port=5555(lock down with auth + IP filter) - Add OpenTelemetry:
CeleryInstrumentor().instrument() - Add Sentry:
CeleryIntegration()in sentry_sdk.init
- Install Flower:
- Verify: enqueue a test task from a route, observe it process, confirm metric/trace appears.
Always make tasks idempotent. Always run exactly one beat. Always split queues by SLA.
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.
- 5d ago First seen · 40 lines · 75 tokens per session scan A d03449937730
setup-celery is a skill published in the GitHub repository arunanksharan/claude-forge (2 stars, last pushed 4mo ago), licensed Unlicense. It adds 75 tokens to every session and 632 once invoked, about $0.0004 per session on Opus 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-08-31.
Other skills, from other repositories
pinecone
Managed vector DB for production RAG and search.
redis-inspect
Inspect Redis cache keys, values, and TTLs for debugging. Supports both main cache and system cache. Use for debugging cache issues, checking cached values, and monitoring cache state. Read-only by default.
redis-js
Work with the Upstash Redis JavaScript/TypeScript SDK for serverless Redis operations. Use for caching, session storage, rate limiting, leaderboards, full-text search (querying, filtering, aggregating with @upstash/redis search extension), and all Redis data structures. Supports automatic serialization/deserialization…
using-redis-token-buckets
Use when adding a bucket-like rate limit backed by Redis: a per-caller budget with burst capacity and continuous refill, a refund path for requests that did no work, or a limit whose Retry-After must be a real wait rather than a window edge. posthog/tokenbucket.py provides an atomic Lua token bucket (consume, refund…
byted-milvus
Manages Milvus on Volcano Engine (Volcengine): provision/inspect/scale/delete clusters and run collection + CRUD/search operations via bundled CLIs. Use when the user mentions Milvus + Volcengine/Volcano Engine or asks to operate Milvus there.
vector-db
Vector database expert for embeddings, similarity search, RAG patterns, and indexing strategies.