media-storage-lifecycle

Select storage boundaries and define ownership, expiry, and cleanup rules for media objects.

25|1|Updated Feb 10, 2026
One-click install
npx skills add https://github.com/wisdom-in-a-nutshell/agents --skill media-storage-lifecycle-wisdom-in-a-nutshell
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: media-storage-lifecycle
Source: https://github.com/wisdom-in-a-nutshell/agents/tree/main/skills-source/owned/media-storage-lifecycle
Command: npx skills add https://github.com/wisdom-in-a-nutshell/agents --skill media-storage-lifecycle-wisdom-in-a-nutshell

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Teams working across WIN, Modal, aipodcasting, and Remotion often upload every intermediate file to S3, lose track of object ownership, and leave orphaned or expired media behind. This Skill provides a cross-repo decision contract for choosing the shortest-lived storage boundary that satisfies the next real consumer. ## Core Features & Use Cases - Storage Decision Table: Routes each media artifact to container-local files, Modal internal artifacts, S3 cache/share/permanent prefixes, or provider-owned storage based on who consumes it next. - Ownership and Cleanup Rules: Enforces stable key families, safe replacement ordering, complete deletion, and orphan detection for durable objects. - Use Case: When a Modal function produces a podcast episode, use this Skill to decide whether the audio stays as a Modal internal artifact streamed to Transistor or needs an S3 cache URL, avoiding an unnecessary permanent S3 copy. ## Quick Start Use the media-storage-lifecycle skill to decide where the output of my Modal transcription job should be stored and how it should be cleaned up.

Frequently Asked Questions about media-storage-lifecycle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between S3 cache, share, and permanent storage for media files?▼

Choose S3 cache for temporary transport to browsers or HTTP-only consumers, share for time-bounded user-facing deliverables with a named owner, and permanent only for canonical durable inventory with an owner-stable key. Default to the shortest-lived boundary that satisfies the next consumer.

When should I use Modal internal artifacts instead of uploading to S3?▼

Use Modal internal artifacts whenever another Modal container or a bounded retry needs the bytes, since they provide typed, validated handoff without a public S3 intermediate. Only materialize publicly at the first consumer that genuinely needs an HTTP URL.

Can I store an S3 cache URL in MongoDB as a durable reference?▼

No, a cache or share URL stored in Mongo is never durable merely because the string remains. Active work must validate the object, and reacquire, regenerate, or fail with a clear re-upload requirement when it is missing.

How do I safely replace or delete a permanent media object?▼

Commit the new authoritative reference first, then delete the previous exact managed object only when no other record shares it. If post-commit cleanup fails, keep the new reference valid, log the orphan, and let inventory reporting detect it.

Should I keep an S3 copy after uploading media to YouTube or Transistor?▼

No, when a provider like Ghost, YouTube, or Transistor accepts and owns the final bytes, upload directly and persist only the provider identity the product needs. Do not retain a duplicate S3 final without naming a separate consumer.