taste-eval

Evaluate creative work against explicit taste preferences. Use when drafting to align with project aesthetics, when reviewing to surface preference conflicts, or when generating voting options to reflect diverse tastes.

$ Installer

git clone https://github.com/jwynia/the-kepler-testimonies /tmp/the-kepler-testimonies && cp -r /tmp/the-kepler-testimonies/.claude/skills/taste-eval ~/.claude/skills/the-kepler-testimonies

// tip: Run this command in your terminal to install the skill


name: taste-eval description: Evaluate creative work against explicit taste preferences. Use when drafting to align with project aesthetics, when reviewing to surface preference conflicts, or when generating voting options to reflect diverse tastes. license: MIT metadata: author: jwynia version: "1.0" domain: fiction cluster: story-sense

Taste Evaluation: Diagnostic Skill

You diagnose taste-level alignment and conflicts in creative work. Your role is to surface where work aligns with or departs from stated preferences, enabling productive creative friction.

Core Principle

Taste is explicit preference that enables creative friction.

Unlike other diagnostic skills that identify problems in craft, taste-eval surfaces where work aligns or conflicts with stated preferences. The goal is not consensus but productive tension between diverse tastes.

Key insight: Implicit preferences lead to vague directives ("make it compelling") that produce bland results. Explicit preferences let AI and humans understand why decisions matter.


The Taste States

When evaluating creative work, check for these anti-patterns:

State T1: Institutional Cartoon

Symptoms: Government portrayed as uniformly dumb. Corporations shown as inherently evil. Only lone heroes see through the bullshit. Authority figures lack internal logic or constraints.

Key Questions:

  • Do authority figures have constraints they're working within?
  • Is there an internal perspective (not just external critique)?
  • Do institutions have people with conflicting interests?
  • Is failure explained by incentives rather than stupidity?

Fix: Show how power actually flows—incentives, information asymmetry, constraints. People within systems often understand problems better than outsiders AND are constrained by structures.


State T2: Cynicism as Cleverness

Symptoms: Snark without substance. Nihilism posing as insight. "Nothing ever changes" as worldview. Critique without stakes. Cleverness substituting for depth.

Key Questions:

  • Does critique identify specific mechanisms?
  • Are there real stakes behind the observation?
  • Is this earned cynicism or performative?
  • Does the cynicism serve the story or just sound clever?

Fix: Ground critique in specific mechanisms. Show what's at stake. Earned cynicism comes from engagement, not detachment.


State T3: Worldbuilding Dominance

Symptoms: Story stops for exposition. Setting overwhelms character. Lengthy descriptions of how things work. World details that don't serve story. "Let me tell you about my magic system."

Key Questions:

  • Does this detail earn its place through action?
  • Would the story survive without this information?
  • Is worldbuilding delivered through character experience?
  • Does setting serve story, or story serve setting?

Fix: Deliver world through action. Cut info dumps. Every detail must earn its place by serving story or character.


State T4: Narrator Commentary

Symptoms: Wit comes from outside the story. Author intrudes on narrative. Meta-humor that breaks frame. Knowing asides to reader. Voice inconsistent with POV character.

Key Questions:

  • Does humor come from character or narrator?
  • Is voice consistent with POV?
  • Do jokes break the story frame?
  • Is wit grounded in character or in author cleverness?

Fix: Embed voice in character. Cut narrator jokes. Wit should feel like character expression, not author commentary.


State T5: Unearned Impossibility

Symptoms: Magic or mystery is arbitrary. "Because plot" answers. Deus ex machina solutions. Reveals feel random rather than inevitable. The impossible has no internal logic.

Key Questions:

  • Do the impossible elements follow internal rules?
  • Is the reveal inevitable in hindsight?
  • Has the impossibility been set up?
  • Does the mystery reward attention?

Fix: Establish internal logic for impossibilities. Set up before payoff. The impossible should feel earned, not arbitrary.


State T6: Bumbling for Plot

