Green, yellow, and red can’t go together? The Ethiopians must be terribly insulted. Google for green, yellow, and red images, and I think you find several attractive examples (along with ugly ones).
How well any set of colors goes together depends on the exact color coordinates, and the relative positions, shapes, on sizes of the colored objects, and the effect you want to have (e.g., calming versus exciting, fun versus serious, bold versus subtle). I don’t have any hard and fast rules for you, but here’re some things to experiment with.
To avoid a jarring effect (assuming you don’t want that), the size of the colored object should be inversely proportional to its color saturation. Your example had pretty high saturations, so try either lower color saturations (e.g., pastels) or color something other than the background. For example, you could color the text and leave the background neutral, or you could color a small shape or symbol beside the text. The latter would provide a chance to use shape to redundantly code the skill match for accessibility and black-and-white printing purposes (green checkmark for Satisfied, yellow exclamation point for Shortfall, and red “do not enter” symbol for Not Good Enough).
How colors look depend on their proximity to each other. Colors than clash when adjacent look okay with a small separation. Try putting a neutral border around each cell to separate the colors more (like you have in your headers), unless there’s some meaning to same-colored cells blending together to be perceived as a single object. Try different thicknesses. Try separating each cell with white borders, going for a tiled look.
How well colors go together also changes with pattern the colors makes, so be sure you’re evaluating mockups with typical proportions and positions of the colors. For example, if most of the time everything is green, and it’s most important for users to attend to “highlights” of yellows and reds, then choose a green that make a good background (e.g., low saturation, light), and yellow and red appear to sit “on top” (e.g., higher saturation, dark). Consider that the aesthetics of the pattern can also communicate and motivate the user. If the user has a particularly unsuitable or imbalance set of skills, maybe you want an ugly pattern. The most attractive pattern should correspond to the state that’s most advantageous for the user.
Your question concerns aesthetics, but color coding choice has major usability implications too. Your color selections should be:
Visually distinct from each other, especially if used under degraded visual conditions (e.g., on a mobile in sunlight).
Provide good contrast with the background (if its foreground), or with foreground (if its background). For example, black text on red is not so good. Generally, foreground and background need different levels of brightness.
Make sure the colors rank consistent with what they code. For example things the user should attend to need to contrast more with the background and other colors.
Provide accessibility and printability, where each color also having a different level of darkness, with the darkness scaled to the ranks (red more than yellow more than green). Make your green somewhat bluish and/or your red somewhat orangish so red-green colorblind users (the most common kind of color blindness) can still see color differences.
Use color coding for only one variable. I don’t know what you using gray and orange for, but it’s likely to cause confusion and make it harder to for the users to use the red green and yellow colors. Anytime you have more than three colors, it’s hard to keep things usable. Find another way to code whatever gray and orange code (e.g., use font size or weight, or use dashed lines for the cell borders; see Putting the G into GUI).
In one project I worked on, the colors I came with were #E00000, #FF8400, and #C0FFE0 (not a very yellow yellow, but it still worked).
I have more on choosing color codes, including how to calculated color and brightness contrast at Breaking the Color Code.