Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Prompt Efficiency (PES)

Weight in Skill: 20%. Prompt Efficiency (PES) is the most coachable input into your Skill score — rewriting a vague prompt into a specific one is the fastest way to move the number.

PES replaces the earlier “Prompt Quality” metric. The name change is deliberate: a prompt is scored on how efficient it is at getting a usable result, not on some abstract notion of quality.

Each prompt is scored by an intent-specific LLM rubric agent (authoring or debugging). Every dimension is on a 0–10 scale; PES is their weighted average.

DimensionWeightWhat it measures
Information Density35%How much usable signal per word — file paths, function names, error messages, expected behavior
Context Leverage25%Whether the prompt uses what Claude already knows (CLAUDE.md, prior turns, open files) instead of repeating it
Ambiguity Cost25%The expected cost of follow-up turns needed because the prompt is under-specified
Turn Economy15%Whether the ask can plausibly land in one turn, or is really several asks bundled together

Formula:

PES = 0.35·InformationDensity + 0.25·ContextLeverage + 0.25·AmbiguityCost + 0.15·TurnEconomy

See apps/prism-engine/src/intelligence/insight/types.rs for the canonical implementation.

ScorePrompt
9”Fix the TypeError in src/auth/validate.ts:42user.email is undefined when the OAuth callback has no profile scope. Should return 401 instead of crashing. Keep the existing interface.”
6”Fix the auth bug — users can’t log in with Google OAuth.”
2”fix the login bug”

The 9-point prompt scores high on every dimension: concrete paths and a line number (information density), assumes Claude has the file open (context leverage), states the expected behavior (ambiguity cost), and asks for one thing (turn economy).

Not every prompt is meant to be a structured request. The rubric short-circuits for:

  • Question — “what does this function do?”
  • Meta — “slow down and think before editing”
  • Continuation — “yes, keep going”
  • System callback — Claude Code’s own internal prompts

These are audit-logged but excluded from PES averages. You shouldn’t be penalized for a quick “yes, do that.”

The highest-leverage habits:

  1. Add file pathssrc/auth/validate.ts beats “the auth file”
  2. Name the function or symbolfix parseConfig() beats “fix the parser”
  3. Include the error — paste the actual message or stack trace, not “it broke”
  4. State expected behavior — “should return 200 with { ok: true }
  5. One ask per turn — split “fix X and add Y” into two prompts
  6. Trust CLAUDE.md — don’t re-explain project layout on every prompt

If you want hands-on help rewriting a specific prompt, run /prism:advisor "your prompt here" in Claude Code.