| name | skyyrose-social-crisis-comms |
| description | Plans and executes SkyyRose crisis communications — severity assessment, response drafting in Corey's voice, platform-by-platform escalation protocol, and post-crisis review — for shipping failures, product issues, viral complaints, or pre-order delays across any collection. |
| allowed-tools | Read Write Edit Glob |
SkyyRose Social — Crisis Communications
When to Use This Skill
- A shipping delay or pre-order fulfillment issue is generating public customer complaints
- A product quality issue has been reported by multiple customers publicly
- A negative post about SkyyRose is gaining traction on Instagram, TikTok, or X
- A community member leaks drop information and it goes viral before launch
- A community champion or collaborator posts something that creates brand-level backlash
- Proactively building a crisis response plan before any crisis happens
- Debriefing and documenting after a crisis has been resolved
DO NOT use this for routine moderation of individual community members (use skyyrose-social-community-moderation), for responding to a single negative review with no spread (handle directly in brand voice), or for monitoring brand mentions generally (use skyyrose-social-social-listening-plan). This skill is for situations where the brand's reputation is under real or escalating public pressure.
Brand Canon (non-negotiable)
- Speed and honesty win. A fast, direct, imperfect response beats a slow, polished, defensive one. "We're looking into it" with a specific timeline posted within 2 hours is better than a crafted statement posted 12 hours later.
- Tagline (exact):
Luxury Grows from Concrete. — do not use this in crisis responses. A crisis is not the moment to brandish the tagline. Save it for the resolution and the follow-up.
- Corey's voice, always. Even when legal is involved, the public response must sound like Corey wrote it — direct, specific, no corporate dodge. "We're aware of this. Here's what we know, here's what we're doing, here's when we'll follow up." Not "We apologize for any inconvenience this may have caused."
- Never delete negative comments unless they contain threats, slurs, or personal information. Deleting legitimate complaints is the fastest way to escalate a L1 into a L3.
- No hype recovery. After a crisis resolves, do not immediately pivot to drop announcements or promotional content. Earn back the trust first. The garment is the protagonist — let it recover the ground, not a campaign.
- Garment is the protagonist. Do not cross-sell or bundle in crisis messaging. A customer who got a delayed Love Hurts pre-order does not want to hear about the Signature Collection.
- Full canon:
../skyyrose-content-engine/brand-guardrails.md
Phase 1: Assess the Situation
Required Information (gather before drafting anything)
| Question | What to Establish |
|---|
| What happened? | The factual situation — not the narrative, the facts |
| Which customers/community members are affected? | Scope: 1 person, 10, 100+? |
| Is the issue ongoing or resolved? | Is the cause fixed, or is it still happening? |
| What is the current public exposure? | Contained to a DM? One post? Thread gaining traction? Trending? |
| What has been said publicly so far? | What's already out there — brand's own statements, customer posts |
| Which collections/products are involved? | This determines the correct emotional register for messaging |
Minimum to proceed: "what happened" + "is it ongoing" + "current public exposure."
Phase 2: Determine Crisis Level
## Crisis Severity Matrix
| Level | Description | Response Time | SkyyRose Examples |
|-------|----------------------------------------------------------|---------------|-------------------------------------------------------------|
| L1 | Single complaint, no spread, isolated | 24 hours | One customer DM about wrong size; one negative product review |
| L2 | 2-5 public posts gaining engagement; service or product issue with limited spread | 4-8 hours | Love Hurts pre-order delay affecting 20+ customers; shipping complaint thread on X |
| L3 | Viral negative attention; media inquiry; product/safety issue affecting many customers | 1-2 hours | Defective batch of product; viral TikTok about a bad experience; shipping failure during peak season |
| L4 | Brand-level reputation event; cultural incident; statement from Corey required | Immediate | Cultural harm allegation; community champion causes public backlash; major drop failure at scale |
Escalate up, not down. If unsure between L2 and L3, treat it as L3.
Phase 3: Draft Response Messages
Response Formula (every level)
Every SkyyRose crisis response follows this structure — in this order:
1. Acknowledge what happened — directly and without minimizing
2. Express genuine empathy — not performative, not lawyered
3. State what we are doing about it — specific actions, not vague promises
4. Commit to a follow-up with a specific timeline — "48 hours" not "soon"
Message Templates by Audience
Public Statement (Instagram post, TikTok comment, X post)
[1-3 short paragraphs. Under 200 words. No promotional language.]
[Acknowledge the issue specifically — not generically]
[State current status: what we know, what we're doing]
[Specific timeline for follow-up update]
[Direct channel for affected customers: DM or email]
Do NOT: use the tagline, cross-sell, use countdown language,
reference other collections, delete the original complaint thread.
Customer email (for affected buyers)
Subject: [Specific issue — not "An important message"]
Example: "Your Love Hurts pre-order — what's happening and what we're doing"
Hi [Name],
[Paragraph 1: Acknowledge what happened and that they're affected]
[Paragraph 2: What specifically we're doing for them — refund, replacement, timeline]
[Paragraph 3: How to reach us directly for questions]
— Corey (or signed by the actual person handling it)
Internal team message (community champions, contractors)
Subject: [Crisis level] — [One-line description]
What happened: [facts]
Who's affected: [scope]
Current status: [resolved/ongoing]
If customers contact you:
- [Specific approved talking point 1]
- [Specific approved talking point 2]
- Direct them to: [email/DM channel]
What NOT to say:
- [Anything speculative about the cause]
- [Timelines that haven't been confirmed]
- [Anything about other collections or products]
Do NOT post on personal social about this. Do NOT forward this message.
Holding statement (post immediately, before full response is ready)
"We're aware of [specific issue]. We're looking into it now and will share
a full update within [2/4/8 hours]. If you're affected, reach out directly
at [email or DM].
— SkyyRose"
Note: Never use "soon" as the timeline. Specify hours.
Phase 4: Escalation Protocol
## Crisis Escalation Steps
Step 1: PAUSE — stop all scheduled social posts immediately
Use [scheduler tool] to pause all upcoming content
Do NOT pause the official accounts themselves — we need them active for response
Step 2: ASSESS — gather facts using the Phase 1 questions
Do not draft a response until you know: what happened, scope, current status
10 minutes of fact-gathering prevents 48 hours of damage control
Step 3: DETERMINE LEVEL — use the severity matrix above
When unsure: escalate up
Step 4: ESCALATE — contact Corey
L1: Notify by EOD
L2: Notify within 1 hour via call or DM
L3: Notify immediately — interrupt whatever he's doing
L4: Corey leads all communications directly
Step 5: POST HOLDING STATEMENT — within the response time window
Do not wait for the full response to be ready
A holding statement that arrives in 30 minutes beats a polished response in 4 hours
Step 6: DRAFT FULL RESPONSE — Corey approves before any public post
Use the message templates above per audience
Every public statement gets Corey's sign-off
Do not post in response to the crisis situation without approval (L2+)
Step 7: RESPOND — post approved statement across all relevant platforms
Respond in the same channel where the crisis is happening (if TikTok, respond on TikTok)
For L3+: post across all platforms, not just where the fire is
Step 8: MONITOR — track the conversation every 2 hours for 72 hours
Use the listening workflow from skyyrose-social-social-listening-plan
Document every new development in the crisis log
Step 9: FOLLOW-UP — post the resolution update
Within the committed timeframe
If the timeline slips: acknowledge the slip and provide a new one
Step 10: DEBRIEF — after resolution, document the incident
See Phase 5
Escalation Contacts
## Contact Escalation Tree
L1-L2 initial assessment: Social lead
L2-L3 escalation: Corey Foster — [contact method]
L4 or legal concern: Corey Foster + legal counsel — [contact method]
Platform trust & safety (doxxing, threats): Direct platform report [links]
All crisis communications sent through official channels only.
No responding from personal accounts while acting in a brand capacity.
Phase 5: Post-Crisis Review
After every L2+ crisis is resolved:
## Crisis Debrief Template
Incident: [one-line description]
Date(s): [start to resolution]
Level: [L1/L2/L3/L4]
Collections/products affected: [names, not SKUs]
Timeline:
[Date/time]: [what happened]
[Date/time]: [when we became aware]
[Date/time]: [first response posted]
[Date/time]: [full response posted]
[Date/time]: [resolution / follow-up posted]
What caused the crisis:
[Root cause — honest, specific]
What worked in our response:
[Specific things that helped contain or resolve]
What didn't work:
[Specific failures — response was too slow, wrong channel, message missed the mark]
What changes are needed:
→ [Specific process change]
→ [Specific product or operational change]
→ [Policy update, if applicable]
Customer impact:
Affected: [N] customers
Refunded/resolved: [N]
Outstanding: [N]
Brand sentiment 1 week post-crisis vs. pre-crisis:
[From listening data — up/neutral/down]
Implementation
from agents.social_media_agent import SocialMediaAgent
agent = SocialMediaAgent()
holding_stmt = agent.generate_post(
sku=None,
platform="instagram",
post_type="crisis_holding_statement",
context={
"crisis_level": "L2",
"issue_type": "shipping_delay",
"collection": "love-hurts",
"response_window_hours": 4,
"contact_channel": "DM or email@skyyrose.co"
}
)
print(holding_stmt.caption)
public_stmt = agent.generate_post(
sku="love-hurts-jogger",
platform="instagram",
post_type="crisis_public_statement",
context={
"crisis_level": "L3",
"issue_type": "product_quality",
"collection": "love-hurts",
"affected_count": 15,
"action_taken": "batch_pulled_refunds_issued",
"follow_up_hours": 48
}
)
print(public_stmt.caption)
python -m skyyrose.elite_studio.ventures.social smoke \
--sku love-hurts-jogger \
--post-type crisis_holding_statement \
--platform instagram
{
"incident_id": "crisis-2026-001",
"date_opened": "2026-06-15T14:30:00-07:00",
"date_resolved": "2026-06-17T10:00:00-07:00",
"level": "L2",
"issue_type": "shipping_delay",
"collections_affected": ["love-hurts"],
"products_affected": ["Love Hurts Jogger", "Love Hurts Crewneck"],
"customers_affected": 22,
"customers_resolved": 22,
"holding_statement_posted_at": "2026-06-15T15:45:00-07:00",
"full_statement_posted_at": "2026-06-15T18:00:00-07:00",
"resolution_posted_at": "2026-06-17T10:00:00-07:00",
"root_cause": "3PL carrier delay on Love Hurts pre-order batch — resolved by switching carrier",
"public_channels": ["instagram_post", "x_thread", "discord_announcement"],
"requires_policy_update": true,
"policy_update_notes": "Add 3PL backup carrier to fulfillment SOP"
}
Example: Love Hurts Pre-Order Shipping Delay (L2)
Situation: Love Hurts pre-order shipped 12 days late. 22 customers publicly post on Instagram and X asking where their orders are. One X thread has 85 replies and is growing.
Assessment:
- Factual issue: 3PL carrier delay — orders are in transit, not lost
- Affected: 22 customers known, 22 with public posts
- Status: ongoing (orders in transit, not delivered)
- Public exposure: L2 (X thread gaining traction)
- Collection: Love Hurts register — raw passion, the bloodline
Step 1 — Pause all scheduled content immediately.
Step 2 — Post holding statement (within 1 hour of identifying the thread):
"We see your messages about Love Hurts pre-orders. They shipped — our 3PL carrier is running behind, and that's on us to have caught sooner.
If you haven't received a tracking update, DM us your order number and we'll get you the current status directly.
We'll post a full update with tracking information for all affected orders by 6pm PST today.
— SkyyRose"
Love Hurts voice check: Direct, owns the problem, no excuse-making, no promotional language, specific timeline. Raw and honest — that's the Love Hurts register. Not "We apologize for any inconvenience." Not "🙏 Thank you for your patience."
Step 3 — Customer email to all affected orders:
Subject: Your Love Hurts order — here's what's happening
[Name],
Your Love Hurts pre-order shipped on [date]. Our 3PL carrier delayed the batch and that delay wasn't caught or communicated to you early enough. That's on us.
Here's your tracking link: [URL]. Current estimated delivery: [date range].
If it doesn't arrive by [date]: reply to this email and we'll issue a full refund or send a replacement from the next run — your call.
— Corey
Step 4 — Follow-up post (by 6pm PST as committed):
Update: All Love Hurts pre-orders have tracking numbers. Links have been sent to every order email. Carrier estimates [date range] for delivery.
If you haven't received your tracking email, check your spam folder or DM us your order number directly.
For the delay — that's a fulfillment system we're fixing. You'll see the result in the next drop.
— SkyyRose
Anti-Patterns
- Waiting for the "perfect" response — a holding statement posted in 45 minutes is more valuable than a polished statement posted in 4 hours. The silence between the crisis being public and the brand's response is where the most damage happens.
- Deleting negative comments — removing a legitimate complaint about a Love Hurts delayed order does not make the complaint go away; it creates a screenshot of the deletion and a louder second wave. Never delete unless the comment contains threats, slurs, or personal information.
- Corporate deflection language — "We apologize for any inconvenience this experience may have caused to your customer journey" is not Corey's voice and it reads as inauthentic. "We shipped late. That's on us. Here's what we're doing." is.
- Cross-selling during crisis recovery — if we ship a late Love Hurts order and the resolution email includes "While you wait, check out the Signature Collection," that customer will never buy again. Crisis resolution communications are single-focus.
- Collection voice errors in crisis messaging — if the crisis involves Love Hurts products, the messaging uses the Love Hurts register (raw, direct, owns the emotion). Not Signature's "stay golden" aspirational tone. Not Black Rose's defiant armor stance.
- Team members going off-script publicly — a community champion responding to the X thread with "we're working on it!!!" before the holding statement is posted creates conflicting messaging. Internal message templates must be sent to all representatives before the public statement goes live.
- "Soon" as a timeline — every crisis communication contains a specific follow-up window. "We'll share more information soon" is the single most trust-eroding phrase in crisis communications.
- Not resuming content after resolution — pausing all content is correct during a crisis. Keeping everything dark for weeks after resolution reads as the brand being embarrassed. Resume normal content within 48-72 hours of resolution, starting with product content (never a promotional campaign).
- Skipping the debrief — the crisis debrief is the most important part. It's what prevents the next one or reduces the next one's severity. Document every incident, every L2+.
Recovery
- The user wants to ignore the crisis: Silence is interpreted as guilt or indifference. Even a holding statement posted within 2 hours is better than nothing. Show them the holding statement template — it takes 10 minutes, buys 4 hours, and is infinitely better than silence.
- Legal concern about admitting fault: Empathy is not admission of liability. "We're sorry this happened" (not "We're sorry we caused this") protects the brand legally while preserving trust. Draft both versions and let counsel pick.
- Crisis is escalating faster than response prep: Post the holding statement immediately — do not wait for the full response to be ready. The holding statement exists specifically for this scenario.
- Corey is unavailable and the crisis is L3: The social lead can post the pre-approved holding statement without Corey's sign-off. For anything beyond the holding statement, wait for Corey or his explicit written delegation of approval authority.
- A community champion caused the crisis through their personal post: Address the member first (remove their community access per the moderation skill), then address the public situation separately. The public statement does not need to name the individual; it addresses the brand's values and position.
- The crisis is a cultural incident (allegations of appropriation, disrespect toward the community SkyyRose represents): This is L4. Corey speaks directly — no statement drafted by someone else. The response must be personal, specific, and honest about what happened and what will change. No boilerplate, no PR language, no tagline.
- Negative sentiment persists weeks after resolution: Monitor via
skyyrose-social-social-listening-plan. The only recovery is consistent follow-through on every committed change. If we said we were fixing the 3PL, the next drop ships on time and we say so. Actions rebuild the trust; statements alone do not.