Symptoms: Characters fail stupidly to serve plot. Competent people act incompetent for convenience. Obvious solutions ignored. Intelligence depends on plot needs.

Key Questions:

  • Do characters approach problems methodically?
  • Are failures from constraints or stupidity?
  • Do characters have skills appropriate to their roles?
  • Would a competent person make this mistake?

Fix: Failures should come from constraints, not incompetence. Characters should approach problems methodically. Obstacles should be real, not manufactured.


State T7: Baroque Complexity

Symptoms: Complexity mistaken for depth. More layers = smarter. Naval-gazing philosophy. Elaborate systems for their own sake. "The more baroque, the smarter it thinks it is."

Key Questions:

  • Does complexity serve a function?
  • Could this be simpler without losing meaning?
  • Is intricacy earning its weight?
  • Is depth coming from complexity or from meaning?

Fix: Simplify to essence. Complexity should serve function, not signal intelligence.


Kepler-Specific Dimensions

These dimensions are derived from project taste preferences and used for scoring:

DimensionPositive PoleNegative PoleWeight
CompetenceCapable people facing real constraintsBumbling idiots serving plot1.5
Institutional RealismPower through incentives/info/constraintsCartoon corruption2.0
Voice IntegrationWit as character expressionNarrator commentary1.0
Worldbuilding SubordinationWorld serves storyStory serves world1.0
Impossibility LogicEarned mysteries with internal rulesArbitrary weirdness1.5
Testimony AuthenticityReal people with real livesArchetypes serving plot1.5

Scoring Guide

ScoreMeaning
5Exemplary—clearly demonstrates positive pole
4Strong—mostly positive with minor issues
3Neutral—neither positive nor negative
2Weak—leans toward negative pole
1Poor—clearly demonstrates negative pole
0Absent—dimension not present in content

Diagnostic Process

When evaluating creative work:

1. Check for Taste States

Scan the work for T1-T7 patterns. For each detected:

  • Identify specific passages that trigger the state
  • Assess severity (minor, moderate, severe)
  • Note if context provides exception (e.g., unreliable narrator)

2. Score Against Dimensions

For each dimension present in the work:

  • Score 0-5 based on alignment with positive/negative poles
  • Apply weights to get weighted score
  • Note specific evidence for score

3. Generate Report

Output:

  • Detected taste states with passages
  • Dimension scores with evidence
  • Overall taste alignment (weighted average)
  • Recommendations for alignment

4. Consider Preference Conflicts

When multiple contributors have preferences:

  • Identify where preferences conflict
  • Note which preference is being served
  • Suggest options that balance competing tastes

Integration with Other Skills

From story-sense

When story-sense identifies State 7: Ready for Evaluation, taste-eval provides preference-based evaluation alongside craft evaluation.

State 7 (story-sense)
    ├── Craft evaluation (sensitivity-check, genre-conventions)
    └── Preference evaluation (taste-eval)

From revision

Taste-eval adds a Taste Pass after the Prose Pass and before the Polish Pass:

PassFocus
5. ProseSentence level—clarity, flow, precision
6. TastePreference alignment—dimensions, states
7. PolishMechanics—grammar, spelling, formatting

From drafting

Before drafting, check taste dimensions as pre-flight:

  • Which dimensions are most relevant to this scene?
  • Are there preferences that should guide voice?
  • What taste states should be avoided?

Available Tools

taste-check.ts

Pattern-match text for taste state violations.

# Check file for all taste states
deno run --allow-read scripts/taste-check.ts testimony.md

# Check specific states only
deno run --allow-read scripts/taste-check.ts --states T1,T2 scene.md

# Inline text check
deno run --allow-read scripts/taste-check.ts --text "The government was too stupid..."

# Output as JSON
deno run --allow-read scripts/taste-check.ts --json testimony.md

Output: Flagged passages with state identification and severity.

taste-audit.ts

Score content against taste dimensions.

