Skip to content
aesthetic-dreaming logo

aesthetic-dreaming Skill

aesthetic-dreaming

Create aesthetic templates without first creating a plugin - capture visual design concepts through adaptive questioning. Use when you want to build a library of visual systems before plugin implementation.

SKILL.md

Full skill instructions

aesthetic-dreaming Skill

Purpose: Create aesthetic templates before implementing any plugins. Capture visual design systems through adaptive questioning, generate structured aesthetic.md, and optionally create test previews demonstrating the aesthetic across different plugin types.

Solves: The friction of needing to create a full plugin just to design and save an aesthetic template. Build a library of visual design systems first, apply them later.


<workflow_overview> <critical_sequence enforcement="strict"> This workflow MUST execute phases in order. Do NOT skip phases or proceed to finalization before completing gap analysis and question batches.

Phase Flow:

  1. Phase 1: Free-form collection - Gather initial aesthetic vision
  2. Phase 2: Gap analysis - Identify missing visual elements
  3. Phase 3: Question batch - Ask 4 contextual questions via AskUserQuestion
  4. Phase 3.5: Decision gate - Finalize / Continue / Add context
  5. Phase 3.7: Name aesthetic (if finalizing)
  6. Phase 4: Test preview selection
  7. Phase 5: Generate files
  8. Phase 6: Decision menu

Loop Structure: Phases 2-3-3.5 repeat until user chooses "finalize" at decision gate.

Critical Rules:

  • Do NOT skip phases
  • Do NOT execute phases out of order
  • Do NOT proceed to finalization before decision gate approval
  • NEVER auto-proceed past decision gates </​critical_sequence> </​workflow_overview>

<phase id="1" name="free_form_collection"> <instructions> Present open invitation to user. Extract all mentioned visual concepts verbatim and accumulate in context. </​instructions>

<required_prompt> What aesthetic are you envisioning?

Describe the visual design system you want to create—share as much or as little as you want. I'll ask follow-ups for anything missing.

Consider: overall vibe, color palette, control styling, spacing, textures, typography, and plugin types this would suit.

You can reference existing designs, describe feelings, or provide technical specifics. </​required_prompt>

<extraction_targets>

  • Visual Identity: Overall vibe, mood, design philosophy
  • Color System: Palette, warm/​cool, contrast, specific colors
  • Typography: Font choices, sizing philosophy
  • Control Styling: Knobs, sliders, buttons, rotaries
  • Spacing: Density, breathing room, layout approach
  • Surface Treatment: Textures, shadows, depth, glossy vs. matte
  • Details: Special features, animations, microinteractions
  • Best For: Plugin types, use cases
  • Inspirations: References to existing designs </​extraction_targets>

<state_requirement> Context Storage: Maintain cumulative context as structured object in agent memory throughout all phases and question batches. Format: key-value pairs for each design dimension (vibe, color_philosophy, control_style, typography, spacing, etc.). NEVER overwrite existing keys - only append new information. NEVER lose information from previous phases. </​state_requirement> </​phase>


<phase id="2" name="gap_analysis"> <critical_sequence> 1. Parse user's accumulated context (from Phase 1 + any previous question batches) 2. Check coverage against tier priority system 3. Identify top 4 gaps by tier priority 4. NEVER ask about already-provided information </​critical_sequence>

<tier_system> Tier 1 (Critical): Overall vibe/​mood, color philosophy, control style Tier 2 (Visual Core): Specific colors, typography, spacing, textures, control details Tier 3 (Context): Best suited for, special features, inspirations </​tier_system>

<anti_pattern> NEVER ask redundant questions. If user stated "dark modern blue", do NOT ask:

  • "What's the overall vibe?" (modern already stated)
  • "Light or dark?" (dark already stated)
  • "What accent color?" (blue already stated)

Instead focus on uncovered gaps: typography, spacing, textures, plugin types. </​anti_pattern>

<delegation_rule> Detailed question banks are in references/​aesthetic-questions.md. Reference for gap analysis strategies and question options. </​delegation_rule> </​phase>


