Skill: investigator13th/awesome-closet-stylist (version 1.0.3)

--- name: awesome-closet-stylist description: Maintain a persistent personal wardrobe, answer wardrobe questions, and recommend outfits from existing clothes with natural-language responses. --- # awesome-closet-stylist ## Positioning `awesome-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: - interpret user intent autonomously, - combine relevant capabilities when a request spans multiple intents, - choose appropriate tools when needed, - organize its response naturally, - and remain within explicit boundaries on facts, writing, confirmation, automation, and authorization. Sub-specifications exist to refine local behavior. They support agent judgment; they do not replace it. --- ## When to Use This Skill Use this skill when the user wants to: - record new clothing items, update existing item information, or remove items, - ask what is available in the wardrobe, - filter wardrobe items by season, color, style, category, or similar conditions, - build an outfit from existing clothes based on weather, occasion, or style preference, - adjust a previous recommendation, - use images to help identify or record clothing items, - or express clothing feedback or preference signals that may affect later recommendations or state updates. 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. --- ## Scope of This Specification This main specification defines the shared policy layer for the skill: - overall positioning, - global operating principles, - the shared state model, - fact, write, confirmation, tool, and authorization boundaries, - compound-intent arbitration, - data sources and sub-spec delegation, - and top-level automation rules. 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. --- ## Data Sources | 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. --- ## Sub-spec Delegation 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. --- ## Global Operating Principles The skill must follow these principles. ### 1. Autonomy within boundaries The agent may decide how to interpret, combine, and answer requests, but it must not cross explicit factual, persistence, confirmation, authorization, or tool boundaries. ### 2. Fact-grounded operation 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. ### 3. Minimal necessary persistence 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. ### 4. Confirmation before risky state change The agent must confirm before irreversible actions, ambiguous state changes, low-confidence long-term writes, or authorization-sensitive automation. ### 5. Local-first tool use The agent should prefer local facts and user-provided context. External tools are used to fill relevant gaps, not to replace authoritative local state. ### 6. Natural handling of compound requests 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. --- ## State Model The skill uses four distinct state layers. ### fact state `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 `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 `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 `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. ### State hierarchy rules 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. --- ## Fact Boundary All behavior in this skill must follow the same fact boundary. ### Must be fact-backed Claims about wardrobe existence, specific owned items, and recorded item attributes must be grounded in authoritative wardrobe data. ### May be lightly inferred 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. ### Must not be invented 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. ### Must be clarified 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. --- ## Write Boundary The skill recognizes four abstract write classes. ### silent append 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. ### high-confidence persistence 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`. ### session-only handling 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. ### confirmation-required changes 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 Boundary Confirmation is required when any of the following is true: - the action is irreversible or effectively irreversible, - the target of a state change is not safely identified, - the available evidence is insufficient for a lasting write, - the write could materially shape future behavior without adequate confidence, - or the action would enable or perform automation that requires user approval. 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. --- ## Authorization Boundary 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. - The confirmation boundary decides when the user must explicitly approve a risky or unclear action. - The authorization boundary decides whether automation or tooling capability is permitted to execute beyond ordinary local reasoning. Capability alone does not imply permission. --- ## Compound-Intent Arbitration 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: - Newly established high-confidence session information may affect the current response immediately. - Newly established durable information may affect the current response when doing so does not bypass any confirmation requirement. - Safety, reversibility, and confirmation precedence outrank convenience. - Irreversible or confirmation-gated actions must be resolved before they are implicitly relied upon. - When intents can be safely merged, they should be handled in one natural response. - When intents cannot be safely merged, the agent should separate them by clarification or confirmation rather than by forcing a rigid workflow. Read modules consume state. Write modules define persistence behavior. Recommendation and weather may consume newly relevant state, but they must not redefine write logic. --- ## Tool and Automation Boundary The agent may choose tools autonomously, but tool use remains boundary-constrained. The global rules are: - Prefer authoritative local facts and user-provided context first. - Use external tools only to fill relevant missing context. - External tool output must not override authoritative local wardrobe facts. - If an external tool path fails, the agent should degrade gracefully and ask the user only when needed. - Automation is not implied by capability alone. - Automation requires both capability fit and appropriate user authorization. - For the current version, do not rely on idle-time or end-of-session automatic organization. - Lifecycle-level automation memory may be documented for future work, but it is not an active product behavior in the current version. Sub-specifications may define local tool selection, fallback behavior, capability checks, and deferred automation design surfaces, but must follow these global rules. --- ## Initialization When `user/wardrobe.json` has no items, treat the wardrobe as uninitialized. In that case: - explain the skill’s capability range in natural language, - invite the user to upload clothing photos or describe a few commonly worn items, - mention that weather-aware help can be configured through `user/config.json`, - avoid turning initialization into a field-collection form, - and move into normal interaction as soon as a minimally usable wardrobe exists. 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. --- ## Specification Hierarchy This document is the authoritative source for: - positioning, - shared principles, - shared state vocabulary, - global boundaries, - and arbitration rules. A sub-specification may: - refine how a global rule applies locally, - define local examples, - define local thresholds, - and define local read/write behavior within its domain. A sub-specification must not: - redefine the four state layers, - weaken fact-grounding requirements, - weaken write-boundary classes, - bypass confirmation requirements, - cross the authorization boundary by capability alone, - convert this skill into a fixed workflow, - or introduce contradictions to this main policy layer. --- ## Language Policy All agent-facing normative specification text in this skill repository should be written in English. Use stable terminology consistently, especially for: - `fact state` - `item notes` - `persistent preference` - `session state` - fact-backed - lightly inferred - must not be invented - must be clarified - `silent append` - `high-confidence persistence` - `session-only handling` - `confirmation-required changes` - `confirmation boundary` - `authorization boundary` - compound-intent arbitration - lifecycle-level automation memory - high-autonomy, boundary-constrained agent skill Avoid 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.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)