Reference · Version 1.0.0
The Cher Closet Taxonomy
The Cher Closet Taxonomy is a versioned garment attribute standard: 83 enumerated dimensions covering 1067 controlled values across item type, color, pattern, fabric, fit, silhouette, length, construction, occasion, formality and aesthetic. It is the vocabulary Style by Cher uses in production to read a garment, published in full so it can be cited, checked and reused.
Why this exists
Most style advice fails because its vocabulary is imprecise. “Dressy casual” means four different things to four people, “midi” covers a nine-inch range of hemlines, and “neutral” depends entirely on the rest of the wardrobe. A recommendation built on ambiguous terms cannot be acted on and cannot be checked.
This vocabulary exists so that every garment Style by Cher reasons about has a fixed description: one item type, one color family, one formality level, one silhouette. It is what makes it possible to say that two pieces are eleven rungs apart on formality rather than that they do not really go together.
It is published because nothing comparable exists publicly in this category, and because a standard nobody can read is not a standard. Maintained by Clarity Step LLC.
How to read an entry
Each dimension below is a closed set: a garment takes exactly one value from it, or the value unknown where the attribute cannot be determined from a photograph. Values are written in snake_case in the specification and displayed here in plain words.
Core identity
Item typecore.item_type16 values
- clothing
- footwear
- bag
- jewelry
- belt
- hat
- scarf
- hosiery
- bra
- underwear
- shapewear
- swimwear
- hair accessory
- sunglasses
- watch
- other accessory
Categorycore.category21 values
- top
- bottom
- dress
- jumpsuit
- romper
- outerwear
- footwear
- bag
- belt
- jewelry
- hat
- scarf
- hosiery
- bra
- underwear
- shapewear
- swimwear
- activewear
- sleepwear
- loungewear
- accessory
Conditioncore.condition10 values
- new with tags
- new without tags
- excellent
- good
- gently used
- worn
- damaged
- needs cleaning
- needs tailoring
- unknown
Metadata confidencecore.metadata_confidence6 values
- high
- medium
- low
- user verified
- ai inferred
- unknown
Image qualitycore.image_quality7 values
- clear
- usable
- dim
- blurry
- partial view
- color uncertain
- not available
Subcategories
Top subcategorysubcategories.top_subcategory23 values
- t shirt
- tank top
- camisole
- bodysuit
- blouse
- button down
- polo
- tube top
- halter top
- corset top
- bustier
- crop top
- sweater
- cardigan
- sweatshirt
- hoodie
- tunic
- vest
- bralette top
- wrap top
- peplum top
- off shoulder top
- one shoulder top
Bottom subcategorysubcategories.bottom_subcategory16 values
- jeans
- trousers
- pants
- leggings
- joggers
- sweatpants
- shorts
- skirt
- skort
- cargo pants
- leather pants
- wide leg pants
- straight leg pants
- skinny pants
- flare pants
- culottes
Dress subcategorysubcategories.dress_subcategory15 values
- mini dress
- midi dress
- maxi dress
- slip dress
- bodycon dress
- shift dress
- sheath dress
- wrap dress
- shirt dress
- sundress
- sweater dress
- cocktail dress
- formal gown
- day dress
- little black dress
Outerwear subcategorysubcategories.outerwear_subcategory16 values
- blazer
- denim jacket
- leather jacket
- moto jacket
- bomber jacket
- trench coat
- wool coat
- puffer jacket
- raincoat
- cardigan
- kimono
- cape
- shacket
- utility jacket
- faux fur coat
- vest
Footwear subcategorysubcategories.footwear_subcategory22 values
- sneakers
- running shoes
- flats
- ballet flats
- loafers
- mules
- slides
- sandals
- heeled sandals
- espadrilles
- wedges
- pumps
- stilettos
- block heels
- kitten heels
- ankle boots
- knee high boots
- over the knee boots
- cowboy boots
- combat boots
- rain boots
- platform shoes
Bag subcategorysubcategories.bag_subcategory11 values
- tote
- shoulder bag
- crossbody
- clutch
- mini bag
- bucket bag
- satchel
- backpack
- belt bag
- evening bag
- beach bag
Jewelry subcategorysubcategories.jewelry_subcategory15 values
- stud earrings
- hoop earrings
- drop earrings
- statement earrings
- necklace
- pendant necklace
- choker
- chain necklace
- bracelet
- bangle
- cuff
- ring
- statement ring
- brooch
- anklet
Hat subcategorysubcategories.hat_subcategory10 values
- baseball cap
- bucket hat
- beanie
- fedora
- wide brim hat
- sun hat
- straw hat
- beret
- visor
- cowboy hat
Hosiery subcategorysubcategories.hosiery_subcategory10 values
- sheer tights
- opaque tights
- patterned tights
- fishnets
- leggings
- ankle socks
- crew socks
- knee high socks
- thigh highs
- compression tights
Bra subcategorysubcategories.bra_subcategory12 values
- t shirt bra
- strapless bra
- plunge bra
- balconette bra
- push up bra
- bralette
- sports bra
- longline bra
- adhesive bra
- nursing bra
- seamless bra
- lace bra
Color
Color familycolor.color_family28 values
- black
- white
- gray
- brown
- beige
- cream
- tan
- camel
- navy
- blue
- green
- olive
- teal
- turquoise
- purple
- lavender
- pink
- red
- burgundy
- orange
- coral
- yellow
- gold
- silver
- metallic
- multi
- clear
- neutral
Color temperaturecolor.color_temperature4 values
- warm
- cool
- neutral
- mixed
Color depthcolor.color_depth5 values
- very light
- light
- medium
- deep
- very deep
Color intensitycolor.color_intensity5 values
- muted
- soft
- clear
- bright
- neon
Color rolecolor.color_role6 values
- base neutral
- soft neutral
- accent
- statement
- metallic
- print mix
Pattern
Patternpattern.pattern45 values
- solid
- stripe
- pinstripe
- vertical stripe
- horizontal stripe
- plaid
- tartan
- gingham
- check
- houndstooth
- polka dot
- floral
- micro floral
- large floral
- animal print
- leopard
- zebra
- snake
- cheetah
- abstract
- geometric
- paisley
- toile
- tie dye
- ombre
- logo
- graphic
- text
- jacquard
- embroidered
- eyelet
- lace pattern
- sequined
- beaded
- colorblock
- metallic finish
- distressed
- perforated
- quilted
- ribbed
- cable knit
- heathered
- mesh
- sheer
- unknown
Pattern scalepattern.pattern_scale7 values
- none
- micro
- small
- medium
- large
- oversized
- mixed
Pattern contrastpattern.pattern_contrast3 values
- low contrast
- medium contrast
- high contrast
Fabric and material
Materialfabric.material55 values
- cotton
- cotton blend
- linen
- linen blend
- silk
- silk blend
- satin
- polyester
- polyester blend
- rayon
- viscose
- modal
- lyocell
- spandex
- elastane
- nylon
- acrylic
- wool
- wool blend
- cashmere
- alpaca
- mohair
- denim
- chambray
- leather
- faux leather
- suede
- faux suede
- velvet
- corduroy
- tweed
- boucle
- chiffon
- georgette
- organza
- tulle
- mesh
- lace
- eyelet
- jersey
- ribbed knit
- sweater knit
- fleece
- terry
- performance fabric
- sequin fabric
- beaded fabric
- canvas
- straw
- raffia
- jute
- rubber
- plastic
- metal
- unknown
Fabric weightfabric.fabric_weight5 values
- ultra lightweight
- lightweight
- medium weight
- heavyweight
- very heavy
Fabric drapefabric.fabric_drape8 values
- fluid
- soft
- clingy
- structured
- stiff
- crisp
- slouchy
- unknown
Fabric surfacefabric.fabric_surface15 values
- matte
- slight sheen
- shiny
- glossy
- metallic
- sparkly
- textured
- nubby
- fuzzy
- smooth
- ribbed
- quilted
- distressed
- washed
- unknown
Opacityfabric.opacity6 values
- opaque
- semi sheer
- sheer
- transparent
- requires layering
- unknown
Stretchfabric.stretch6 values
- no stretch
- slight stretch
- moderate stretch
- high stretch
- compression
- unknown
Fit and silhouette
Fitfit_and_silhouette.fit13 values
- bodycon
- fitted
- slim
- tailored
- regular
- relaxed
- loose
- oversized
- boxy
- flowy
- slouchy
- compression
- unknown
Silhouettefit_and_silhouette.silhouette29 values
- straight
- a line
- fit and flare
- body skimming
- column
- hourglass
- empire waist
- drop waist
- wrap
- peplum
- boxy
- cropped boxy
- tapered
- wide leg
- straight leg
- skinny
- flare
- bootcut
- barrel
- paperbag
- cargo
- pencil
- pleated
- tiered
- bias cut
- asymmetric
- draped
- ruched
- unknown
Waist risefit_and_silhouette.waist_rise9 values
- low rise
- mid rise
- high rise
- ultra high rise
- natural waist
- empire
- drop waist
- not applicable
- unknown
Waist definitionfit_and_silhouette.waist_definition9 values
- none
- subtle
- defined
- cinched
- elastic
- drawstring
- belted
- smocked
- unknown
Lengths
Top lengthlengths.top_length8 values
- micro crop
- crop
- waist length
- high hip
- hip length
- tunic
- longline
- unknown
Bottom lengthlengths.bottom_length11 values
- micro
- mini
- mid thigh
- above knee
- knee length
- midi
- tea length
- ankle length
- full length
- floor length
- unknown
Dress lengthlengths.dress_length9 values
- micro
- mini
- above knee
- knee length
- midi
- tea length
- maxi
- floor length
- unknown
Outerwear lengthlengths.outerwear_length8 values
- cropped
- waist length
- hip length
- mid thigh
- knee length
- midi
- full length
- unknown
Sleeve lengthlengths.sleeve_length11 values
- strapless
- spaghetti strap
- sleeveless
- cap sleeve
- short sleeve
- elbow length
- three quarter
- long sleeve
- extra long sleeve
- one sleeve
- unknown
Neckline
Necklineneckline.neckline23 values
- crew neck
- scoop neck
- v neck
- deep v
- square neck
- sweetheart
- boat neck
- off shoulder
- one shoulder
- halter
- mock neck
- turtleneck
- cowl neck
- collared
- split neck
- notched
- keyhole
- strapless
- asymmetric
- plunge
- wrap neckline
- unknown
- not applicable
Construction
Closure typeconstruction.closure_type19 values
- pullover
- button front
- zip front
- back zip
- side zip
- hook and eye
- snap
- tie
- wrap tie
- drawstring
- elastic
- lace up
- buckle
- clasp
- magnetic
- slip on
- pull on
- none
- unknown
Construction detailsconstruction.construction_details24 values
- pleated
- ruched
- smocked
- draped
- gathered
- tiered
- pintucked
- quilted
- fringed
- raw hem
- distressed
- cutout
- slit
- front slit
- side slit
- back slit
- pockets
- belt loops
- boning
- padding
- lining
- unlined
- removable straps
- adjustable straps
Context: occasion, season, weather
Formalitycontext.formality22 values
- athletic
- sleepwear
- loungewear
- errand casual
- casual
- cute casual
- smart casual
- business casual
- business
- date night
- night out
- cocktail
- semi formal
- formal
- black tie
- festival
- vacation
- beach
- bridal
- party
- costume
- unknown
Occasioncontext.occasion47 values
- everyday
- errands
- school
- work
- business meeting
- interview
- presentation
- conference
- brunch
- lunch
- coffee date
- dinner
- date night
- first date
- girls night
- night out
- bar
- club
- cocktail party
- wedding guest
- rehearsal dinner
- bridal shower
- baby shower
- birthday party
- holiday party
- family gathering
- travel day
- airport
- vacation
- beach
- pool
- resort
- festival
- concert
- museum
- gallery
- religious service
- funeral
- gym
- yoga
- hiking
- walking
- lounging
- sleeping
- photo shoot
- content creation
- unknown
Seasoncontext.season7 values
- spring
- summer
- fall
- winter
- resort
- holiday
- all seasons
Temperature bandcontext.temperature_band7 values
- very hot
- hot
- warm
- mild
- cool
- cold
- very cold
Weather suitabilitycontext.weather_suitability12 values
- dry
- rain
- light rain
- snow
- wind
- humid
- desert heat
- indoor ac
- sun exposure
- travel
- transitional
- unknown
Layering rolecontext.layering_role8 values
- base layer
- mid layer
- outer layer
- statement layer
- warmth layer
- coverage layer
- not layerable
- unknown
Style and aesthetic
Style aestheticstyle.style_aesthetic38 values
- classic
- minimal
- modern
- romantic
- feminine
- edgy
- sexy
- preppy
- polished
- boho
- western
- coastal
- resort
- sporty
- athleisure
- streetwear
- glam
- party
- vintage inspired
- retro
- y2k
- quiet luxury
- old money
- artsy
- corporate
- soft
- whimsical
- utilitarian
- rocker
- balletcore
- coquette
- mob wife
- clean girl
- model off duty
- french girl
- california casual
- desert chic
- unknown
Vibe intensitystyle.vibe_intensity4 values
- quiet
- balanced
- statement
- main character
Styling rolestyle.styling_role20 values
- base piece
- hero piece
- statement piece
- supporting piece
- neutral anchor
- color accent
- texture accent
- print accent
- polishing piece
- casualizing piece
- dress up piece
- edge piece
- softening piece
- coverage piece
- warmth piece
- proportion fix
- waist definition
- leg lengthening
- comfort piece
- practical piece
Styling flagsstyle.styling_flags17 values
- requires layering
- requires specific bra
- may be sheer
- may be too short
- may be too warm
- may be too casual
- may be too formal
- may wrinkle
- delicate care
- not rain friendly
- not walkable
- hard to pair
- statement piece
- duplicate basic
- color uncertain
- fit uncertain
- occasion limited
Pairing logic
Pairs well withpairing.pairs_well_with26 values
- denim
- black denim
- blue denim
- white denim
- tailored pants
- wide leg pants
- skinny pants
- mini skirts
- midi skirts
- slip skirts
- shorts
- dresses
- sneakers
- boots
- heels
- flats
- sandals
- gold jewelry
- silver jewelry
- structured bags
- soft bags
- belts
- blazers
- leather jackets
- denim jackets
- cardigans
Avoid pairing withpairing.avoid_pairing_with13 values
- competing prints
- competing shine
- too much volume
- too many casual items
- too many formal items
- heavy fabrics
- delicate fabrics
- sporty items
- distressed items
- bulky layers
- similar length hemlines
- low contrast pairings
- high contrast pairings
Outfit functionpairing.outfit_function11 values
- complete core
- needs top
- needs bottom
- needs shoes
- needs layer
- needs belt
- needs bra
- needs tights
- needs cami
- needs accessories
- standalone
Footwear
Shoe typefootwear.shoe_type25 values
- sneaker
- running shoe
- fashion sneaker
- flat
- ballet flat
- loafer
- mule
- slide
- sandal
- heeled sandal
- espadrille
- wedge
- pump
- stiletto
- kitten heel
- block heel
- platform
- ankle boot
- knee high boot
- over the knee boot
- cowboy boot
- combat boot
- rain boot
- snow boot
- unknown
Toe stylefootwear.toe_style8 values
- round toe
- almond toe
- pointed toe
- square toe
- open toe
- peep toe
- closed toe
- unknown
Heel heightfootwear.heel_height9 values
- flat
- low
- kitten
- mid
- high
- very high
- platform
- wedge
- unknown
Heel shapefootwear.heel_shape12 values
- flat
- block
- stiletto
- kitten
- wedge
- platform
- cone
- flared
- spool
- chunky
- hidden internal
- unknown
Shoe formalityfootwear.shoe_formality7 values
- athletic
- casual
- smart casual
- business
- cocktail
- formal
- party
Walkabilityfootwear.walkability6 values
- very comfortable
- comfortable
- moderate
- limited
- standing only
- unknown
Bags
Bag sizebag.bag_size6 values
- micro
- mini
- small
- medium
- large
- oversized
Bag structurebag.bag_structure4 values
- structured
- semi structured
- soft
- slouchy
Bag carry stylebag.bag_carry_style8 values
- top handle
- shoulder
- crossbody
- clutch
- wristlet
- backpack
- belt bag
- tote
Bag formalitybag.bag_formality7 values
- casual
- smart casual
- business
- cocktail
- formal
- beach
- travel
Belts
Belt widthbelt.belt_width5 values
- skinny
- narrow
- medium
- wide
- corset
Belt materialbelt.belt_material10 values
- leather
- faux leather
- suede
- canvas
- chain
- elastic
- fabric
- woven
- metal
- unknown
Belt bucklebelt.belt_buckle9 values
- minimal
- gold
- silver
- western
- statement
- covered
- logo
- no buckle
- unknown
Belt rolebelt.belt_role6 values
- waist definition
- functional
- polishing
- statement
- color accent
- texture accent
Jewelry
Metal tonejewelry.metal_tone12 values
- gold
- silver
- rose gold
- bronze
- gunmetal
- mixed metal
- pearl
- crystal
- beaded
- fabric
- resin
- unknown
Jewelry scalejewelry.jewelry_scale4 values
- delicate
- medium
- statement
- oversized
Jewelry stylejewelry.jewelry_style12 values
- minimal
- classic
- romantic
- glam
- edgy
- boho
- vintage
- modern
- sculptural
- preppy
- western
- playful
Jewelry rolejewelry.jewelry_role8 values
- everyday
- polishing
- statement
- face framing
- neckline filling
- evening glam
- color accent
- texture accent
Bras and underlayers
Bra supportbra_and_underlayers.bra_support7 values
- light support
- medium support
- high support
- strapless support
- adhesive support
- shaping support
- unknown
Bra visibilitybra_and_underlayers.bra_visibility7 values
- invisible under clothes
- intentionally visible
- may show straps
- may show lines
- not for sheer items
- good for sheer items
- unknown
Bra neckline compatibilitybra_and_underlayers.bra_neckline_compatibility13 values
- crew neck
- v neck
- deep v
- scoop neck
- square neck
- strapless
- halter
- one shoulder
- off shoulder
- backless
- racerback
- sheer top
- thin straps
Underlayer typebra_and_underlayers.underlayer_type12 values
- camisole
- tank
- slip
- half slip
- bodysuit
- bralette
- nude bra
- black bra
- strapless bra
- adhesive bra
- shapewear short
- shapewear bodysuit
Hosiery and leggings
Hosiery opacityhosiery_and_leggings.hosiery_opacity5 values
- sheer
- semi opaque
- opaque
- fleece lined
- compression
Hosiery patternhosiery_and_leggings.hosiery_pattern10 values
- solid
- back seam
- fishnet
- micro fishnet
- polka dot
- lace
- ribbed
- logo
- sparkle
- patterned
Leggings typehosiery_and_leggings.leggings_type10 values
- athletic
- lounge
- fashion
- faux leather
- cotton
- ribbed
- flare
- stirrup
- bike short
- compression
Hosiery rolehosiery_and_leggings.hosiery_role7 values
- warmth
- coverage
- leg line
- edge
- formality boost
- playful detail
- athletic function
Field requirement tiers
Required for every itemrecommended_field_tiers.required_for_every_item6 values
- id
- name
- category
- subcategory
- primary color
- description
Strongly recommendedrecommended_field_tiers.strongly_recommended9 values
- material
- fit
- silhouette
- formality
- occasion
- season
- weather suitability
- styling role
- styling flags
Category specificrecommended_field_tiers.category_specific10 values
- neckline
- sleeve length
- heel height
- heel shape
- toe style
- bra visibility
- hosiery opacity
- belt width
- jewelry scale
- bag size
Formality: the ordered subset
The formality dimension is unusual in that most of its values are ordered. Fifteen of them form a scale, published separately as The Cher Formality Ladder. The remaining 6 are context modes that cut across the scale rather than points on it: a beach barbecue and a beach wedding are both beach and several rungs apart.
- Festival
- Outdoor multi-day event dressing, where weather, walking distance and dust override the usual formality signals.
- Vacation
- Holiday dressing, which runs from rung four to rung fourteen depending on the day and is defined by climate and packing limits.
- Beach
- Swim-adjacent dressing and its cover-ups, which can sit anywhere from errand casual to formal in the case of a beach wedding.
- Bridal
- Dressing as the bride or the wedding party, which follows its own conventions rather than the guest ladder.
- Party
- A social celebration whose formality is set entirely by the host, the venue and the hour, not by the word itself.
- Costume
- Themed or character dressing, where the theme replaces the formality scale.
Versioning and citation
This is version 1.0.0. Values are added rather than renamed wherever possible, so a citation of a specific version stays meaningful. Removals and renames will be noted here with the version they took effect in.
Cite as: The Cher Closet Taxonomy, version 1.0.0, Clarity Step LLC. The machine-readable specification is at /taxonomy/closet-taxonomy.json.
See it applied to your own clothes
Style by Cher classifies every item you photograph against this vocabulary automatically, then uses it to reason about what goes with what. Free on the App Store for iPhone.
Maintained by Clarity Step LLC. .
