Verified against ChatGPT · 2026-08-13
Build a competency matrix that levels distinguish by scope, not by adjectives
Constructs a role-leveling matrix across skill dimensions where each level is defined by a checkable scope difference, avoiding the common failure where every level description just uses a bigger adjective.
The prompt
Ready to copy — highlighted parts are example details you can swap.
Build a competency matrix for Product Design across IC2 through IC5, where each level within each skill dimension is distinguished by a concrete difference in scope or autonomy — not by inflating the same description with stronger adjectives at each level up.
SKILL DIMENSIONS TO INCLUDE
Problem framing, cross-functional influence, design system ownership, mentoring.
CURRENT VAGUE LANGUAGE TO REPLACE, IF ANY
Current IC3 and IC4 both say 'demonstrates strong design craft and collaborates well with engineering' with no other difference.
EXAMPLES OF ACTUAL WORK AT DIFFERENT LEVELS
An IC4 redesigned the checkout flow end-to-end across three squads with no senior oversight; an IC3 owns the empty-states pattern for one product area with weekly design review.
For each skill dimension, write a one- or two-sentence description per level that names a concrete difference: what kind of problem they handle (well-defined vs ambiguous), how much oversight is involved (reviewed before, reviewed after, none), and what scope of impact (their own work, their team's, multiple teams). Two adjacent levels should never be distinguishable only by intensity words like "strong," "excellent," or "advanced" applied to the same sentence — if you can't state a concrete difference in problem type, oversight, or scope between two levels, say so explicitly rather than inventing a fake distinction to fill the cell.
If current vague language was provided, rewrite each instance to show what it was actually failing to distinguish, and give the sharper replacement — treat this as a before/after pair so the reasoning is visible, not just the fix.
If real work examples were given, use them as calibration anchors: check that your level descriptions would actually sort those specific examples correctly, and flag if any example doesn't cleanly fit the level it was supposedly an example of, since that mismatch usually reveals the framework's boundary is drawn in the wrong place.
WHAT NOT TO DO
Do not produce a matrix where every cell reads as a template with only the adjective swapped ({dimension} at a {level} level requires {stronger word} skills) — that pattern indicates you haven't actually reasoned about what changes at each level and should be treated as a failed draft to redo, not a finished answer.
OUTPUT FORMAT
1. The matrix as a table: rows are skill dimensions, columns are levels, cells are the concrete level description.
2. If vague language was provided, a before/after table showing what was ambiguous and the sharper replacement.
3. If work examples were given, a note on whether each sorted cleanly into its expected level or revealed a boundary problem.Customize
Optional — swap in your own details for the highlighted parts above.
Why this works
Competency matrices produced without an explicit constraint against adjective-inflation almost universally fall into the exact failure pattern this prompt names directly, because "describe skill X at increasing levels" is a template GPT-5.1 (and most level frameworks it has seen in training data) satisfies most easily by keeping the sentence structure identical and swapping in a stronger word — "solid" becomes "strong" becomes "exceptional" — which produces a matrix that looks complete but gives a calibration committee nothing to actually check a person against, since "exceptional" versus "strong" isn't observable in real work the way "reviewed after the fact" versus "reviewed before shipping" is. Explicitly instructing the model to say so when it can't find a concrete distinction, rather than inventing one to fill the cell, matters because the default behavior when asked to complete a table is to fill every cell somehow, and an honestly blank or flagged cell is more useful output than a confidently fabricated fake distinction that later gets used to make a real promotion decision. The before/after treatment of existing vague language does double duty: it produces the fix, but showing what the vague version was actually failing to distinguish teaches the requester to recognize the pattern themselves in the other level descriptions they didn't submit for rewrite, which is more valuable long-term than a one-time fix. Using real work examples as calibration anchors is the most mechanically important check in the prompt, because a level framework that sounds coherent in the abstract can still misplace real work when applied, and asking the model to actually test its own definitions against concrete examples — and flag when an example doesn't fit — catches exactly the kind of boundary error that only surfaces when a framework meets real cases, which abstract-only construction can never reveal.
What you get back
Design system ownership, IC3: owns a defined pattern within one product area, changes reviewed by a senior designer before shipping. IC4: owns design system decisions across multiple product areas, changes ship without prior review but are audited after the fact in monthly design reviews. Before/after: vague 'strong collaboration with engineering' at both IC3 and IC4 replaced — IC3 collaborates within a single squad's sprint cycle; IC4 sets design-engineering handoff norms adopted by other squads. Calibration check: the IC4 checkout-redesign example fits cleanly (cross-squad scope, no prior oversight); the IC3 empty-states example fits cleanly (single area, weekly review).
Verified against
ChatGPT GPT-5.1 · 2026-08-13
Changelog
- 2026-08-13 — Initial publish, verified against ChatGPT GPT-5.1.
Need this built into your business?
If a prompt isn't enough — what Scult builds, built and maintained for you — that's Scult's day job.
EXPLORE WHAT SCULT BUILDS
