name: video-archive description: Archive published videos with all assets (script, audio, project, export). Use after publishing to social media to move completed work from active folders to historical archive.
Video Archive
Archive published videos with complete asset bundles for historical reference.
When to Use
- After confirming a video is published to social media
- When cleaning up
content/drafts/andprojects/folders - To create a permanent record with publish URLs
Archive Structure
archive/{project-slug}/
├── production_script.md ← Full production doc (story, scenes, timing, assets, music)
├── tts.txt ← TTS input for all voiceovers (emotion tags, pauses)
├── audio/ ← TTS audio files (flat)
│ ├── 001.mp3
│ ├── 002.mp3
│ └── ...
├── project.json ← Video editor timeline only
├── assets/ ← Project-specific assets
│ └── generated/ ← AI-generated images/videos
├── exports/ ← OPTIONAL: kept only if needed
│ └── final.mp4
└── metadata.json ← Status, dates, publish URLs
production_script.md
The complete production document containing:
- Story structure (hook, stakes, resolution)
- Scene breakdown with timing
- Visual assignments (which asset for which scene)
- Asset sources (recorded, AI-generated, playwright, stock)
- Music track, cuts, and volume levels
- Effects and transitions
- Pacing notes and rationale
- Brand compliance checklist
- Publish URLs
tts.txt
Fish Audio input file with:
- Emotion tags at sentence starts
# PAUSE: Xscomments for timing gaps- One line per audio segment
production_script.md Format
# Title of Video
**Duration:** 45s | **Style:** Fast-cuts | **Status:** Published
---
## Story
### Hook (0:00–0:03)
> "I forgot to design the most important moment in my app."
**Visual:** Text overlay, bold center, dark background
**Pacing:** Quick hit, 2s hold
### Stakes (0:03–0:15)
> "I'm building a quote delivery app..."
**Visual:**
- 0:03–0:06 — Phone notification (B-roll, recorded)
- 0:06–0:09 — App screenshot (playwright)
...
---
## Scene Breakdown
| Time | Voiceover | Visual | Asset | Source | Duration |
|------|-----------|--------|-------|--------|----------|
| 0:00 | "I forgot..." | Text overlay | — | AI text | 2s |
| 0:02 | — | Phone notif | phone.mp4 | Recorded | 3s |
---
## Audio
### Voiceover
- **Segments:** 12 files
- **Total:** 38s speech + 7s pauses
### Music
- **Track:** calm-piano.mp3
- **Source:** Artlist
- **Cuts:** fade-in 0:00, beat-sync 0:15, fade-out 0:42
---
## Assets
| Asset | Type | Source | License |
|-------|------|--------|---------|
| phone.mp4 | B-roll | Recorded | Own |
| xiroi.png | Screenshot | playwright | Own |
| bg.png | Background | AI (Grok) | Generated |
---
## Effects & Pacing
- Avg cut: 3.2s
- Pattern interrupts: 8
- Style: Fast hook, slow resolution
---
## Brand Compliance
- [x] Colors: #F7F5F0, #121212
- [x] Fonts: Playfair (quotes), Noto Serif (text)
- [x] Red accent: <5%
metadata.json Format
{
"slug": "2026-01-21_forgot_to_design_notification_tap_flow",
"title": "I forgot to design the notification tap flow",
"status": "published",
"dates": {
"scriptCreated": "2026-01-21T10:00:00Z",
"ttsGenerated": "2026-01-21T14:00:00Z",
"projectCreated": "2026-01-21T15:00:00Z",
"exported": "2026-01-25T10:00:00Z",
"published": "2026-01-25T12:00:00Z",
"archived": "2026-01-25T13:00:00Z"
},
"publish": {
"platforms": ["tiktok", "instagram"],
"urls": {
"tiktok": "https://www.tiktok.com/@username/video/123456",
"instagram": "https://www.instagram.com/reel/ABC123/"
}
},
"stats": {
"duration": 45,
"audioSegments": 12,
"clips": 24
},
"tags": ["building-in-public", "app-development", "ux-design"]
}
Archive Workflow
1. Confirm Publication
Before archiving, verify:
- Video is exported (
projects/{slug}/exports/*.mp4exists) - Video is published to at least one platform
- Collect publish URLs from user
2. Gather Assets
Collect from active folders:
| Source | Destination | Required |
|---|---|---|
content/drafts/{slug}.md |
Generate archive/{slug}/production_script.md |
Yes |
content/drafts/{slug}.txt |
archive/{slug}/tts.txt |
Yes |
content/drafts/{slug}.mp3 |
archive/{slug}/audio/full.mp3 |
If exists |
content/drafts/{slug}_segments/ |
archive/{slug}/audio/segments/ |
Yes |
projects/{slug}/project.json |
archive/{slug}/project.json |
Yes |
projects/{slug}/assets/generated/ |
archive/{slug}/assets/generated/ |
If exists |
projects/{slug}/exports/ |
archive/{slug}/exports/ |
Optional |
Note: production_script.md is generated by combining:
- Original script (
content/drafts/{slug}.md) - Project timeline analysis (
projects/{slug}/project.json) - Asset inventory
- Music and effects data
3. Create Metadata
Generate metadata.json with:
- Dates from file timestamps
- Publish URLs from user input
- Stats calculated from project.json
4. Clean Up Active Folders
After successful archive:
- Remove from
content/drafts/(script, TTS, audio files) - Remove from
projects/(project folder) - Keep
content/drafts/.gitkeepintact
MCP Tools
| Tool | Purpose |
|---|---|
video_archive |
Archive a published project |
video_list_archived |
List all archived projects |
video_get_archived |
Get archived project details |
video_archive
{
slug: string, // Project slug (e.g., "2026-01-21_forgot_to_design...")
publishUrls: { // Required: at least one platform
tiktok?: string,
instagram?: string,
youtube?: string,
twitter?: string
},
tags?: string[], // Optional: content tags for search
cleanup?: boolean // Default: true — remove from active folders
}
video_list_archived
{}
// Returns: [{ slug, title, publishedAt, platforms, duration }]
Example Usage
Archive After Publishing
User: "I just published the notification tap flow video to TikTok and Instagram"
AI: Let me archive that project.
1. Collect publish URLs:
- TikTok: https://www.tiktok.com/@xiroi/video/123
- Instagram: https://www.instagram.com/reel/ABC/
2. Call video_archive:
{
slug: "2026-01-21_forgot_to_design_notification_tap_flow",
publishUrls: {
tiktok: "https://www.tiktok.com/@xiroi/video/123",
instagram: "https://www.instagram.com/reel/ABC/"
},
tags: ["ux-design", "building-in-public"]
}
3. Confirm:
- Archived to: archive/2026-01-21_forgot_to_design_notification_tap_flow/
- Cleaned up: content/drafts/ and projects/
List Archived Videos
User: "What videos have we published?"
AI: Let me check the archive.
[Calls video_list_archived]
Published videos:
| Date | Title | Platforms | Duration |
|------|-------|-----------|----------|
| 2026-01-25 | I forgot to design... | TikTok, Instagram | 45s |
| 2026-01-18 | Small details polish | TikTok | 30s |
Retrieval for Reference
Archived projects can be referenced for:
- Reusing successful scripts as templates
- Checking past project.json structures
- Finding publish URLs for analytics
- Building a content calendar history
User: "Show me the script from the notification tap video"
AI: [Reads archive/2026-01-21_.../script.md]
Related Skills
video-workflow— Full production pipelinevideo-studio— MCP tools for editingcreate-social-media-content— Script writing
Status Values
| Status | Meaning |
|---|---|
script_draft |
Script in progress |
tts_pending |
Waiting for voiceover |
tts_complete |
Audio ready |
editing |
Video editing in progress |
exported |
Video rendered, not published |
published |
Posted to social media |
archived |
Moved to archive/ folder |