Skip to content

Add django-storages-s3 skill - #14

Merged
abhex merged 1 commit into
arbisoft:mainfrom
awais786:awais/django-storages-s3-skill
Aug 13, 2026
Merged

Add django-storages-s3 skill#14
abhex merged 1 commit into
arbisoft:mainfrom
awais786:awais/django-storages-s3-skill

Conversation

@awais786

@awais786 awais786 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

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

  • New Claude agent
  • New / updated Claude rules
  • New / updated Claude skill
  • New / updated Cursor rule
  • Documentation update
  • Other (describe below)

What was added / changed

Checklist

  • File is placed in the correct directory
  • Filename follows the naming convention for its type (kebab-case)
  • YAML frontmatter is present and valid (for agents and skills)
  • Content is accurate, concise, and free of typos
  • No sensitive information (credentials, internal URLs, proprietary data) is included
  • README updated if this addition warrants a mention

Related issues / references

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).

@abhex abhex left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@abhex
abhex merged commit 34a8bba into arbisoft:main Aug 13, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants