| name | skyyrose-social-hashtag-strategy |
| description | Builds SkyyRose-specific hashtag banks organized by collection, content pillar, and reach tier — with copy-paste sets for Instagram, TikTok, and Pinterest that are ready to use without research. |
| allowed-tools | Read Write Edit Glob |
SkyyRose Social — Hashtag Strategy
When to Use This Skill
- Generating hashtag sets for a new collection campaign or product drop
- Building the hashtag bank referenced in
skyyrose-social-social-media-calendar slots
- Rotating to fresh sets after using the same tags for 2+ weeks on Instagram
- Generating platform-specific sets (IG vs. TikTok vs. Pinterest treat hashtags differently)
- Launching a new branded hashtag for a collection or seasonal campaign
- Fixing a discoverability gap identified in a
skyyrose-social-social-media-audit
DO NOT use this skill for writing post captions (use skyyrose-social-instagram-carousel) or building overall strategy (use skyyrose-social-social-media-strategy). Hashtags are a distribution layer — not the content itself.
Brand Canon (non-negotiable)
- Branded hashtags always included:
#SkyyRose and #LuxuryGrowsFromConcrete appear on every post. These are non-negotiable.
- Collection tags are mutually exclusive: Never mix collection hashtags on the same post. A Black Rose post uses Black Rose tags. A Love Hurts post uses Love Hurts tags. No blending.
- Oakland-first niche tags preferred over generic streetwear tags —
#OaklandFashion and #TheTown over #StreetStyle alone.
- Products by name in any hashtag that references a product:
#BlackRoseCrewneck not #br001.
- No banned, spammy, or generic-engagement hashtags —
#instagood, #like4like, #followback are disqualified on brand grounds, not just algorithmic ones.
Full canon: ../skyyrose-content-engine/brand-guardrails.md
SkyyRose Hashtag Architecture
Tier System
| Tier | Post Volume | Purpose for SkyyRose |
|---|
| Branded | SkyyRose creates | Own community, UGC aggregation, brand tracking |
| Niche | 10K-200K posts | High-relevance streetwear/Oakland community |
| Mid | 200K-1M posts | Growing accounts — sweet spot for discoverability |
| Broad | 1M+ posts | Brand association, aspirational reach |
SkyyRose account (sub-10K) tier mix per IG post:
- 0 Mega / 1-2 Broad / 3-4 Mid / 4-5 Niche / 1-2 Micro-niche / 2 Branded
Phase 1: Define Post Context
Before generating sets, confirm:
| Input | Options |
|---|
| Collection | Black Rose / Love Hurts / Signature / Kids Capsule / Brand-wide |
| Content pillar | Brand Story / Product Showcase / Culture & Community / Lifestyle / Exclusivity |
| Platform | Instagram (feed) / Instagram (Reels) / TikTok / Pinterest |
| Product | Product name if post features a specific SKU |
Phase 2: Branded Hashtags (Always-Use Core)
These appear on every SkyyRose post, every platform, every pillar:
#SkyyRose #LuxuryGrowsFromConcrete #TheSkyRoseCollection
Platform placement:
- Instagram: First comment (not caption), alongside collection/niche tags
- TikTok: Caption, 1-3 branded max (total set 3-5 tags)
- Pinterest: Pin description alongside keyword phrases — treat as categories
Phase 3: Collection-Specific Hashtag Banks
Black Rose Collection
Collection tags (always include 1-2):
#BlackRoseCollection #BlackRoseBySkyyRose
Niche/community:
#DarkElegance #GothicLuxury #OaklandFashion #TheTownStyle
#LuxuryStreetwear #ConcreteRoots #DefiantFashion #ArmorWear
Mid-tier:
#StreetLuxury #BlackOwnedFashion #UrbanLuxury #BlackDesigner
#IndependentFashion #BayAreaBrand
Broad (use sparingly):
#LuxuryFashion #StreetStyle
Ready-to-use IG Sets (first comment):
Black Rose — Set A (Product Showcase)
#SkyyRose #LuxuryGrowsFromConcrete #BlackRoseCollection #BlackRoseBySkyyRose #DarkElegance #GothicLuxury #OaklandFashion #LuxuryStreetwear #BlackOwnedFashion #BlackDesigner #StreetLuxury #TheTownStyle #BayAreaBrand #UrbanLuxury #IndependentFashion
Black Rose — Set B (Brand Story / Culture)
#SkyyRose #LuxuryGrowsFromConcrete #BlackRoseCollection #TheSkyRoseCollection #ConcreteRoots #DefiantFashion #OaklandFashion #BlackOwnedFashion #TheTownStyle #BayAreaBrand #StreetLuxury #BlackDesigner #ArmorWear #DarkElegance #LuxuryStreetwear
Black Rose — Reels Set (fewer tags)
#SkyyRose #BlackRoseCollection #OaklandFashion #LuxuryStreetwear #BlackOwnedFashion
Love Hurts Collection
Collection tags (always include 1-2):
#LoveHurtsCollection #LoveHurtsBySkyyRose
Niche/community:
#StreetPassion #CrimsonFashion #OaklandFashion #RawStyle
#BlackLove #RealOnes #BayAreaBrand #TheTownStyle
Mid-tier:
#LuxuryStreetwear #BlackOwnedFashion #UrbanLuxury #BlackDesigner
#IndependentFashion #StreetLuxury
Broad (use sparingly):
#StreetStyle #LuxuryFashion
Ready-to-use IG Sets:
Love Hurts — Set A (Product Showcase)
#SkyyRose #LuxuryGrowsFromConcrete #LoveHurtsCollection #LoveHurtsBySkyyRose #OaklandFashion #LuxuryStreetwear #BlackOwnedFashion #StreetPassion #TheTownStyle #BayAreaBrand #BlackDesigner #UrbanLuxury #IndependentFashion #StreetLuxury #RawStyle
Love Hurts — Set B (Lifestyle / Culture)
#SkyyRose #LuxuryGrowsFromConcrete #LoveHurtsCollection #TheSkyRoseCollection #BlackLove #RealOnes #OaklandFashion #BayAreaBrand #LuxuryStreetwear #StreetPassion #TheTownStyle #BlackDesigner #CrimsonFashion #StreetLuxury #BlackOwnedFashion
Love Hurts — Reels Set
#SkyyRose #LoveHurtsCollection #OaklandFashion #BlackOwnedFashion #LuxuryStreetwear
Signature Collection
Collection tags (always include 1-2):
#SignatureCollection #SkyyRoseSignature
Niche/community:
#WestCoastLuxury #GoldenStandard #OaklandFashion #BayAreaStyle
#StayGolden #TheStandard #LuxuryDefined #BayAreaBrand
Mid-tier:
#LuxuryStreetwear #BlackOwnedFashion #UrbanLuxury #BlackDesigner
#PremiumStreetwear #StreetLuxury
Broad (use sparingly):
#LuxuryFashion #StreetStyle
Ready-to-use IG Sets:
Signature — Set A (Product Showcase)
#SkyyRose #LuxuryGrowsFromConcrete #SignatureCollection #SkyyRoseSignature #WestCoastLuxury #OaklandFashion #BayAreaStyle #LuxuryStreetwear #BlackOwnedFashion #BlackDesigner #GoldenStandard #BayAreaBrand #UrbanLuxury #PremiumStreetwear #StreetLuxury
Signature — Set B (Brand Story / Lifestyle)
#SkyyRose #LuxuryGrowsFromConcrete #SignatureCollection #TheSkyRoseCollection #StayGolden #TheStandard #OaklandFashion #BayAreaStyle #WestCoastLuxury #LuxuryStreetwear #BlackDesigner #BayAreaBrand #LuxuryDefined #StreetLuxury #BlackOwnedFashion
Signature — Reels Set
#SkyyRose #SignatureCollection #WestCoastLuxury #OaklandFashion #BlackOwnedFashion
Kids Capsule
Collection tags:
#SkyyRoseKids #LittleRoyalty
Niche/community:
#KidsFashion #BlackKidsFashion #MiniRoyalty #OaklandKids
#BlackParenting #StyleFromBirth #BayAreaFamilies
Mid-tier:
#KidsStyle #BlackOwnedKids #KidLuxury #HeritageFashion
#LittleOnes #BlackFamilyStyle
Broad:
#KidsFashion
Ready-to-use IG Sets:
Kids Capsule — Set A
#SkyyRose #LuxuryGrowsFromConcrete #SkyyRoseKids #LittleRoyalty #KidsFashion #BlackKidsFashion #MiniRoyalty #OaklandKids #BlackParenting #StyleFromBirth #BlackFamilyStyle #HeritageFashion #BayAreaFamilies #BlackOwnedKids #LittleOnes
Phase 4: Pillar-Specific Hashtag Adds
Layer these on top of collection sets based on post content pillar:
| Pillar | Additional tags to add |
|---|
| Brand Story | #FounderStory #BlackFounder #BuildingInPublic #OaklandMade |
| Product Showcase | Product-specific tag e.g. #BlackRoseCrewneck + #LimitedEditionDrop #MadeWithIntent |
| Culture & Community | #BlackCulture #OaklandCommunity #BlackCreatives #TheTown |
| Lifestyle | #OOTD #OutfitOfTheDay #StreetLooks #StyleInspo |
| Exclusivity | #LimitedEditionDrop #PreOrderNow #SoldOut (when applicable) #ExclusiveDrop |
Phase 5: Platform-Specific Rules
Instagram Feed (15 max, first comment)
- Use full collection set (Set A or Set B) + 1-2 pillar adds = 15-17 tags
- Place in FIRST COMMENT — never in caption body
- Rotate between Set A and Set B on consecutive posts — never repeat same set back-to-back
Instagram Reels (3-5 tags only)
- Use Reels Set from the collection + 1 pillar tag
- Fewer is better — algorithm reads content signals more than hashtags on Reels
- Place in caption
TikTok (3-5 tags)
Standard TikTok set:
#skyyrose #luxurystreetwar #blackownedfashion [collection-specific tag]
TikTok community tags (rotate in):
#fashiontok #streetwear #blackfashion #oaklandfashion
Always include #skyyrose. TikTok's algorithm is content-signal-first; hashtags are secondary. Keep total to 3-5.
Pinterest (2-5 as keyword phrases, in pin description)
Pinterest hashtags function as categories — write them as search terms, not community tags:
#luxurystreetwear #oaklandfashion #blackownedclothing #streetwearstyle
- Include in the description text naturally: "Shop the Black Rose Collection — luxury streetwear from Oakland. #luxurystreetwear #blackownedclothing"
Implementation
from agents.social_media_agent import SocialMediaAgent
agent = SocialMediaAgent()
post = agent.generate_post("br-001", "instagram", "product_launch")
print(post.caption)
print("--- First comment hashtags ---")
print(post.hashtags)
reel_post = agent.generate_post("br-001", "instagram", "lifestyle")
print(reel_post.hashtags)
tt_post = agent.generate_post("br-001", "tiktok", "product_launch")
print(tt_post.hashtags)
python -m skyyrose.elite_studio.ventures.social smoke --sku br-001
{
"branded": ["#SkyyRose", "#LuxuryGrowsFromConcrete", "#TheSkyRoseCollection"],
"collections": {
"black-rose": {
"collection_tags": ["#BlackRoseCollection", "#BlackRoseBySkyyRose"],
"niche": ["#DarkElegance", "#GothicLuxury", "#OaklandFashion", "#TheTownStyle", "#LuxuryStreetwear", "#ConcreteRoots", "#DefiantFashion", "#ArmorWear"],
"mid": ["#StreetLuxury", "#BlackOwnedFashion", "#UrbanLuxury", "#BlackDesigner", "#IndependentFashion", "#BayAreaBrand"],
"broad": ["#LuxuryFashion", "#StreetStyle"],
"sets": {
"ig_feed_a": "#SkyyRose #LuxuryGrowsFromConcrete #BlackRoseCollection #BlackRoseBySkyyRose #DarkElegance #GothicLuxury #OaklandFashion #LuxuryStreetwear #BlackOwnedFashion #BlackDesigner #StreetLuxury #TheTownStyle #BayAreaBrand #UrbanLuxury #IndependentFashion",
"ig_feed_b": "#SkyyRose #LuxuryGrowsFromConcrete #BlackRoseCollection #TheSkyRoseCollection #ConcreteRoots #DefiantFashion #OaklandFashion #BlackOwnedFashion #TheTownStyle #BayAreaBrand #StreetLuxury #BlackDesigner #ArmorWear #DarkElegance #LuxuryStreetwear",
"ig_reels": "#SkyyRose #BlackRoseCollection #OaklandFashion #LuxuryStreetwear #BlackOwnedFashion",
"tiktok": "#skyyrose #blackrosecollection #luxurystreetwear #blackownedfashion"
}
}
}
}
Example: BLACK Rose Crewneck Launch Week
Post: Tuesday — Product Showcase — BLACK Rose Crewneck — Instagram Feed
Caption (first two lines only):
"BLACK Rose Crewneck. Built to stand in — whatever they put in front of you."
First comment hashtags (Set A + pillar add):
#SkyyRose #LuxuryGrowsFromConcrete #BlackRoseCollection #BlackRoseBySkyyRose #DarkElegance #GothicLuxury #OaklandFashion #LuxuryStreetwear #BlackOwnedFashion #BlackDesigner #StreetLuxury #TheTownStyle #BayAreaBrand #BlackRoseCrewneck #LimitedEditionDrop
Friday TikTok BTS (Reels Set + 1):
Caption: "Every stitch earns it. BLACK Rose Crewneck — pre-order at skyyrose.co"
#skyyrose #blackrosecollection #oaklandfashion #luxurystreetwear #blackownedfashion
Pinterest pin description:
"BLACK Rose Crewneck — luxury streetwear from Oakland. Dark, deliberate, built for The Town. Shop the Black Rose Collection at skyyrose.co #luxurystreetwear #blackownedclothing #oaklandfashion #streetwearstyle"
Anti-Patterns
- Mixing collection hashtags on one post — A single post cannot be both
#BlackRoseCollection and #LoveHurtsCollection. Collections are emotionally distinct. Mixed tags signal brand confusion.
- Using the same hashtag set on consecutive posts — Instagram penalizes repetitive hashtag patterns. Rotate between Set A and Set B with every post.
- Hashtags in Instagram caption body — They break the reading flow and signal amateur production. Always first comment.
- Generic engagement tags —
#instagood, #like4like, #follow4follow are brand-quality violations, not just algorithmic dead weight. They make SkyyRose look like a Canva brand.
- Over-hashtagging on TikTok — More than 5 tags on TikTok dilutes the signal. 3-5 targeted tags outperform 20 generic ones.
- Product hashtags with SKUs —
#BR001 is meaningless to a customer. #BlackRoseCrewneck is searchable.
- Trending tags that don't fit —
#WeddingStyle or #TravelInspo drive irrelevant traffic. Every tag must connect the post to an audience actively searching for SkyyRose-relevant content.
- Forgetting
#LuxuryGrowsFromConcrete — This is the brand's most distinctive community-building tag. Missing it on product posts is a missed UGC aggregation opportunity.
Recovery
- Hashtag underperforming (no impressions from hashtags in IG Insights): Switch from Set A to Set B. If both underperform, replace 3-4 niche tags with fresher alternatives — check Explore for active tags in the streetwear/Oakland space.
- Hashtag appears to be banned: If a post with a specific tag gets 0 reach immediately after posting, that tag may be flagged. Remove it from the set and replace. Check Instagram's search — if the tag shows no recent posts, it's likely restricted.
- TikTok posts not surfacing to non-followers: Hashtags are secondary on TikTok. The issue is the hook, not the tags. Fix second 1 of the video before changing tags.
- New collection launch with no established hashtag: Create the collection hashtag on launch day. First post that uses it establishes it. Encourage first buyers to use it in their own posts.
- Running out of rotation variety: Rebuild the bank by adding 5-8 new niche tags from the IG Explore / TikTok search for current streetwear subcommunities. Refresh quarterly.