I have a variable v that can take a value from 0.0 to 1.0. I want a function to left-skew the value, producing w. By "left skew" I mean that any value of v will be increased, but more so for lower values and less so for higher values, so that there will be more values in w "bunched together" the nearer you get to 1.0. (My math is a but rusty so I apologize if I'm not asking this using the correct terminology.)
For an intuitive example (not to scale; these are arbitrary values to explain the idea), a value v of 0.4 might yield a value w of 0.5, while a value v of 0.91 might only yield a value w of 0.92. (Ideally there would be some other variable that controlled the amount of skew, and perhaps another variable that controlled the weight or slope of the skew. But I want to start simple!) However an input v of 0 or 1 would still yield an output w of 0, and 1, respectively (i.e. the bounds of the range are fixed).
Another way to look at this is to assume that the values in v are right-skewed, and we want to "unskew" them to make a uniform distribution.
This is probably Math 101 or Trigonometry 101, and there's probably some simple sin/cos function or something like that. Thank you in advance for helping my brain get oriented to review these elementary concepts.

Consider $w = v + g(v)$, where $g(v)$ is the addition to $v$ that gives $w$. Presumably, you want the following to hold for $g(v)$:
An example function that accomplishes this is $$ g(v;r) = \frac{1}{r}\left(1-v^r \right), $$ where $r\geq 1$ is your parameter to be fixed. I have included some examples in the image below. Smaller $r$ increases the skew.