For example can you use environment description
with minipage
for this. See the code:
\cvsection{Skills}
\begin{minipage}[t]{.3\linewidth}
\raggedright
\begin{description}
\item[Programming] Python, C/C++, Scala, JAVA, Node.JS, OCaml, LaTeX
\end{description}
\end{minipage}%
\hfil
\begin{minipage}[t]{.3\linewidth}
\raggedright
\begin{description}
\item[Web] Django with Python, Express with Node.JS, HTML5, LESS
\end{description}
\end{minipage}%
\hfil
\begin{minipage}[t]{.3\linewidth}
\raggedright
\begin{description}
\item[Languages] Korean, English, Japanese, Chinese
\end{description}
\end{minipage}
It results in three minipages beneath each other ...
With the complete MWE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Awesome Resume/CV
% XeLaTeX Template
% Version 1.1 (9/1/2016)
%
% This template has been downloaded from:
% http://www.LaTeXTemplates.com
%
% Original author:
% Claud D. Park (posquit0.bj@gmail.com) with modifications by
% Vel (vel@latextemplates.com)
%
% License:
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
%
% Important note:
% This template must be compiled with XeLaTeX, the below lines will ensure this
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------------------------------------------------
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------
\documentclass[11pt, a4paper]{awesome-cv} % A4 paper size by default, use 'letterpaper' for US letter
%\usepackage{multicol}
\geometry{left=2cm, top=1.5cm, right=2cm, bottom=2cm, footskip=.5cm} % Configure page margins with geometry
%\usepackage{pst-blur}
\usepackage{graphicx}
\fontdir[fonts/] % Specify the location of the included fonts
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{multicol}
\usepackage{parallel}
% Color for highlights
\colorlet{awesome}{awesome-skyblue} % Default colors include: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange, awesome-nephritis, awesome-concrete, awesome-darknight
\colorlet{emphasis}{black}
\colorlet{body}{black!80!white}
%\definecolor{awesome}{HTML}{CA63A8} % Uncomment if you would like to specify your own color
% Colors for text - uncomment and modify
%\definecolor{darktext}{HTML}{414141}
%\definecolor{text}{HTML}{414141}
%\definecolor{graytext}{HTML}{414141}
%\definecolor{lighttext}{HTML}{414141}
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad} % If you would like to change the social information separator from a pipe (|) to something else
%----------------------------------------------------------------------------------------
% PERSONAL INFORMATION
% Comment any of the lines below if they are not required
%----------------------------------------------------------------------------------------
\name{James}{Bond}
\mobile{(+01) 234 56789}
\email{test@example.com}
\makecvfooter{\today}{James Bond~~~--~~~Curriculum Vitae}{\thepage}
%----------------------------------------------------------------------------------------
\begin{document}
\makecvheader % Print the header
%----------------------------------------------------------------------------------------
% CV/RESUME CONTENT
% Each section is imported separately, open each file in turn to modify content
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% SECTION TITLE
%----------------------------------------------------------------------------------------
\cvsection{Education}
%----------------------------------------------------------------------------------------
% SECTION CONTENT
%----------------------------------------------------------------------------------------
\begin{cventries}
%------------------------------------------------
\cventry
{Something} % Degree
{Highschool} % Institution
{Springfield} % Location
{2025} % Date(s)
{ % Description(s) bullet points
\begin{cvitems}
\item {Test, Test, Test}
\end{cvitems}
}
\cventry
{Something} % Degree
{Highschool} % Institution
{Springfield} % Location
{2025} % Date(s)
{ % Description(s) bullet points
\begin{cvitems}
\item {Test, Test, Test}
\end{cvitems}
}
\cventry
{Something else} % Degree
{University} % Institution
{Springfield} % Location
{2025} % Date(s)
{ % Description(s) bullet points
\begin{cvitems}
\item {Test, Test, Test}
\item {Test, Test, Test}
\item {Test, Test, Test}
\end{cvitems}
}
\cventry
{Another one} % Degree
{College} % Institution
{Springfield} % Location
{2025} % Date(s)
{ % Description(s) bullet points
\begin{cvitems}
\item {Test, Test, Test}
\end{cvitems}
}
\cventry
{Something} % Degree
{Highschool} % Institution
{Springfield} % Location
{2025} % Date(s)
{ % Description(s) bullet points
\begin{cvitems}
\item {Test, Test, Test}
\end{cvitems}
}
%------------------------------------------------
\end{cventries}
%----------------------------------------------------------------------------------------
% SECTION TITLE
%----------------------------------------------------------------------------------------
\cvsection{Skills}
%----------------------------------------------------------------------------------------
% SECTION CONTENT
%----------------------------------------------------------------------------------------
\begin{cvskills}
%------------------------------------------------
\cvskill
{Programming} % Category
{Python, C/C++, Scala, JAVA, Node.JS, OCaml, LaTeX} % Skills
%------------------------------------------------
\cvskill
{Web} % Category
{Django with Python, Express with Node.JS, HTML5, LESS} % Skills
%------------------------------------------------
\cvskill
{Languages} % Category
{Korean, English, Japanese, Chinese} % Skills
%------------------------------------------------
\end{cvskills}
\cvsection{Skills}
\begin{minipage}[t]{.3\linewidth}
\raggedright
\begin{description}
\item[Programming] Python, C/C++, Scala, JAVA, Node.JS, OCaml, LaTeX
\end{description}
\end{minipage}%
\hfil
\begin{minipage}[t]{.3\linewidth}
\raggedright
\begin{description}
\item[Web] Django with Python, Express with Node.JS, HTML5, LESS
\end{description}
\end{minipage}%
\hfil
\begin{minipage}[t]{.3\linewidth}
\raggedright
\begin{description}
\item[Languages] Korean, English, Japanese, Chinese
\end{description}
\end{minipage}
%----------------------------------------------------------------------------------------
\end{document}
you get the following result (see original skills first, then the new layout for the skills):