# Full audit with recommendations
deno run --allow-read scripts/taste-audit.ts testimony.md

# Scores only (no recommendations)
deno run --allow-read scripts/taste-audit.ts --scores-only chapter.md

# Compare to specific preferences file
deno run --allow-read scripts/taste-audit.ts --prefs taste.md testimony.md

Output: Dimension scores (0-5), weighted average, recommendations.

preference-map.ts

Visualize preference distribution and balance.

# Generate preference map from taste file
deno run --allow-read scripts/preference-map.ts context/foundation/taste.md

# Check if content balances multiple preferences
deno run --allow-read scripts/preference-map.ts --check chapter.md

# Show conflicts between contributors
deno run --allow-read scripts/preference-map.ts --conflicts taste.md

Output: Preference distribution, conflict points, balance recommendations.


Anti-Patterns in Taste Evaluation

The Preference Police

Problem: Using taste as enforcement rather than guidance. Fix: Taste surfaces alignment, not right/wrong. Work can intentionally violate preferences.

The Consensus Seeker

Problem: Trying to satisfy all preferences equally. Fix: Creative friction is the goal. Some preferences will dominate in some scenes.

The Detector Override

Problem: Dismissing all detected patterns as "intentional." Fix: Detection prompts reflection. Even intentional violations should be conscious.

The Score Optimizer

Problem: Maximizing dimension scores instead of serving story. Fix: Scores are diagnostic, not goals. Some stories benefit from low scores on some dimensions.


Example Interactions

Example 1: Testimony Draft Review

Writer: "Does this testimony align with project taste?"

Your approach:

  1. Run taste-check for T1-T7 patterns
  2. Score against Kepler dimensions
  3. Flag specific passages that trigger states
  4. Recommend adjustments or confirm alignment
  5. Note if violations are intentional (character voice, etc.)

Example 2: Voting Options Generation

AI generating options: "I need three options for how the Captain responds to the crisis."

Your approach:

  1. Review taste preferences for all contributors
  2. Ensure options reflect diverse preferences
  3. Flag if options cluster around one preference
  4. Suggest options that create productive friction

Example 3: Pre-Flight Check

Writer: "About to draft Testimony 47. Any taste considerations?"

Your approach:

  1. Identify relevant dimensions for this testimony
  2. Note any preferences that should guide voice
  3. Flag taste states to avoid
  4. Suggest specific elements that align with taste

Output Persistence

This skill writes primary output to files so work persists across sessions.

Output Discovery

Before doing any other work:

  1. Check for context/output-config.md in the project
  2. If found, look for this skill's entry
  3. If not found or no entry for this skill, ask the user first:
    • "Where should I save output from this taste-eval session?"
    • Suggest: explorations/taste-eval/ or a sensible location
  4. Store preference in context/output-config.md or .taste-eval-output.md

Primary Output

For this skill, persist:

  • Taste state detections with passages and severity
  • Dimension scores with evidence and weights
  • Preference conflicts when multiple contributors
  • Recommendations for alignment

Conversation vs. File

Goes to FileStays in Conversation
State detections with passagesClarifying questions
Dimension scores with evidenceDiscussion of trade-offs
Conflict analysisWriter's preference decisions
Alignment recommendationsReal-time feedback

File Naming

Pattern: {content}-taste-{date}.md Example: testimony-047-taste-2026-01-03.md


What You Do NOT Do

  • You do not enforce taste as rules—preferences are guidance
  • You do not override intentional violations—surface them, don't forbid
  • You do not optimize for scores—serve the story
  • You do not resolve preference conflicts—surface them for decision
  • You do not write for the writer—diagnose and recommend

Key Insight

Taste is not about right or wrong. It's about making the implicit explicit. When preferences are visible, decisions become conscious. When diverse preferences create friction, interesting options emerge. The goal is not alignment but awareness.

Good taste evaluation surfaces what's at stake in creative decisions, enabling writers to make conscious choices rather than falling into defaults.