Delete directory 'projects/salon-social-media-system'

This commit is contained in:
2026-08-13 20:48:01 +00:00
parent fa7f0b499e
commit c58e029cd9
9 changed files with 0 additions and 346 deletions
@@ -1,6 +0,0 @@
*.mp4
*.mov
*.avi
raw_footage/
*.tmp
.DS_Store
@@ -1,22 +0,0 @@
# Salon Social Media Production & Management System
**Hermes Agent Powered Pipeline for Phoenix Salon & Spa**
## Structure
- agents/: Role prompts and subagent configs
- docs/: Brand guidelines, calendar
- prompts/: Reusable prompts
- video/: Hyperframes + FFMPEG templates, clips
- assets/: Images and approved media
## Full Pipeline
1. Research (trends, local events)
2. Drafting (brand voice)
3. Video (clip, subtitle with Hyperframes, edit)
4. Review/QA
5. Postiz scheduling
6. Analytics feedback loop
Cron-ready. Human approval via Telegram.
See hermes-automation for execution scripts.
@@ -1,3 +0,0 @@
# Agents & Subagents
Hermes role prompts for research, writer, video editor, QA, etc.
@@ -1,3 +0,0 @@
# Docs & Guidelines
Brand voice, content calendar, posting schedule for Phoenix Salon.
@@ -1,16 +0,0 @@
# Phoenix Salon & Spa Brand Voice Skill
## When to Use
Use this skill for any content generation, drafting, or review in the Phoenix Salon social media pipeline.
## Procedure
1. Warm, professional, empowering tone.
2. Focus on client education, local community (Cameron Park/Placerville), ethical visuals.
3. Content Pillars: Tips (60%), Social Proof (20%), Promotions (15%), Community (5%).
4. Always include soft CTA for bookings.
## Examples
See examples in video/ and social media/ folders.
## Verification
Review for warmth and local relevance.
@@ -1,42 +0,0 @@
# Phoenix Salon Video Production
Simple, high-quality tools for making professional Reels.
## Goal
Produce clean, on-brand 1530 second vertical videos quickly without overcomplicating the process.
## Files in This Folder
| File | Purpose |
|------|--------|
| `hyperframes-reel-template.html` | Clean, production-ready HyperFrames template with good typography, logo placement, and timing structure |
| `ffmpeg-helpers.sh` | Simple, reliable commands for clipping, subtitles, vertical formatting, and exporting |
## Recommended Workflow (Minimal)
1. **Clip** the best 1520 seconds from raw footage
2. **Add subtitles** (burn clean, readable captions)
3. **Make vertical** (1080x1920)
4. **Add logo** (optional but recommended)
5. **Export** optimized for Instagram / TikTok
## Quick Start
```bash
# Make sure ffmpeg-helpers.sh is executable
chmod +x ffmpeg-helpers.sh
# Example full flow
./ffmpeg-helpers.sh clip raw.mp4 00:00:08 00:00:18 part1.mp4
./ffmpeg-helpers.sh burn_subtitles part1.mp4 captions.srt part1_subs.mp4
./ffmpeg-helpers.sh make_vertical part1_subs.mp4 reel.mp4
./ffmpeg-helpers.sh add_logo reel.mp4 logo.png final.mp4
./ffmpeg-helpers.sh export_reel final.mp4 phoenix-reel.mp4
```
## Notes
- Keep raw footage outside of Git (use .gitignore)
- For best results, record in good lighting with clear audio
- Use the HyperFrames template when you want more animated captions or polished motion graphics
Ready to make great content for Phoenix Salon & Spa.
@@ -1,42 +0,0 @@
#!/bin/bash
# ============================================
# Phoenix Salon - Simple FFmpeg Helper Commands
# Production-ready, no over-engineering
# ============================================
# 1. Quick clip from raw footage (start time + duration)
clip() {
ffmpeg -i "$1" -ss "$2" -t "$3" -c:v libx264 -preset fast -crf 18 -c:a aac -b:a 128k "${4:-clip.mp4}"
echo "✅ Clipped: ${4:-clip.mp4}"
}
# 2. Burn clean subtitles (SRT file)
burn_subtitles() {
ffmpeg -i "$1" -vf "subtitles=$2:force_style='FontSize=48,PrimaryColour=&HFFFFFF&,OutlineColour=&H000000&,BorderStyle=3,Outline=2,Shadow=0'" -c:v libx264 -preset fast -crf 18 -c:a copy "${3:-with_subs.mp4}"
echo "✅ Subtitles burned: ${3:-with_subs.mp4}"
}
# 3. Resize to perfect vertical 9:16 for Reels/TikTok
make_vertical() {
ffmpeg -i "$1" -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" -c:v libx264 -preset fast -crf 18 -c:a aac -b:a 128k "${2:-vertical.mp4}"
echo "✅ Made vertical 9:16: ${2:-vertical.mp4}"
}
# 4. Add logo (bottom center, with padding)
add_logo() {
ffmpeg -i "$1" -i "$2" -filter_complex "[1]scale=280:-1[logo];[0][logo]overlay=(W-w)/2:H-h-120" -c:v libx264 -preset fast -crf 18 -c:a copy "${3:-with_logo.mp4}"
echo "✅ Logo added: ${3:-with_logo.mp4}"
}
# 5. Full simple export (optimized for Instagram/TikTok)
export_reel() {
ffmpeg -i "$1" -c:v libx264 -preset slow -crf 19 -c:a aac -b:a 128k -movflags +faststart "${2:-final_reel.mp4}"
echo "✅ Exported optimized reel: ${2:-final_reel.mp4}"
}
# Quick usage examples:
# clip raw.mp4 00:00:12 00:00:18 best_part.mp4
# burn_subtitles clip.mp4 captions.srt final.mp4
# make_vertical final.mp4 reel.mp4
# add_logo reel.mp4 logo.png branded.mp4
# export_reel branded.mp4 phoenix-reel.mp4
@@ -1,142 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Phoenix Salon Reel Template</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@700&display=swap');
:root {
--salon-gold: #C5A26F;
--salon-dark: #2C2522;
}
body {
font-family: 'Inter', system_ui, sans-serif;
}
.heading-font {
font-family: 'Playfair Display', Georgia, serif;
}
.reel-container {
width: 1080px;
height: 1920px;
background: #1a1816;
position: relative;
overflow: hidden;
box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.4);
}
.caption {
font-size: 72px;
line-height: 1.1;
font-weight: 600;
color: white;
text-shadow: 0 4px 20px rgba(0,0,0,0.6);
padding: 0 60px;
text-align: center;
}
.caption-small {
font-size: 48px;
font-weight: 500;
}
.logo {
position: absolute;
bottom: 80px;
left: 50%;
transform: translateX(-50%);
font-size: 42px;
font-weight: 700;
color: #C5A26F;
letter-spacing: 4px;
}
.section {
position: absolute;
width: 100%;
padding: 0 80px;
box-sizing: border-box;
}
</style>
</head>
<body class="bg-zinc-950 flex items-center justify-center min-h-screen p-8">
<!-- REEL PREVIEW -->
<div class="reel-container mx-auto" id="reel">
<!-- Background Video / Image Placeholder -->
<div id="background"
class="absolute inset-0 bg-cover bg-center"
style="background-image: url('https://picsum.photos/id/1011/1080/1920');">
<div class="absolute inset-0 bg-black/40"></div>
</div>
<!-- Top Branding -->
<div class="absolute top-0 left-0 right-0 p-8 flex justify-between items-center z-10">
<div class="flex items-center gap-x-3">
<div class="w-9 h-9 rounded-full bg-[#C5A26F] flex items-center justify-center">
<i class="fa-solid fa-spa text-[#2C2522] text-xl"></i>
</div>
<div>
<div class="text-white text-2xl font-semibold tracking-tight">PHOENIX</div>
<div class="text-[#C5A26F] text-xs -mt-1 tracking-[3px]">SALON & SPA</div>
</div>
</div>
</div>
<!-- Main Caption Area -->
<div class="section flex flex-col justify-center h-full z-20" style="top: 28%;">
<!-- Hook Line -->
<div id="hook"
class="caption heading-font mb-6 opacity-0"
style="animation: fadeUp 0.6s forwards 0.3s;">
Your scalp deserves
<span class="text-[#C5A26F]">this.</span>
</div>
<!-- Body Text -->
<div id="body-text"
class="caption caption-small opacity-0"
style="animation: fadeUp 0.6s forwards 0.9s; max-width: 820px; margin: 0 auto;">
60 seconds to healthier hair this summer
</div>
</div>
<!-- Bottom CTA -->
<div class="absolute bottom-0 left-0 right-0 p-8 z-20">
<div class="flex flex-col items-center">
<div id="cta"
class="bg-white text-[#2C2522] px-10 py-4 rounded-2xl font-semibold text-3xl tracking-tight mb-4 opacity-0"
style="animation: fadeUp 0.5s forwards 1.6s;">
Book now
</div>
<div class="text-white/70 text-xl">Cameron Park • Placerville</div>
</div>
</div>
<!-- Logo -->
<div class="logo tracking-[6px] opacity-90">PHOENIX</div>
</div>
<script>
// Tailwind script for any dynamic classes if needed
function updateReelContent(hook, body, cta) {
document.getElementById('hook').innerHTML = hook;
document.getElementById('body-text').innerHTML = body;
document.getElementById('cta').innerHTML = cta;
}
// Example: updateReelContent("Summer hair rescue", "Start with a scalp treatment", "Book your spot");
</script>
</body>
</html>
@@ -1,70 +0,0 @@
# Salon Reel Video Pipeline Skill
**When to use this skill:**
You are producing short vertical Reels (9:16) for Phoenix Salon & Spa social media. The goal is fast, high-quality clips that educate, engage, and drive bookings. Typical length: 15-30 seconds.
**Core Principles (from OpenMontage patterns):**
- Break every video into clear stages with quality gates.
- Prefer real client footage + tasteful enhancements over heavy AI generation.
- Human approval is required before final render and before posting.
- Use HyperFrames for polished subtitles/overlays when possible; fall back to FFmpeg for speed.
**Pipeline Stages**
1. **Intake & Planning**
- Understand the goal of the Reel (educational tip, service highlight, promotion, behind-the-scenes).
- Identify key moments in raw footage or script.
- Decide on music mood, text overlays, and CTA.
2. **Clipping & Trimming**
- Extract the strongest 8-25 second segment(s).
- Use FFmpeg for fast, precise cuts:
```bash
ffmpeg -i input.mp4 -ss 00:00:05 -t 15 -c copy clip.mp4
```
- Keep multiple options if unsure.
3. **Transcription & Subtitling**
- Transcribe spoken content.
- Create big, readable, timed subtitles (karaoke or highlight style preferred for Reels).
- Use HyperFrames when high visual polish is needed.
- Burn subtitles with FFmpeg when speed matters:
```bash
ffmpeg -i clip.mp4 -vf "subtitles=subs.srt:force_style='Fontsize=24,PrimaryColour=&H00FFFFFF'" -c:a copy output.mp4
```
4. **Visual Enhancement & Branding**
- Add Phoenix Salon logo (lower third or corner).
- Color grade lightly for warm, relaxing spa feel.
- Add subtle transitions and motion graphics via HyperFrames if time allows.
- Ensure vertical 1080x1920 output.
5. **Audio Polish**
- Normalize audio levels.
- Add royalty-free background music that matches the mood (calm for education, upbeat for promotions).
- Duck music under voice.
6. **Quality Gate (Self-Review)**
- Watch the full clip.
- Check: readability of text, brand consistency, pacing, audio clarity, no spelling errors.
- Flag anything that feels off-brand or low quality.
7. **Human Approval Gate**
- Present the rendered Reel + description of changes to the human.
- Only proceed to export/finalize after explicit approval.
**Output Requirements**
- Final file must be vertical (1080x1920), under 30 seconds, H.264, good compression for social.
- Include caption text ready for Postiz.
- Log what worked well for future learning.
**Tools to Use**
- Terminal skill for FFmpeg commands
- HyperFrames skill for advanced composition and subtitles
- Browser or file tools for assets (logo, music)
**Pitfalls to Avoid**
- Over-editing (keep it natural and authentic for a salon).
- Tiny unreadable text on mobile.
- Forgetting the CTA at the end.
- Posting without human review on brand-sensitive content.