| name | skyyrose-social-social-media-calendar |
| description | Builds SkyyRose weekly and monthly content calendars with daily pillar themes, collection-voice assignments, format specs, and optimal posting times for Instagram, TikTok, Pinterest, and X. |
| allowed-tools | Read Write Edit Glob |
SkyyRose Social — Social Media Calendar
When to Use This Skill
- Planning the upcoming week's or month's posts across all active SkyyRose platforms
- Assigning the correct collection voice to each scheduled content slot
- Filling in a monthly calendar that accounts for drop windows and Monthly Specials
- Generating a batch-creation guide so one shoot session covers a full week
- Onboarding a social coordinator who needs a repeatable daily structure
DO NOT use this skill for building the overall platform strategy (use skyyrose-social-social-media-strategy) or writing individual post captions (use skyyrose-social-instagram-carousel, skyyrose-social-tiktok-script). This skill handles scheduling and structure, not content writing.
Brand Canon (non-negotiable)
- Tagline is verbatim:
Luxury Grows from Concrete. Period included. Use in Friday exclusivity posts and Month 4 drop hype — never paraphrase.
- Daily collection voice discipline: Every planned slot must note which collection it represents — and that collection's voice is locked. Black Rose = armor. Love Hurts = bloodline. Signature = the standard. Kids = little royalty.
- No urgency-manipulation language in any calendar slot description. Exclusivity is stated as fact, not manufactured pressure.
- Products by NAME in every slot description. "BLACK Rose Crewneck" not "br-001". Downstream creators pull from calendar descriptions.
- Oakland-first framing in Brand Story and Culture slots. Bay Area acceptable; The Town preferred.
Full canon: ../skyyrose-content-engine/brand-guardrails.md
Phase 1: Brief
Required Inputs
| Input | What to Confirm | Default |
|---|
| Calendar period | Week, 2 weeks, or full month? | 2 weeks |
| Active platforms | Instagram, TikTok, Pinterest, X — which are active? | IG + TikTok primary |
| Upcoming drops / pre-orders | Any collection launches in this window? | Check catalog |
| Founder availability | Is Corey available for any on-camera slots? | Note in brief |
| UGC inventory | Any customer tags or community content to work in? | Check IG mentions |
GATE: Confirm brief before building calendar. If a collection drop falls within the calendar window, it dominates Weeks 2-3 with elevated Product Showcase and Exclusivity ratios.
Phase 2: Outline
## Weekly Theme Structure
| Day | Pillar | Format | Collection Focus | Platform |
|-----|--------|--------|-----------------|---------|
| Mon | Brand Story | Carousel or long-caption static | Brand-wide or specific collection | IG Feed |
| Tue | Product Showcase | Reel / TikTok 15-30s | Active drop or featured SKU | IG Reels + TikTok |
| Wed | Culture & Community | UGC repost or community spotlight | Community-wide | IG Stories + X |
| Thu | Lifestyle | Styled outfit photo or mood board | Rotates by collection | IG Feed + Pinterest |
| Fri | Product Showcase | BTS video — production or packing | Current collection | TikTok + IG Reels |
| Sat | Exclusivity | Countdown, teaser, or sold-out flex | Drop-specific | IG Stories + X |
| Sun | REST or Engagement | Poll, Q&A, or community reply | N/A | IG Stories |
GATE: Approve weekly framework before filling in specific content slots.
Phase 3: Write
Daily Stories (in addition to feed posts)
- 2-3 Stories per day minimum
- Mix: behind-the-scenes production, product close-up detail shots, polls ("Which colorway?"), customer DM screenshots (with permission), repost of customer tags
- IG Story Highlights: one cover per collection (Black Rose, Love Hurts, Signature, Kids) + "Behind the Studio" + "Orders & Reviews"
Full Calendar Template — Per Slot
### [Day], [Date] — [Pillar]
**Platform:** [Instagram / TikTok / X / Pinterest]
**Format:** [Static / Carousel / Reel / TikTok / Story / Pin]
**Collection:** [Black Rose / Love Hurts / Signature / Kids Capsule / Brand-wide]
**Voice note:** [1-line reminder of this collection's register, e.g., "Armor. Gothic luxury. 'Concrete answering back.'"]
**Topic:** [Specific post topic — product name by name, or brand story angle]
**Post time (PST):** [HH:MM]
**CTA:** [What we want audience to do — comment, link in bio, DM, save]
**Visual note:** [Color palette cue, shot direction, or mood reference from The Five]
**Caption hook:** [First sentence only — must stop scroll before the "...more" break]
2-Week Production Calendar — SkyyRose Template
WEEK 1
Mon — Brand Story
IG Feed | Static + long caption | Brand-wide
Voice: Corey's origin. Oakland concrete → SkyyRose.
Topic: "Why I Started SkyyRose" founder post — pull from interview notes
Time: 11:00 AM PST
CTA: "Save this and share it with someone from The Town."
Visual: Warm, golden, minimal — Fear of God tonal restraint meets Oaklandish roots
Tue — Product Showcase
IG Reels + TikTok | 15-30s video | [Active drop collection]
Voice: Match to collection (see brand-guardrails.md §3)
Topic: Hero product reveal — first look, styled on body
Time: 12:00 PM PST (both platforms)
CTA: "Link in bio — pre-order open now" or "Comment DROP for early access"
Visual: Dark, editorial, 4:5 crop for Reel still frame
Wed — Culture & Community
IG Stories + X | Repost or spotlight | Community-wide
Topic: Feature a customer tag or Oakland cultural moment
Time: 12:00 PM PST (Stories), 8:00 AM PST (X thread)
CTA: "Tag @skyyroseco in your fit" / "Quote-tweet with your city"
Visual: Customer's own photo (request permission), repurpose with IG Stories sticker overlay
Thu — Lifestyle
IG Feed + Pinterest | Styled outfit photo | Rotate by collection week over week
Topic: "How to wear [Product Name] in The Town" — context-specific styling
Time: 11:00 AM PST (IG), schedule via Tailwind (Pinterest)
CTA: "Save to your style board" / "Shop the exact look — link in bio"
Visual: Real Oakland setting preferred. Culture Kings energy for the pose; Kith polish for the edit
Fri — Product Showcase (BTS)
TikTok + IG Reels | 30s BTS | Current collection
Topic: Behind-the-scenes — packing an order, inspecting embroidery, or sewing detail
Time: 9:00 PM PST (TikTok prime time), 7:00 PM PST (IG Reels)
CTA: "Every order packed by hand — skyyrose.co"
Visual: Close-up fabric texture, hands, real production environment — no staged studio
Sat — Exclusivity
IG Stories + X | Countdown frame or sold-out flex
Topic: "X orders shipped this week" or "Pre-order closes [date]" — stated as fact, not urgency theater
Time: 10:00 AM PST
CTA: "Pre-order at skyyrose.co before it closes"
Visual: Product on clean dark background, gold/silver/crimson accent per collection
Sun — REST or Engagement
IG Stories | Poll or Q&A
Topic: "Which collection is your wardrobe right now?" or open question box for community
Time: 2:00 PM PST
CTA: "Reply — we actually read these"
Visual: Simple branded frame, minimal text
---
WEEK 2 — Mirror structure, rotate collection focus
Mon: Brand Story → shift to collection-specific story arc (e.g., "Why Black Rose exists")
Tue: Product Showcase → different SKU or styling angle from same collection
Wed: Culture & Community → Oakland landmarks, Black culture moment, or community spotlight
Thu: Lifestyle → different collection than Week 1 Thursday
Fri: BTS → production detail or founder workspace
Sat: Exclusivity → different angle (waitlist, sold-out announcement, or teaser for next drop)
Sun: Engagement → different poll question
Monthly Specials
| Week | Special Focus | Notes |
|---|
| Week 1 | "Behind the Brand" series | 4 posts telling one brand story arc (Mon/Tue/Thu/Fri) |
| Week 2 | Product deep-dive | One product, 4 angles over the week — fabric, styling, production, worn |
| Week 3 | Community week | All UGC, customer spotlights, reposts, community Q&A |
| Week 4 | Drop hype or next-month preview | Either close current pre-order window or seed next collection |
Optimal Posting Times (PST — SkyyRose audience)
| Platform | Best Days | Best Times (PST) |
|---|
| Instagram Feed | Mon, Tue, Thu, Fri | 11am–1pm or 7–9pm |
| Instagram Reels | Tue, Thu, Sat | 12pm or 8pm |
| TikTok | Mon–Sat | 9am, 12pm, or 9pm |
| X / Twitter | Mon–Fri | 8am, 12pm, or 5pm |
| Pinterest | Every day | Schedule via Tailwind — evergreen |
Repurposing Map (per calendar slot)
| Original Slot | Repurpose As | Platform |
|---|
| TikTok BTS video (Fri) | IG Reel, same week | Instagram |
| IG Feed product photo (Thu) | Pinterest pin with WC product link | Pinterest |
| X thread on drop (Sat) | IG Caption long-form version | Instagram Feed |
| IG Carousel (Mon) | Pinterest pin set — one per slide | Pinterest |
Implementation
from agents.social_media_agent import SocialMediaAgent
agent = SocialMediaAgent()
tuesday_post = agent.generate_post("br-001", "instagram", "product_launch")
print(tuesday_post.caption)
print(tuesday_post.hashtags)
friday_bts = agent.generate_post("br-001", "tiktok", "behind_scenes")
print(friday_bts.caption)
campaign = agent.generate_campaign(
collection="black-rose",
platforms=["instagram", "tiktok"],
content_types=["product_launch", "behind_scenes", "engagement"]
)
python -m skyyrose.elite_studio.ventures.social smoke --sku br-001
{
"week": "2026-W23",
"slots": [
{
"date": "2026-06-02",
"day": "Monday",
"pillar": "brand_story",
"platform": "instagram",
"format": "carousel",
"collection": "brand-wide",
"product_name": null,
"sku": null,
"post_time_pst": "11:00",
"cta": "Save this and share it with someone from The Town.",
"voice_note": "Corey's origin. Oakland concrete to SkyyRose."
Example: 1-Week Calendar — BLACK Rose Crewneck Launch Week
Context: BLACK Rose Crewneck pre-order opens Thursday. Corey available Tuesday for a short on-camera segment.
Mon — Brand Story
IG Feed | Carousel 5 slides | Black Rose
Voice: "Armor. Gothic luxury. The concrete answers back."
Topic: "Why Black Rose exists" — collection origin story, 5 slides
Time: 11:00 AM PST
CTA: "Save this. Something built for The Town drops Thursday."
Hook: "This collection isn't fashion. It's armor."
Tue — Product Showcase (Corey on camera)
TikTok + IG Reel | 30s talking-head + product reveal | Black Rose
Voice: "You already stood up. Now dress like it."
Topic: Corey holds up BLACK Rose Crewneck. Speaks 10 seconds about why he made it.
Time: 12:00 PM PST
CTA: "Pre-order opens Thursday. Link in bio."
Wed — Culture & Community
IG Stories + X | Oakland Black culture moment | Community
Topic: Repost a community member's Oakland winter fit. Tie to the armor theme.
Time: 12:00 PM PST (Stories), 8:00 AM PST (X)
CTA: "Tag us in your Town fits. Something built for exactly this weather drops Thursday."
Thu — LAUNCH DAY — Product Showcase
IG Feed + TikTok + X | Full product reveal | Black Rose
Topic: BLACK Rose Crewneck — full product images, construction details, pre-order live
Time: 11:00 AM PST simultaneously on all platforms
CTA: "Pre-order open now at skyyrose.co — limited run"
Voice: Keep it earned, direct. "250 made. Pre-order is how you lock yours."
Fri — BTS
TikTok + IG Reels | 30s | Black Rose
Topic: Packing first pre-orders. Embroidery close-up. Hands folding the crewneck.
Time: 9:00 PM PST
CTA: "Every order packed by hand. skyyrose.co"
Sat — Exclusivity
IG Stories + X | Pre-order status | Black Rose
Topic: "Pre-orders are [X]% claimed. Once they're gone, they're gone."
Time: 10:00 AM PST
CTA: "Link in bio while pre-orders last."
Sun — Engagement
IG Stories | Poll | Brand-wide
Topic: "Black Rose or Signature — what's next on your SkyyRose wishlist?"
Time: 2:00 PM PST
Anti-Patterns
- No collection voice notation in slots — If a calendar slot doesn't specify the collection register, whoever writes the caption may default to wrong language. Every slot must name the collection.
- Identical posting times on all platforms — IG Reels and TikTok share similar audience but different prime-time windows. TikTok peaks later in the evening; schedule accordingly.
- Over-planning 4+ weeks ahead — Week 3+ content should be blocked themes only, not specific topics. Drop windows shift; locked-in topics become stale.
- No flexibility buffer — Leave at least one slot per week unassigned for reactive cultural moments or trending audio opportunities.
- Monthly Specials ignored — Community Week (Week 3) consistently gets skipped in favor of product content. Community content drives the trust that makes product drops convert.
- Sunday always skipped — Engagement-only Sundays feel low-value but they drive the algorithmic favor that amplifies Monday's Brand Story post. Do not skip.
Recovery
- Missed posting days: Do not batch-post 3x in one day to "catch up". Skip the missed slot and resume the next scheduled post. Cramming signals desperation, not consistency.
- No UGC for Wednesday: Run a Community slot with an Oakland cultural moment (a piece of Bay Area history, a local event, a cultural reference that fits the brand) instead. Never manufacture UGC.
- Shoot day cancelled: Reschedule the week's video slots to the following week and fill with existing asset repurposes — an older carousel slide as a static post, a Pinterest pin cross-posted to IG Stories.
- Calendar not performing: Change one variable at a time — first test post time, then format, then caption hook. Never overhaul the entire calendar because one week underperformed.
- Cannot batch-create content: Block 90 minutes every Sunday to create the next week's text posts. Protect that window. A small consistent calendar beats an ambitious abandoned one.