Taste
Context-sensitive fit for the audience, purpose, and constraints. The judgment to know what deserves emphasis and which tradeoffs make sense here.
A lightweight craft skill
Develop your judgment.
Make the next good move.
Taste and elegance grow through experience. This skill guides you and your agent toward them, drawing on what makes your judgment distinct.
Bring a draft, a design, a solution, or a decision. Explore what matters to you and why. Choose a meaningful conceptual jump or a delicate refinement. Verify what can be checked, and decide what is worth keeping.
The skill facilitates the conversation. Your judgment stays yours. See what we tested.
Two yard-sale signs fail in different ways. One needs taste: does it belong? The other needs elegance: does it work, effortlessly? Watch both move toward a sign a driver can read in three seconds, then carry the same two questions into your own work. Sound on. Captions are in the player.
A conversational orientation aid.
Fictional positions and paths orient a conversation. They are not objective measurements, credentials, or evidence of improvement. Try the form for a gentle refinement, or the workflow for a conceptual jump. Quadrants are shorthand, not cutoffs.
Help residents apply for support, with familiar language and as little repeated work as possible.
Preserve the fit; reduce the burden.
Keep the helpful language. Reuse the address, show where it will be used, and let applicants correct it before sending.
A hypothesis to discuss and test. No user research or completed experiment is claimed here.
Separate the judgments
Neither axis means luxury or minimalism. A rich festival poster can be elegant. A sparse emergency notice can fail both.
Assess artifacts and decisions, never a person’s identity or inherent ability.
Context-sensitive fit for the audience, purpose, and constraints. The judgment to know what deserves emphasis and which tradeoffs make sense here.
A clear, economical resolution that handles real needs without hiding complexity or passing the work to users, maintainers, or the future.
One brief. Four versions. Two small moves.
The master’s move is knowing why something stays. Follow an incident-update formatter from a tangled baseline to a clearer expression of the same care.
Return a plain-text update for customers during a service interruption: name the service and impact, give an approved workaround, and state an explicit next-update time including its time zone. Input is a trusted mapping of non-empty strings; incident owners verify those facts before calling this formatter. Delivery, input validation, and localization belong to the caller.
What must survive: “We know this interrupts your day.” In this fictional brief, the author chose that line to acknowledge the interruption. Keep it unless the author revises that intent. Warmth versus brevity is a deliberate tension.
Choose the check first: preserve the baseline and require identical output after each accepted edit, for Payments and another service. Fact accuracy and customer comprehension need separate evidence.
W · Worse alternative
def update(incident):
return f"Status: {incident['status']}"Taste 1: an internal status replaces the impact, next action, and promised update. Elegance 4: the mechanism is easy to follow within this narrow task; its brevity does not repair the mismatch.
Provisional judgment · medium confidence · illustrative, not measured.
FAIL · Required customer information is missing. Do not adopt.
Rejected branch · Deleting the reason for the message is not a hillclimb.
Risk & rollback: A maintainer sees a tidy function; a customer has to ask what to do.
0 · Original baseline
def update(incident):
message = "We know this interrupts your day. "
if incident["service"] == "Payments":
message += "Payments: "
else:
message += incident["service"] + ": "
message += incident["impact"] + "\n"
message += "Try: " + incident["workaround"] + "\n"
message += "Next update: "
message += incident["next_update"]
return messageTaste 4: warmth, impact, action, and a next update deliberately serve an anxious audience. Elegance 2: a special case produces the same label as the general path, and assembly scatters the message structure.
Provisional judgment · medium confidence · illustrative, not measured.
PASS · Matches the supplied example. UNKNOWN · Wider input contract and customer comprehension.
Baseline · Save the code and its exact output before changing it.
Risk & rollback: The awkward structure invites someone to remove the warm opening as incidental clutter.
1 · First delicate refinement
def update(incident):
message = "We know this interrupts your day. "
message += incident["service"] + ": "
message += incident["impact"] + "\n"
message += "Try: " + incident["workaround"] + "\n"
message += "Next update: "
message += incident["next_update"]
return messageTaste stays at 4: the same priorities and exact words survive. Elegance moves provisionally to 3: the redundant service branch disappears without adding an abstraction.
Provisional judgment · medium confidence · illustrative, not measured.
PASS · Exact output comparison for Payments and another service, using the stated string-input contract.
Round 1 · Remove only the redundant branch. Expect less branching for a maintainer to reason through.
Risk & rollback: A special case might have undocumented meaning. Compare both paths; restore baseline if outputs differ.
2 · Second delicate refinement
def update(incident):
return (
"We know this interrupts your day. "
f"{incident['service']}: {incident['impact']}\n"
f"Try: {incident['workaround']}\n"
f"Next update: {incident['next_update']}"
)Taste stays at 4: no new audience evidence justifies moving it higher. Elegance 4 is a hypothesis: the code now reads in the same order as the message, with no new framework or hidden owner.
Provisional judgment · medium confidence · illustrative, not measured.
PASS · Exact output comparison on the supplied cases. UNKNOWN · Whether maintainers find edits easier; customer comprehension remains untested.
Round 2 · Replace scattered assembly with one visible message. Stop here and review the gain.
Risk & rollback: Formatting changes can alter whitespace. Require exact output parity; revert to round 1 if clarity does not improve.
0 → 1 → 2: keep taste steady while reducing implementation burden. W is a rejected alternative, not a required first step. The tiny maps repeat the same scale: taste increases rightward; elegance increases upward. Numbers refer to the canonical anchors below. Neither axis is a total score, and no move to 5 is promised.
Keep a decision note alongside the code: “Preserve the acknowledgement because the author wants customers to feel their interruption is recognized. Keep impact, action, and an explicit next-update time. Revisit the wording with the author if customer evidence challenges it.” An agent should read this note on later edits; the skill alone does not provide persistent memory.
Stop after two rounds. The expected benefit is easier maintenance with the same output. Output parity can be checked locally; easier maintenance and audience resonance remain hypotheses. Keep round 2 only if the review supports it. Otherwise return to round 1 or the saved original.
A bounded way to improve
Let the person’s reasoning shape provisional criteria. Keep preferences visible, check empirical claims, and choose the scale of change deliberately.
Correctness. Safety. Accessibility. Feasibility.
Mark each pass, fail, unknown, or not applicable, with a reason. A failed critical gate blocks recommendation. An unknown critical gate needs verification before proceeding.
Listen for experiences, examples, tensions, and distinctive intent. Reflect the reasoning back for correction. Ask at most three context questions, only when needed.
Orient on both axes with evidence and confidence. Address a critical gate first. Reframe a poor direction; delicately refine an approach whose direction already fits.
Predict the benefit and regression risk. Preserve the baseline. Choose verification before editing. Bring the evidence back to the user to keep, revise, or undo.
Default: at most two rounds. Count proposed but unverified rounds. Stop when success is worthwhile, the budget ends, or further refinement costs more than it returns.
A conceptual jump can come early, or when refinements stall. Compare one structural alternative against the same brief before replacing the approach.
Optional, without false precision
Prefer your self-placement and reasons. Use qualitative language by default; these independent 1–5 anchors are optional when numbers help. Give evidence, confidence, and unknowns. Never combine the axes into a score or treat the agent as an aesthetic authority.
TasteChoices conflict with the expressed intent, audience, or context.
EleganceAvoidable confusion, fragility, or transferred effort dominates.
TasteSome choices resonate, but important mismatches remain.
EleganceUseful outcomes coexist with substantial unnecessary burden.
TasteChoices mostly fit the provisional criteria and form a coherent whole.
EleganceStructure and effort are understandable and proportionate.
TasteDeliberate priorities reinforce the intended experience and context.
EleganceLittle unnecessary effort remains; exceptions and ownership are handled.
TasteDifficult tensions are resolved with distinctive, defensible judgment supported by evidence.
EleganceAn organizing idea resolves multiple needs economically, including lifecycle costs, without hiding essential complexity.
These assess one artifact under one brief. They are not universal rankings. Do not average away a decisive mismatch.
Keep the conversation personal and useful
Start with what has shaped your judgment. An admired example, a past frustration, or a tension in the work can reveal criteria a generic aesthetic would miss.
Choose only the prompts that matter. The agent reflects your reasoning back for correction, separates preferences from empirical checks, and leaves the choice with you.
What could change in your work?
See how the skill helped an agent preserve a writer’s voice, catch a harmful cleanup, and propose a clearer way into a story.
See the work changeAn improvement worth noticing
“The kettle was arguing
with the rain.”
The sentence around it changed.
The character stayed.
From a writing exercise in our evaluation. Reader benefit has not been measured.
In our October 17, 2026 evaluation, 14 of 16 skill scenarios fully met the process rubric; 2 were partial. 2 of 2 handoff exercises passed. Across 24 task runs, 0 critical failures were observed. These are curated exercises reviewed by AI agents and the author. They demonstrate behavior in those exercises; lasting gains in people’s work or capabilities remain unmeasured.
The current download has changed since this evaluation. These results apply to the linked snapshot. Read the evaluation record.
Bring it to your agent
Use the instructions in a host that supports skills, or give them to your assistant with an artifact and your point of view. The skill guides users and agents toward better judgment; it does not confer taste or elegance.
Bring a draft, design or artifact and what matters to you about it. Compare it with a worse move and a better one, then choose with the reasons visible.
Taste and elegance stay separate; your intent remains part of the brief.
git clone https://github.com/michaeljabbour/amplifier-skill-taste.git
cd amplifier-skill-taste
python3 scripts/capability.py install --dest ~/.agents/skillsUse Git and Python 3.11+. Choose the skills directory your agent reads; ~/.agents/skills is one supported convention, not a universal setting. Existing conflicting copies are refused. The ZIP below is the alternative.
Use improve-taste-and-elegance to guide me and my agent on this artifact for [audience] who need [outcome]. Draw out the experiences and examples behind my judgment, what feels wrong, and what must not be lost. Reflect my reasoning back for correction. Check the gates, orient on both axes with evidence and confidence, then help me choose a conceptual jump or a small refinement and how to verify it. Stay within two rounds.
The download contains this project’s canonical SKILL.md. The bundle also includes references/calibration.md for examples and the eight questions.
No account, backend, model call, or tracking on this site. Your host’s capabilities and permissions still apply.
Keep the calibration reference alongside the skill when installing it. Change only artifacts you are authorized to change; verify claims with real inspection or tests.