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.
Installs into .claude/skills of the current project.
Are you the author of Skyyrose Social Hashtag Strategy?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/skyyrosellc-skyyrose-social-hashtag-strategy)
---
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
```python
from agents.social_media_agent import SocialMediaAgent
agent = SocialMediaAgent()
# Generate a post with collection-aware hashtags built in
post = agent.generate_post("br-001", "instagram", "product_launch")
print(post.caption)
print("--- First comment hashtags ---")
print(post.hashtags)
# Generate for Reels (fewer hashtags)
reel_post = agent.generate_post("br-001", "instagram", "lifestyle")
print(reel_post.hashtags)
# For TikTok
tt_post = agent.generate_post("br-001", "tiktok", "product_launch")
print(tt_post.hashtags)
```
```bash
# Smoke test generates posts with hashtags for validation:
python -m skyyrose.elite_studio.ventures.social smoke --sku br-001
```
```json
// Hashtag set config — store in skyyrose/assets/data/hashtag-sets.json
{
"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.