
Django S3 File Storage
Set up Django static and media files on AWS S3 with presigned URLs and test mocks
- Repository
- Jeffallan/claude-skills
- Stars
- 12,176
- Licence
- MIT
- Files
- 5 files
What it does
When installed, the agent knows how to configure a Django project so uploaded files and static assets are stored in an AWS S3 bucket instead of the local disk. It walks through the modern STORAGES settings, separating public media from private files, generating temporary presigned download or upload links, keeping credentials out of the code, and mocking S3 in tests so the test suite never touches a real bucket.
Great for
- Django developers moving file uploads or static files to AWS S3
- Teams that need some files public (via CDN) and others private behind temporary links
- Developers who want a least-privilege IAM policy and a safe test setup for storage code
Skip it if
- Projects not using Django or not using AWS S3 (the guidance is specific to both)
- Auditing a live production bucket without review, since the skill suggests grep and config changes that should be checked by a person before applying
- Non-AWS object stores, where the S3-specific settings and IAM advice would not apply
Try asking
- “Configure my Django 5.2 project to store media uploads in an S3 bucket using the STORAGES dict”
- “Audit my settings.py for hardcoded AWS keys and deprecated ACL settings”
- “Create a private storage backend that serves presigned download links for invoices”
- “Set up moto-based tests so my file upload tests don't hit real S3”
Install in 3 steps
- 1
Download the skill
The ZIP contains the 5 original files, the MIT licence and an attribution note.
django-storages-s3.zip - 2
Add it to your agent
Claude Code (all projects)
mkdir -p ~/.claude/skills && unzip django-storages-s3.zip -d ~/.claude/skills/Claude Code / Agent SDK (this project only)
mkdir -p .claude/skills && unzip django-storages-s3.zip -d .claude/skills/Claude apps (web/desktop): Settings → Capabilities → Skills → Upload skill, and choose the ZIP.
- 3
Ask for the task
No special command needed — the agent reads the skill's description and loads it when your request matches. Try one of the prompts above.
Get better results
- Give the agent your actual bucket region and Django version so it picks the right STORAGES keys and custom domain format.
- Review any generated IAM policy and settings changes before deploying, especially credential handling and presigned URL expiry.
- Ask the agent to run collectstatic and a test upload in a non-production bucket before switching live traffic.
What's inside
- references/configuration.md
- references/custom-backends.md
- references/presigned-urls.md
- references/testing-storages.md
- SKILL.md
Redistributed unmodified from Jeffallan/claude-skills under the MIT licence. The assessment was drafted with AI from the skill's files on 2026-10-29. Skills can instruct your agent to run code — read SKILL.md and any scripts before installing.