Add django-storages-s3 skill - #14
Merged
Merged
Conversation
Production S3 file storage for Django via django-storages and boto3: STORAGES dict (4.2+), public/private custom backends, presigned GET/POST URLs, CloudFront, least-privilege IAM, and testing with InMemoryStorage or moto. SKILL.md routes to four reference files. Ported from the upstream Jeffallan/claude-skills repo (commit 2bb8261), adapted to this repo's conventions: origin/related-skills frontmatter and Related Skills pointing at django-patterns, django-security, and django-tdd. Adds one note not in the upstream version: storages.backends.s3boto3 has been a backwards-compat shim since django-storages 1.14, with the canonical classes now in storages.backends.s3 (S3Storage / S3StaticStorage). The legacy aliases are the same objects, so existing configs keep working. Verified against Django 6.1, django-storages 1.14.6 and boto3 1.43.70 with a throwaway project driving moto-mocked S3: uploads land under the right prefix, media and static stay separate, named backends resolve, presigned GET/POST roundtrip, and both documented pitfalls reproduce. Also refreshes the skill count in README.md and CLAUDE.md (183 -> 185; the count was already one behind before this addition).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Production S3 file storage for Django via django-storages and boto3: STORAGES dict (4.2+), public/private custom backends, presigned GET/POST URLs, CloudFront, least-privilege IAM, and testing with InMemoryStorage or moto.
SKILL.md routes to four reference files. Ported from the upstream Jeffallan/claude-skills repo (commit 2bb8261), adapted to this repo's conventions: origin/related-skills frontmatter and Related Skills pointing at django-patterns, django-security, and django-tdd.
Adds one note not in the upstream version: storages.backends.s3boto3 has been a backwards-compat shim since django-storages 1.14, with the canonical classes now in storages.backends.s3 (S3Storage / S3StaticStorage). The legacy aliases are the same objects, so existing configs keep working.
Verified against Django 6.1, django-storages 1.14.6 and boto3 1.43.70 with a throwaway project driving moto-mocked S3: uploads land under the right prefix, media and static stay separate, named backends resolve, presigned GET/POST roundtrip, and both documented pitfalls reproduce.
Also refreshes the skill count in README.md and CLAUDE.md (183 -> 185; the count was already one behind before this addition).
Summary
Type of change
What was added / changed
Checklist
kebab-case)Related issues / references