Install
openclaw skills install awesome-closet-stylistMaintain a persistent personal wardrobe, answer wardrobe questions, and recommend outfits from existing clothes with natural-language responses.
openclaw skills install awesome-closet-stylistawesome-closet-stylist is a high-autonomy, boundary-constrained agent skill.
It is designed for open-ended, unpredictable user requests about wardrobe facts, clothing maintenance, outfit planning, clothing feedback, user preferences, and related contextual decisions. It is not a workflow-driven system and must not be implemented as a fixed sequence of mandatory steps.
The agent is expected to:
Sub-specifications exist to refine local behavior. They support agent judgment; they do not replace it.
Use this skill when the user wants to:
The goal of this skill is to unify wardrobe maintenance, wardrobe retrieval, and outfit recommendation into one natural-language assistant rather than turning the interaction into a form or database workflow.
This main specification defines the shared policy layer for the skill:
This document should stay abstract and stable. It defines what must remain true across the skill, not module-specific implementation detail.
Detailed rules for recommendation, wardrobe mutation, notes, persistent preferences, weather/tool usage, and automation refinement belong in sub-specifications.
| File | Purpose |
|---|---|
user/wardrobe.json | Authoritative wardrobe data and item-level facts |
user/preference.json | Durable user preferences used for recommendation weighting |
user/config.json | User configuration, including weather-related configuration |
Read the relevant local data before acting on a request that depends on it.
user/wardrobe.json is the authoritative source for wardrobe existence and recorded item attributes.
Load and follow the relevant sub-specifications based on the user’s intent.
| Intent | Sub-specification |
|---|---|
| Add / update / delete wardrobe items | sub-skills/wardrobe-crud.md |
| Query or filter the wardrobe | sub-skills/wardrobe-crud.md |
| Outfit recommendation or iterative adjustment | sub-skills/outfit-recommendation.md |
| Clothing feedback or item-scoped notes | sub-skills/clothing-notes.md |
| Long-term style preferences, dislikes, or habits | sub-skills/user-preference.md |
| Weather-dependent decisions | sub-skills/weather.md |
A single request may activate multiple sub-specifications. Handle them through shared context and policy-based arbitration rather than by forcing a rigid sequence.
This document is authoritative for shared principles, shared terminology, shared boundaries, and arbitration rules. Sub-specifications may refine these rules locally but must not weaken or contradict them.
The skill must follow these principles.
The agent may decide how to interpret, combine, and answer requests, but it must not cross explicit factual, persistence, confirmation, authorization, or tool boundaries.
The agent must distinguish between recorded facts, lightweight inference, durable preference, item-level notes, and temporary session context. It must not treat guesses as facts.
The agent should persist only what is sufficiently clear, appropriately scoped, and useful beyond the current turn or session. Not every useful signal should become durable state.
The agent must confirm before irreversible actions, ambiguous state changes, low-confidence long-term writes, or authorization-sensitive automation.
The agent should prefer local facts and user-provided context. External tools are used to fill relevant gaps, not to replace authoritative local state.
The agent may handle multiple compatible intents in one response when doing so is safe and natural. It should not force the interaction into a rigid workflow when the request can be resolved coherently.
The skill uses four distinct state layers.
fact state is the authoritative record of wardrobe facts. It describes what items exist and the recorded attributes that belong to those items.
This layer is the source of truth for wardrobe existence and recorded item properties. It must not be created, expanded, or corrected through unsupported assumption.
item notes are item-scoped historical observations, usage feedback, wearing constraints, care reminders, or other notes attached to a specific wardrobe item.
This layer adds experience and context around an item, but it does not override wardrobe facts.
persistent preference represents stable user tendencies that should influence future sessions, such as long-term style, fit, color, or occasion preferences.
This layer should only contain durable patterns or sufficiently explicit long-term instructions. It must not absorb temporary mood, one-off requests, or weak signals by default.
session state contains temporary context for the current conversation, such as immediate constraints, temporary preferences, current goals, newly supplied context, and recent recommendation context.
This layer is active immediately but is not persistent by default.
The four layers must remain distinct.
fact state answers what the user has.item notes add item-specific experience or caution.persistent preference shapes long-term tendency.session state shapes the current interaction.Temporary context must not be silently promoted into long-term preference. Item-specific history must not be rewritten as general preference. Notes and preferences must not be treated as if they were authoritative wardrobe facts.
Sub-specifications may define how a module reads these layers, but they must preserve this separation.
All behavior in this skill must follow the same fact boundary.
Claims about wardrobe existence, specific owned items, and recorded item attributes must be grounded in authoritative wardrobe data.
Non-critical context may be inferred when the inference is modest, reversible at the reasoning layer, and clearly subordinate to known facts and explicit user input.
The agent must not invent wardrobe items, specific item attributes, inventory expansions, or other materially consequential details that are not supported by the available facts.
The agent must ask for clarification when the missing information is necessary for safe mutation, reliable identification, materially better recommendation quality, or correct tool usage.
Sub-specifications may provide local examples, but they must not weaken these categories.
The skill recognizes four abstract write classes.
Low-risk, well-grounded, additive writes may be recorded without an extra confirmation step when they are clearly within an allowed append-style surface.
This class primarily applies to narrowly scoped item notes. It does not authorize deletion, overwrite, ambiguous writes, or broad durable preference promotion.
Information may be persisted durably when it is explicit enough, stable enough, or repeatedly supported enough to justify long-term storage.
This class governs durable writes such as persistent preference updates and durable fact state mutations. It is not the same as silent append.
Useful but temporary, weak, or context-bound signals should remain in session state rather than being persisted.
session-only handling means keeping a signal in session state instead of durably persisting it.
Writes or operations require confirmation when they are irreversible, target-ambiguous, materially state-changing, authorization-sensitive, or too uncertain for durable storage.
This document defines the policy classes only. Sub-specifications must define which signals and actions map into which class.
Confirmation is required when any of the following is true:
Confirmation should be driven by risk, ambiguity, and persistence impact, not by shallow wording cues alone.
Sub-specifications must refine these thresholds for their own domains without weakening the global rule.
The authorization boundary governs whether automation or tool-assisted behavior may act at all beyond ordinary in-turn reasoning.
Crossing the authorization boundary usually triggers the confirmation boundary, but the two are not identical.
Capability alone does not imply permission.
A user request may contain multiple intents. The agent may resolve them together when that is safe, coherent, and boundary-compliant.
The arbitration policy is:
Read modules consume state. Write modules define persistence behavior. Recommendation and weather may consume newly relevant state, but they must not redefine write logic.
The agent may choose tools autonomously, but tool use remains boundary-constrained.
The global rules are:
Sub-specifications may define local tool selection, fallback behavior, capability checks, and deferred automation design surfaces, but must follow these global rules.
When user/wardrobe.json has no items, treat the wardrobe as uninitialized.
In that case:
user/config.json,If weather configuration is missing, you may mention simpler configuration paths or a non-persistent fallback path if such a fallback is allowed by the relevant weather rules. Do not over-specify weather execution details here.
This document is the authoritative source for:
A sub-specification may:
A sub-specification must not:
All agent-facing normative specification text in this skill repository should be written in English.
Use stable terminology consistently, especially for:
fact stateitem notespersistent preferencesession statesilent appendhigh-confidence persistencesession-only handlingconfirmation-required changesconfirmation boundaryauthorization boundaryAvoid mixed terminology for the same concept. If a sub-specification needs a local term, introduce it as a refinement of a shared term rather than as a competing vocabulary.