ワンクリックで
decomposing-feel
Convert vague "feel" feedback into specific actionable fixes via decomposition questions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Convert vague "feel" feedback into specific actionable fixes via decomposition questions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Creative direction for AI image generation — distill a codebase's FEEL canon (taste tokens, TDRs, persona files) into prompt-ready material vocabulary, map product architecture to scene systems, and enforce visual discipline across banner sets and scene stacks.
Analyze feedback logs to detect design preference patterns. Auto-contributes HIGH confidence patterns upstream.
Motion design and animation patterns for UI based on Emil Kowalski's principles
Touch, keyboard, and form interaction patterns for accessible UI
Design physics system for UI interactions - sync strategies, timing, confirmations
Component design patterns - compound components, composition, props API
| name | decomposing-feel |
| description | Convert vague "feel" feedback into specific actionable fixes via decomposition questions |
| user-invocable | true |
| allowed-tools | Read, Write, Glob, Grep, Edit, AskUserQuestion |
Convert vague "feel" feedback into specific actionable fixes through guided decomposition.
/decompose # Start decomposition for current context
/decompose "it feels off" # Decompose specific feedback
Auto-trigger: When iterating-visuals receives "Something's off" feedback.
Humans often know something is wrong but can't articulate what. This skill bridges the gap:
"It doesn't feel right" → Decomposition → "The shadow is too heavy"
| Type | Signal | Example | Actionability |
|---|---|---|---|
| Feel | Vibe is off | "Something's wrong but I can't say what" | Low - needs this skill |
| Specifics | Concrete delta | "This margin should be 24px not 16px" | High - direct fix |
| Taste | Pattern preference | "More like Stripe, less like Bootstrap" | Medium - needs reference |
Goal: Convert FEEL → SPECIFICS or TASTE so AI can act.
When user says something vague, present targeted questions:
{
"questions": [{
"question": "Let me help identify what's off. Is it...",
"header": "Decompose",
"multiSelect": false,
"options": [
{
"label": "The spacing",
"description": "Padding, margins, gaps feel wrong"
},
{
"label": "The color",
"description": "Palette, contrast, tone feels wrong"
},
{
"label": "The hierarchy",
"description": "Text weight, size, emphasis feels wrong"
},
{
"label": "The motion",
"description": "Animation, transitions feel wrong"
}
]
}]
}
If user selects "Other" or can't identify: → Move to Phase 2: A/B Comparison
Once dimension identified, drill deeper:
You said spacing feels off. More specifically:
1. Too tight? (needs more breathing room)
2. Too loose? (feels disconnected)
3. Inconsistent? (some parts tight, others loose)
4. Wrong balance? (visual weight distribution)
You said color feels off. More specifically:
1. Too saturated? (too vibrant)
2. Too muted? (too washed out)
3. Poor contrast? (hard to read)
4. Wrong palette? (doesn't match brand)
You said hierarchy feels off. More specifically:
1. No clear focus? (everything same weight)
2. Too many levels? (confusing priority)
3. Wrong emphasis? (important things don't stand out)
4. Typography issues? (font size, weight, spacing)
You said motion feels off. More specifically:
1. Too fast? (feels jarring)
2. Too slow? (feels sluggish)
3. Wrong easing? (doesn't feel natural)
4. Too much motion? (distracting)
When user can't identify even with drill-down, offer comparison:
I'll generate two descriptions. Which feels closer to what you want?
VERSION A:
- Tighter spacing (p-2 instead of p-4)
- No shadows
- Sharper corners (rounded-sm)
VERSION B:
- Generous spacing (p-6 instead of p-4)
- Subtle shadow (shadow-sm)
- Softer corners (rounded-lg)
Which direction feels closer? Or neither?
Based on response:
Log decomposition path for pattern detection.
log_decomposition() {
local dimension="$1"
local aspect="$2"
local resolution="$3"
local log_dir="grimoires/artisan/feedback"
local log_file="${log_dir}/$(date +%Y-%m-%d).jsonl"
mkdir -p "$log_dir"
# Stable session_id across the session (persist to file)
if [[ -z "${ARTISAN_SESSION_ID:-}" ]]; then
local session_file="${log_dir}/.session_id"
if [[ -f "$session_file" ]]; then
ARTISAN_SESSION_ID="$(cat "$session_file")"
else
ARTISAN_SESSION_ID="$(date +%s%N | sha256sum | cut -c1-8)"
echo "$ARTISAN_SESSION_ID" > "$session_file"
fi
export ARTISAN_SESSION_ID
fi
# Use jq for safe JSON construction
jq -cn \
--arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
--arg session_id "$ARTISAN_SESSION_ID" \
--arg skill "decomposing-feel" \
--arg feedback "decomposed" \
--arg dimension "$dimension" \
--arg aspect "$aspect" \
--arg resolution "$resolution" \
'{ts:$ts,session_id:$session_id,skill:$skill,feedback:$feedback,context:{dimension:$dimension,aspect:$aspect},resolution:$resolution}' \
>> "$log_file"
}
Log after resolution applied:
# Example: Spacing → Too tight → p-2→p-4
log_decomposition "spacing" "too_tight" "p-2→p-4"
Once identified, propose concrete change:
IDENTIFIED: Spacing → Too tight
Specific Fix:
├── Current: p-2 (8px padding)
├── Proposed: p-4 (16px padding)
└── Alternative: p-6 (24px for more "premium" feel)
Apply which option?
After successful decomposition, track for taste learning:
Decomposition Session Summary:
├── Started with: "It doesn't feel right"
├── Identified: Spacing → Too tight
├── Fixed with: p-4
I've noticed this is the 3rd time you've preferred more padding.
Add "prefer generous spacing" to taste.md?
FEEL → DECOMPOSE → SPECIFY
Level 1: What dimension?
├── Spacing
├── Color
├── Hierarchy
├── Motion
└── Density
Level 2: What aspect?
├── Spacing: tight/loose/inconsistent/balance
├── Color: saturated/muted/contrast/palette
├── Hierarchy: focus/levels/emphasis/typography
├── Motion: fast/slow/easing/amount
└── Density: crowded/sparse/rhythm
Level 3: Specific fix
├── Token change (p-2 → p-4)
├── Class change (shadow-md → shadow-sm)
└── Value change (#000 → #333)
Agentation v2 (MCP) — If agentation MCP server is available:
Can you point to exactly what's off?
Click the problematic element in your app — I'll detect your annotation automatically.
agentation_get_pending to fetch annotations with element selectorselementPath and reactComponents for precise code mappingagentation_get_session for session contextAgentation v1 (Fallback) — If MCP unavailable:
Can you point to exactly what's off?
If you have Agentation installed:
1. Activate it (bottom-right corner)
2. Click the problematic element
3. Copy the markdown output
4. Paste it here
I'll parse the selector and map to the exact code.
Parsing Agentation Output:
## Annotation
**Element**: `.card-shadow`
**Position**: (234, 156)
**Note**: Too heavy
**Selector**: `[class*="shadow-md"]`
→ Parse selector
→ Grep codebase for shadow-md
→ Propose shadow-sm or shadow-xs
User: "The card doesn't feel right"
AI: "Is it the spacing, color, hierarchy, or motion?"
User: [Selects "Spacing"]
AI: "Is it too tight, too loose, inconsistent, or wrong balance?"
User: [Selects "Too tight"]
AI: "Current padding is p-2. Proposed fix:
- p-4 (subtle increase)
- p-6 (generous, more premium)
Which to apply?"
User: "p-6"
AI: [Applies p-6, takes screenshot]
AI: "Updated. How does it look now?"
User: "Perfect!"
User: "Something's off but I can't say what"
AI: "Is it spacing, color, hierarchy, or motion?"
User: [Selects "Other"]
AI: "Let me try A/B comparison.
VERSION A: Tighter, sharper, no shadows
VERSION B: Spacious, soft, subtle shadows
Which feels closer?"
User: "B, but not the shadows"
AI: "Got it - spacious and soft, but no shadows.
Applying: p-6, rounded-lg, no shadow.
[Takes screenshot]
How about now?"
User: "Yes, that's it!"
═══════════════════════════════════════════════════════════════
DECOMPOSITION: Card.tsx
═══════════════════════════════════════════════════════════════
Initial feedback: "It doesn't feel right"
Decomposition Path:
├── L1: Spacing
├── L2: Too tight
└── L3: p-2 → p-6
Fix Applied: padding: p-6
Result: Approved
Pattern Noted:
└── User prefers generous spacing (3rd occurrence)
→ Suggested for taste.md
═══════════════════════════════════════════════════════════════
| Scenario | Response |
|---|---|
| User can't choose dimension | Offer A/B comparison |
| A/B doesn't help | Ask for reference ("like what site?") |
| Still stuck | Offer to step back and describe ideal |
| User frustrated | Acknowledge, offer break, save context |
/iterate-visual - Triggers this skill on "Something's off"/inscribe - Applies fixes using taste tokens/synthesize - Extracts taste for grounding