r2-transfer-service-playbook

Manage changes to the R2 transfer pipeline (Python service, Cloudflare Workers, PHP logger) with mandatory validations, allowlists, and regression checks.

16 stars

Best use case

r2-transfer-service-playbook is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Manage changes to the R2 transfer pipeline (Python service, Cloudflare Workers, PHP logger) with mandatory validations, allowlists, and regression checks.

Teams using r2-transfer-service-playbook should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/r2-transfer-service-playbook/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/devops/r2-transfer-service-playbook/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/r2-transfer-service-playbook/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How r2-transfer-service-playbook Compares

Feature / Agentr2-transfer-service-playbookStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Manage changes to the R2 transfer pipeline (Python service, Cloudflare Workers, PHP logger) with mandatory validations, allowlists, and regression checks.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# R2 Transfer Service Playbook

## Portée
Utilise ce skill lorsqu'une tâche touche :
- `services/r2_transfer_service.py`
- `email_processing/orchestrator.py` (section delivery_links / r2_url)
- `deployment/cloudflare-worker/*`
- `deployment/public_html/config_api.php`, `deployment/public_html/test-direct.php`, pages de test R2

## Pré-requis
- ENV obligatoires : `R2_BASE_URL`, `R2_FETCH_TOKEN`, `ALLOWED_R2_DOMAINS`.
- Virtualenv `/mnt/venv_ext4/venv_render_signal_server` pour les scripts/tests.
- Accès au déploiement Cloudflare Workers (wrangler).

## Workflow
1. **Analyse des dépendances**
   - Confirmer la présence des ENV ci-dessus.
   - Vérifier les allowlists (Dropbox/FromSmash/SwissTransfer) avant toute nouvelle source.
2. **Mises à jour Python**
   - Toujours valider les domaines via `is_allowed_domain`.
   - Injecter le header `X-R2-FETCH-TOKEN` pour chaque requête Worker.
   - Conserver les logs sans PII et retour fallback `raw_url` en cas d'échec.
3. **Workers Cloudflare**
   - Garder le mode fetch avec timeout 120s pour Dropbox `/scl/fo/`.
   - Mettre à jour `httpMetadata.contentDisposition` pour préserver le nom de fichier.
   - Exécuter `wrangler deploy --dry-run` (documenter la sortie).
4. **PHP Logger / Diagnostics**
   - Assurer que `config_api.php` continue d'écrire les paires `source_url`/`r2_url`.
   - Tester `deployment/public_html/test-direct.php` pour valider le flux complet.
5. **Tests & validation**
   - Lancer le helper `./.cline/skills/r2-transfer-service-playbook/test_r2_worker.sh`.
   - Compléter si besoin avec des tests ciblés sur les nouvelles sources.
6. **Documentation & Memory Bank**
   - Mettre à jour `docs/processing/file-offload.md` ou section dédiée R2.
   - Ajouter une entrée dans la Memory Bank si de nouvelles sources sont supportées.

## Ressources
- `test_r2_worker.sh` : active le venv, exécute les tests R2 et vérifie la page de test PHP.

## Conseils
- En cas de nouvelle plateforme de fichiers, créer un helper dédié (normalisation URL, validation).
- Limiter les retries côté Worker, gérer les erreurs HTTP explicitement.
- Garder les scripts de cleanup alignés (expiration 24h par défaut).

Related Skills

service-mesh-observability

16
from diegosouzapw/awesome-omni-skill

Implement comprehensive observability for service meshes including distributed tracing, metrics, and visualization. Use when setting up mesh monitoring, debugging latency issues, or implementing SL...

service-mesh-expert

16
from diegosouzapw/awesome-omni-skill

Expert service mesh architect specializing in Istio, Linkerd, and cloud-native networking patterns. Masters traffic management, security policies, observability integration, and multi-cluster mesh con

salesforce-service-cloud-automation

16
from diegosouzapw/awesome-omni-skill

Automate Salesforce Service Cloud tasks via Rube MCP (Composio). Always search tools first for current schemas.

go-services

16
from diegosouzapw/awesome-omni-skill

Go is the language of infrastructure. From Docker to Kubernetes to the entire cloud-native ecosystem, Go powers the systems that run the internet. It's not about what you can build - it's about what you won't break at 3 AM. This skill covers idiomatic Go patterns, error handling, concurrency with goroutines and channels, HTTP servers, microservice architecture, and the standard library that makes Go so powerful. Key insight: Go's simplicity is a feature. Fight the urge to abstract. Embrace boring, readable code. 2025 lesson: The teams succeeding with Go are the ones who resist overengineering. A main.go with 500 lines beats a "clean architecture" with 50 packages. Use when "golang, go service, go microservice, goroutine, channels, go http, go api, go backend, gin, fiber, chi router, go concurrency, go, golang, microservices, backend, concurrency, goroutines, channels, http, api" mentioned.

go-microservices

16
from diegosouzapw/awesome-omni-skill

Production-ready Go microservices patterns including Gin, Echo, gRPC, clean architecture, dependency injection, error handling, middleware, testing, Docker containerization, Kubernetes deployment, distributed tracing, observability with Prometheus, high-performance APIs, concurrent processing, database integration with GORM, Redis caching, message queues, and cloud-native best practices.

express-microservices-architecture

16
from diegosouzapw/awesome-omni-skill

Complete guide for building scalable microservices with Express.js including middleware patterns, routing strategies, error handling, production architecture, and deployment best practices

deployment-playbook

16
from diegosouzapw/awesome-omni-skill

Safe deployment steps and verification.

azure-servicebus-py

16
from diegosouzapw/awesome-omni-skill

Azure Service Bus SDK for Python messaging. Use for queues, topics, subscriptions, and enterprise messaging patterns.

azure-servicebus-dotnet

16
from diegosouzapw/awesome-omni-skill

Azure Service Bus SDK for .NET. Enterprise messaging with queues, topics, subscriptions, and sessions.

azure-mgmt-botservice-py

16
from diegosouzapw/awesome-omni-skill

Azure Bot Service Management SDK for Python. Use for creating, managing, and configuring Azure Bot Service resources.

azure-mgmt-botservice-dotnet

16
from diegosouzapw/awesome-omni-skill

Azure Resource Manager SDK for Bot Service in .NET. Management plane operations for creating and managing Azure Bot resources, channels (Teams, DirectLine, Slack), and connection settings.

ansible-playbooks

16
from diegosouzapw/awesome-omni-skill

Use when writing and organizing Ansible playbooks for automated configuration management and infrastructure orchestration.