I tested the sharelatex edition and found the problem you mentioned in your question.
Seems that the documentclass have been improved from then and it is here:
https://github.com/posquit0/Awesome-CV/blob/master/awesome-cv.cls
(Download and use this file instead)
The result is much better but it still leaves a space at the end of the email that makes the result to seem not perfectly centered. (See carefully below at second picture and compare with my fixed third)
By changing the lines 430-516 to:
\begin{minipage}[c]{\headertextwidth}
\ifthenelse{\equal{#1}{L}}{\raggedright}{\ifthenelse{\equal{#1}{R}}{\raggedleft}{\centering}}
\headerfirstnamestyle{\@firstname}\headerlastnamestyle{{}\acvHeaderNameDelim\@lastname}%
\\[\acvHeaderAfterNameSkip]%
\ifthenelse{\isundefined{\@position}}{}{\headerpositionstyle{\@position\\[\acvHeaderAfterPositionSkip]}}%
\ifthenelse{\isundefined{\@address}}{}{\headeraddressstyle{\@address\\[\acvHeaderAfterAddressSkip]}}%
\headersocialstyle{%
\newbool{isstart}%
\setbool{isstart}{true}%
\def\isntstart{$\;$\setbool{isstart}{false}}%koleygr:Used this command as a macro:
%(for faster and not for better) The idea is that we need a space on start of
% "social" elements because on end it will always be one .
%The maintainer can use better way for the space of cource
\ifthenelse{\isundefined{\@mobile}}%
{}%
{%
\isntstart%
\faMobile\acvHeaderIconSep\@mobile%
}%
\ifthenelse{\isundefined{\@email}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\href{mailto:\@email}{\faEnvelope\acvHeaderIconSep\@email}%
}%
\ifthenelse{\isundefined{\@homepage}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\href{http://\@homepage}{\faHome\acvHeaderIconSep\@homepage}%
}%
\ifthenelse{\isundefined{\@github}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\href{https://github.com/\@github}{\faGithubSquare\acvHeaderIconSep\@github}%
}%
\ifthenelse{\isundefined{\@gitlab}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\href{https://gitlab.com/\@gitlab}{\faGitlab\acvHeaderIconSep\@gitlab}%
}%
\ifthenelse{\isundefined{\@stackoverflowid}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\href{https://stackoverflow.com/users/\@stackoverflowid}{\faStackOverflow\acvHeaderIconSep\@stackoverflowname}%
}%
\ifthenelse{\isundefined{\@linkedin}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\href{https://www.linkedin.com/in/\@linkedin}{\faLinkedinSquare\acvHeaderIconSep\@linkedin}%
}%
\ifthenelse{\isundefined{\@twitter}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\href{https://twitter.com/\@twitter}{\faTwitter\acvHeaderIconSep\@twitter}%
}%
\ifthenelse{\isundefined{\@skype}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\faSkype\acvHeaderIconSep\@skype%
}%
\ifthenelse{\isundefined{\@reddit}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\href{https://www.reddit.com/user/\@reddit}{\faReddit\acvHeaderIconSep\@reddit}%
}%
\ifthenelse{\isundefined{\@xing}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\href{https://www.xing.com/profile/\@xing}{\faXingSquare\acvHeaderIconSep\@xing}
}%
\ifthenelse{\isundefined{\@extrainfo}}%
{}%
{%
\ifbool{isstart}{\isntstart}{\acvHeaderSocialSep}%
\@extrainfo%
}%
} \\[\acvHeaderAfterSocialSkip]%
\ifthenelse{\isundefined{\@quote}}%
{}%
{\headerquotestyle{\@quote\\}\vspace{\acvHeaderAfterQuoteSkip}}%
\end{minipage}%
The result is:

Best Answer
You can define a new environment based on
cvitems
, which I callcvitems*
, that takes as optional argument the number of columns (default 2).The middle
cvitems
environments are to show the spacing.