<phase id="3" name="question_batch"> <instructions> Generate exactly 4 questions using AskUserQuestion tool based on gaps identified in Phase 2. </​instructions> <requirements> - MUST use AskUserQuestion tool (not inline menu) - Provide 3-4 meaningful options per question (not just open text) - Always include "Other" option for custom input - Users can type "skip" in "Other" to skip questions - Questions MUST target identified gaps, prioritized by tier </​requirements>

<tool_usage> Tool: AskUserQuestion Parameters:

  • questions: array[1-4] of question objects
  • Each question has: question, header, multiSelect, options[2-4]
  • Always include "Other" option automatically </​tool_usage>
<example> See references/​question-examples.md for detailed AskUserQuestion formatting examples and question banks by category. </​example>

<state_transition> After receiving question batch answers:

  1. Merge answers into accumulated context object by appending to relevant keys (e.g., answer "Dark with blue accents" → context.color_philosophy = "Dark with blue accents"). Preserve all previous keys. Never overwrite existing information.
  2. Proceed DIRECTLY to decision gate (Phase 3.5)
  3. Decision gate will route to Phase 2 (re-analyze) or Phase 3.7 (finalize) </​state_transition> </​phase>

<decision_gate id="finalize_or_continue" phase="3.5"> <critical_sequence> MUST present this decision gate after EVERY question batch (Phase 3). MUST use inline numbered list format (consistent with checkpoint protocol). MUST wait for user response before proceeding. </​critical_sequence>

<required_menu> Ready to finalize the aesthetic concept?

  1. Yes, finalize it - Create aesthetic.md and optional previews
  2. Ask me 4 more questions - Continue refining the design
  3. Let me add more context first - Provide additional details before questions

Choose (1-3): _ </​required_menu>

<routing_logic> IF option 1 THEN proceed to Phase 3.7 ELSE IF option 2 THEN return to Phase 2 (with accumulated context) ELSE IF option 3 THEN collect user input, merge with context, return to Phase 2 </​routing_logic>

<state_requirement> Context accumulation is cumulative across all iterations. Never lose previously collected information. </​state_requirement> </​decision_gate>


<phase id="3.7" name="name_aesthetic"> <preconditions> Only execute if user chose "finalize" at decision gate (Phase 3.5). </​preconditions>

<conditional_execution> IF aesthetic name already provided in initial description THEN skip this phase and proceed to Phase 4. ELSE ask user for name via AskUserQuestion with 3 suggested names + "Other" option. </​conditional_execution>

<name_generation_rules>

  • Suggest 3 names based on accumulated context (vibe + colors + style)
  • Examples: "Dark modern blue" → "Modern Professional", "Blue Tech", "Dark Elegance"
  • Allow user to provide custom name via "Other" option </​name_generation_rules>

<slug_generation>

  • Slugify name: "Modern Professional" → "modern-professional"
  • Check for existing IDs in manifest.json and append counter: "modern-professional-001"
  • Increment suffix from -001 to -999 until unique ID found
  • If all suffixes exhausted (aesthetic has 999+ versions), ask user to provide alternative name </​slug_generation> </​phase>

<phase id="4" name="test_preview_selection"> <instructions> Present test preview selection menu using AskUserQuestion with multiSelect: true. </​instructions> <requirements> - MUST use AskUserQuestion tool with multiSelect: true - Offer 4 test plugin types: simple-compressor, complex-reverb, drum-machine, simple-synth - User can select 0-4 options (0 = skip previews entirely) </​requirements>

<tool_format> AskUserQuestion({ questions: [{ question: "Generate test previews to see this aesthetic applied? (select 0-4 plugin types)", header: "Test previews", multiSelect: true, options: [ { label: "Simple compressor", description: "4 parameters: threshold, ratio, attack, release" }, { label: "Complex reverb", description: "8 parameters: size, damping, predelay, mix, tone, width, decay, diffusion" }, { label: "Drum machine", description: "16-pad grid + 4 controls: tempo, swing, volume, pattern" }, { label: "Simple synth", description: "6 oscillator controls: waveform, frequency, attack, decay, sustain, release" } ] }] }) </​tool_format>

