celery-tasks

A guide for creating and changing Celery tasks, which run Python work in the background, including work scheduled to repeat. It covers task definitions, organization, arguments, return values, and logging.

In plain words
What is it for?
Use it when adding workers, background jobs, periodic tasks, or task configuration in a Celery-based Python project.
Why use it?
It helps avoid common background-task problems, such as passing data that cannot be safely serialized or using unsuitable return values. It also gives the project a consistent way to organize scheduled work.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/tedivm/robs_awesome_python_template/celery-tasks
Any agent
npx skills add tedivm/robs_awesome_python_template --skill celery-tasks
Clone the repo
git clone --depth 1 https://github.com/tedivm/robs_awesome_python_template

Made for: Claude Code, Codex.

Per session 44 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,505 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00044 $0.01505
Opus 5 $0.00022 $0.00753
Sonnet 5 $0.00009 $0.00301
Haiku 4.5 $0.00004 $0.00151

Measured 2d ago against content hash e6991dc3db80, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

celery-tasks 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 2d 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.

{{cookiecutter.__package_slug}}/.agents/skills/celery-tasks/SKILL.md · 198 lines

How it starts

The opening of the file, as written. The whole thing — 198 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Celery Tasks

context7: If the mcp_context7 tool is available, resolve and load the full celery documentation before making any changes to the task system:

mcp_context7_resolve-library-id: "celery"
mcp_context7_get-library-docs: <resolved-id>

The Celery application is defined in {{cookiecutter.__package_slug}}/celery.py. Tasks are exposed via the @celery.task decorator.


Defining Tasks

Import the celery app instance and decorate functions:

from logging import getLogger
from {{cookiecutter.__package_slug}}.celery import celery

logger = getLogger(__name__)


@celery.task
def send_email(to: str, subject: str, body: str) -> dict[str, str]:
    """Send an email asynchronously."""
    logger.info(f"Sending email to {to}: {subject}")
    return {"status": "sent", "to": to}

Rules:

  • Use logger (never print) for all output
  • Pass IDs, not objects — tasks serialize arguments, complex objects can't be serialized reliably
  • Return simple types (dict, list, primitives) — not ORM instances

Task Organization

Organize tasks in separate modules under {{cookiecutter.__package_slug}}/tasks/:

{{cookiecutter.__package_slug}}/
├── celery.py           # Celery app configuration
└── tasks/
    ├── __init__.py
    ├── email.py        # Email-related tasks
    └── reports.py      # Report generation tasks

Import task modules in {{cookiecutter.__package_slug}}/celery.py to ensure registration:

from {{cookiecutter.__package_slug}}.tasks import email, reports

Calling Tasks

# Fire and forget
send_email.delay("[email protected]", "Welcome", "Thanks for signing up!")

# With options
send_email.apply_async(
    args=["[email protected]", "Welcome", "Body"],
    countdown=60,       # Execute after 60 seconds
    queue='emails',     # Route to specific queue
)

# Get result (blocking)
result = send_email.delay("[email protected]", "Hello", "Body")
output = result.get(timeout=10)

Read the full file on GitHub · 198 lines

Changes

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.

  1. 2d ago First seen · 198 lines · 44 tokens per session scan A e6991dc3db80

Subscribe to this mod's changes

celery-tasks is a skill published in the GitHub repository tedivm/robs_awesome_python_template (309 stars, last pushed 3mo ago), licensed MIT. It adds 44 tokens to every session and 1,505 once invoked, about $0.0002 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-30.

Related

Other skills, from other repositories

html-preview

使用 Markdown html:preview 围栏输出轻量静态 HTML/CSS 可视化。当普通 Markdown 难以清晰表达数值对比、层级关系、流程、时间线、关键指标或布局示意,或用户明确要求可视化 HTML 预览时使用。询问 HTML 源码、教程示例或可复制代码时不要使用。.

xerrors/Yuxi · 86 tokens

deep-research

深度研究编排方法论:澄清范围、拆解规划、并行调度子智能体调研、对抗式核验、综合成带引用的结构化报告。当任务需要多来源、可追溯、需事实核查的深度研究时使用此技能。.

xerrors/Yuxi · 69 tokens

mysql reporter

生成 MySQL 查询报表并生成可视化图表。当用户需要查询 MySQL 数据库并以报表形式展示结果时使用此技能,包括:统计销售数据、分析用户行为、生成业务报表、查询业务指标等。.

xerrors/Yuxi · 55 tokens

knowledge-base

使用 Yuxi 知识库进行检索、打开文档、文档内定位和查看思维导图。当用户需要基于已配置知识库回答问题、核验资料或引用文档内容时使用此技能。.

xerrors/Yuxi · 54 tokens

background-task

Add or modify work that runs outside the request/response cycle — emails, document ingestion, webhooks, cleanups, scheduled jobs. Use when something is slow or fire-and-forget, or when adding a periodic/cron task. This project's queue is {{ cookiecutter.backgroundtasks }}.

vstorm-co/full-stack-ai-agent-template · 62 tokens

agent-tool

Add a new tool/function the AI agent can call (e.g. look something up, hit an external API, perform an action). Use when extending the assistant's capabilities, wiring a new function into the agent, or when the model needs a new action. This project uses {{ cookiecutter.aiframework }}.

vstorm-co/full-stack-ai-agent-template · 66 tokens