<routing_logic> IF user selects 0 options THEN skip test preview generation, proceed directly to Phase 5 (aesthetic.md only) ELSE IF user selects 1-4 options THEN proceed to Phase 5 with selected preview types </​routing_logic>

<state_requirement> Store selected preview types in context for Phase 5 generation. </​state_requirement> </​phase>


<phase id="5" name="generate_files"> <instructions> Execute the complete 8-step generation sequence with verification checkpoints.

See references/​file-generation.md for complete Phase 5 implementation protocol. </​instructions> </​phase>


<phase id="6" name="decision_menu"> <checkpoint_protocol> This is a system checkpoint. MUST follow Plugin Freedom System checkpoint protocol. MUST use inline numbered list format (NOT AskUserQuestion tool) per CLAUDE.md checkpoint protocol. </​checkpoint_protocol>

<workflow_mode_check> Before presenting decision menu:

  1. Read .claude/​preferences.json to check workflow.mode setting
  2. IF mode === "express" AND skill was NOT explicitly invoked via /​dream command:
    • Skip decision menu
    • Exit skill gracefully with completion message
  3. ELSE:
    • Present decision menu and wait for user response </​workflow_mode_check>

<decision_menu> ✅ Aesthetic "[Name]" ready!

What's next?

  1. Open test previews - View mockups in browser
  2. Refine aesthetic - Adjust and regenerate aesthetic.md
  3. Create another aesthetic - Start new aesthetic
  4. Apply to existing plugin - Choose plugin from PLUGINS.md
  5. Done

Choose (1-5): _ </​decision_menu>

<routing_logic> Option 1: Run open commands for test preview HTML files, return to menu Option 2: Ask what to change, re-run question batches (Phases 2-3-3.5), regenerate aesthetic.md (preserve ID) Option 3: Return to Phase 1 with fresh context Option 4: Read PLUGINS.md, user selects plugin, invoke ui-mockup skill with aesthetic pre-selected Option 5: Exit skill </​routing_logic>

<state_requirement> MUST wait for user response. NEVER auto-proceed to any option. </​state_requirement> </​phase>


<adaptive_questioning_strategy> Core Algorithm: Extract concepts → Check tier coverage → Identify gaps → Generate 4 questions → Decision gate → Loop or finalize

Anti-pattern: Never ask about concepts already provided. Never repeat questions in different words.

Tier Priority: Tier 1 (Critical: vibe, color philosophy, control style) → Tier 2 (Visual Core: specific colors, typography, spacing, textures) → Tier 3 (Context: plugin types, inspirations, special features)

See references/​aesthetic-questions.md for detailed gap analysis strategies and question banks. See references/​workflow-examples.md for complete examples showing adaptive questioning across different input scenarios. </​adaptive_questioning_strategy>


<handoff_protocol> See references/​handoff-protocol.md for complete skill invocation details and integration with ui-template-library and ui-mockup. </​handoff_protocol>


<error_handling> See references/​error-handling.md for complete edge case handling and recovery strategies. </​error_handling>


Success Criteria

Skill is successful when:

  • Aesthetic concept captured through adaptive questions
  • No redundant questions asked (respects already-provided info)
  • aesthetic.md generated with all 12 sections filled
  • Test previews generated for selected plugin types (if any)
  • Files stored in correct locations (.claude/​aesthetics/[id]/)
  • Aesthetic immediately available in ui-mockup skill
  • User feels creative flow, not interrogated
  • Clear next steps presented

Design Rationale

See references/​design-rationale.md for detailed explanation of design decisions, format consistency rules, and quality control procedures.


Reference Documentation

See also:

  • ui-template-library skill - Apply and save operations
  • ui-mockup skill - Integration with Phase 0 aesthetic selection
  • plugin-ideation skill - Adaptive questioning pattern reference
  • assets/​test-plugin-specs.json - Test plugin parameter definitions
  • references/​aesthetic-questions.md - Question bank and strategies
  • references/​question-examples.md - AskUserQuestion formatting examples
  • references/​test-preview-protocol.md - Test preview generation protocol
  • references/​error-handling.md - Error handling and edge cases

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View